解题思路:
每一行头两个数的差为i+2,i为行数(从0开始),然后差值逐渐+1;每行头一个数等于前一行头一个数+i;
注意事项:
每行末尾不要有多于空格
参考代码:
#include<stdio.h> #include<string.h> int main() { int N,i,j,first,sp,num; //first标志每行第一个数字,sp表示每列的间隔 scanf("%d",&N); first=1; for(i=0;i<N;i++) { sp=i+2; first+=i; num=first; for(j=0;j<N-1-i;j++) //注意输出每行倒数第二个就好,因为题目说每行末尾不要有多于空格 { printf("%d ",num); num+=sp; sp++; } printf("%d\n",num); } return 0; }
0.0分
0 人评分
C二级辅导-统计字符 (C语言代码)浏览:577 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:549 |
Biggest Number (C++代码)回溯法浏览:1679 |
矩形面积交 (Java代码)浏览:1281 |
【亲和数】 (C语言代码)浏览:588 |
输出正反三角形 (C语言代码)浏览:859 |
C语言程序设计教程(第三版)课后习题10.7 (C语言代码)浏览:568 |
WU-整除问题 (C++代码)浏览:648 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:804 |
输入输出格式练习 (C语言代码)浏览:883 |