1、上机题解11-1. 编程,输入n,输出如下例(n=5)所示的图形: * * * * * 分析:图形第i行由n-i个空格和n个*号组成(i=1,2,n): main() /* sj1-1-1 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=n;j+) printf(”*”); printf(“n”); 1-2. 编程,输入n,输出如下例(n=5)所示的图形: * * * * 分析:图形第i行由i-1个空格和n个*号组成(i=1,2,n): main() /* sj1-1-2
2、 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=i-1;j+) printf(” ”); for(j=1;j=n;j+) printf(”*”); printf(“n”); 1-3. 编程,输入n值,输出如下例(n=4)所示的图形: * * * * 分析:图形第i行由n-i个空格和2i-1个*号组成(i=1,2,n): main() /* sj1-1-3 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=1;i
3、-) for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=2*i-1;j+) printf(”*”); printf(“n”); 1-5. 编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形: * * * * 分析:图形第i行由n-i个空格和(2i-1)+(n-1)个*号组成(i=1,2,n)。 main()/* sj1-1-5 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=1;i-) for(j=1;j=n-i;j+) p
4、rintf(” ”); for(j=1;j=2*i-1+(n-1);j+) printf(”*”); printf(“n”); 1-7. 编程,输入n,输出如下例(n=3)所示的边长为n的菱形: * * * * * 分析:图形上半部分第i行由n-i个空格和2*i-1个*组成。图形下半部分与上半部分对称,n+i行与n-i行一样。 main()/* sj1-1-7 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) /* 输出图形的上半部分(含中心行) */ for(j=1;jn-i) printf(”*”); else printf(” ”); printf
5、(“n”); for(i=n-1;i=1;i-) /* 输出图形的下半部分(不含中心行) */ for(j=1;jn-i) printf(”*”); else printf(” ”); printf(“n”); 1-8. 编程,输入n值,输出如下例(n=4)所示的边长均为n的正六边形: * * * * * * 分析:图形上半部分第i行由n-i个空格和(2i-1)+(n-1)个*号组成(i=1,2,n)。图形下半部分与上半部分对称,n+i行与n-i行一样。 main()/* sj1-1-8 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) /* 输出图形的
6、上半部分(含中心行) */ for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=1;i-) /* 输出图形的下半部分(不含中心行) */ for(j=1;j=n-i;j+) printf(” ”); for(j=1;j=2*i-1+(n-1);j+) printf(”*”); printf(“n”); 1-9. 编程,输入n值,输出如下例(n=4)所示的图形: * * *分析:图形第1、n行上有n个*。其它第i行(i=2,3,.,n-1)由n-i个空格和一个*组成。即n-i+1列为*,其余为空格。 main()/* sj1-1-9 */ int i,j,n;sca
7、nf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n;j+) if(j=n-i+1 | i=1 | i=n) printf(”*”); else printf(” ”); printf(“n”); 1-10. 编程,输入n值,输出如下例(n=4)所示的图形: * * * *分析:图形第1、n行上有n个*。其它第i行(i=2,3,.,n-1)由i-1个空格和一个*组成。即i列为*,其余为空格。 main()/* sj1-1-10 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n;j+) if(j=i |
8、i=1 | i=n) printf(”*”); else printf(” ”); printf(“n”); 1-11. 编程,输入n值,输出如下例(n=5)所示的图形: * * * * * * * * 分析:图形第i行由n-i个空格和n个符号组成,n个符号中第1行和第n行为n个*号,其他行的n个符号除了第n-i+1列和第n-i+n列为*号(i=2,n-1)外,其余为空格。 main()/* sj1-1-11 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”); for(j=n-i+1;j=n-i
9、+n;j+) if(j= n-i+1 |j= n-i+n|i=1 | i=n) printf(”*”); else printf(” ”); printf(“n”); 1-12. 编程,输入n值,输出如下例(n=5)所示的图形: * * * * * * * 分析:图形第i行由i-1个空格和n个符号组成,n个符号中第1行和第n行为n个*号,其他行的n个符号除了第i列和第i+n-1列为*号外,其余为空格(i=2,n-1)。: main()/* sj1-1-12 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=i-1;j+) printf
10、(” ”); for(j=i;j=i+n-1;j+) if(j= i |j= i+n-1|i=1 | i=n) printf(”*”); else printf(” ”); printf(“n”); 1-13. 编程,输入n值,输出如下例(n=4)所示的图形: * * * * * * 分析:图形第i行由n-i个空格和2i-1个符号组成,2i-1个符号第n行全为*号,其他行的2i-1个符号除了第n-i+1列和第n-i+2i-1列为*号(i=2,n-1)外,其余为空格。 main()/* sj1-1-13 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) f
11、or(j=1;j= n-i;j+) printf(” ”); for(j= n-i+1;j=1;i-) for(j=1;j= n-i;j+) printf(” ”);for(j= n-i+1;j= n-i+2*i-1;j+) if(j= n-i+1 |j= n-i+2*i-1|i=n ) printf(”*”); else printf(” ”); printf(“n”); 1-15. 编程,输入n值,输出如下例(n=4)所示的高和上底均为n的等腰梯形: * * * * * * 分析:图形第i行由n-i个空格和2i-1+n-1个符号组成(i=1,n),2i-1+n-1个符号中第1行和第n行全为
12、*号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为*号(i=2,n-1)外,其余为空格。 main()/* sj1-1-15 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”);for(j=n-i+1;j=1;i-) for(j=1;j=n-i;j+) printf(” ”);for(j= n-i+1;j=n-i+2*i-1+n-1;j+) if(j= n-i+1 |j= n-i+2*i-1+n-1|i=1 | i=n) printf(”*”); else pr
13、intf(” ”); printf(“n”); 1-17. 编程,输入n值,输出下例(n=3)所示的边长为n的菱形: * * * * * * * * 分析:图形上半部分第i行由n-i个空格和2i-1个符号组成(i=1,n),2i-1个符号中,除了第n-i+1列和第n-i+2i-1列为*号(i=2,n-1)外,其余为空格。图形下半部分第n+i行与上半部分第n-i行相同(i=1,n-1). main()/* sj1-1-17 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) /* 图形上半部分 */ for(j=1;j=1;i-) /* 图形下半部分 */
14、for(j=1;j=n-i+2*i-1;j+) if(j= n-i+1 |j= n-i+2*i-1) printf(”*”); else printf(” ”); printf(“n”); 1-18. 编程,输入n值,输出下例(n=4)所示的边长为n的正六边形: * * * * * * * * * * * 分析:图形上半部分第i行由n-i个空格和2i-1+n-1个符号组成(i=1,n),2i-1+n-1个符号中第1行全为*号,其他行的2i-1+n-1个符号除了第n-i+1列和第n-i+2i-1+n-1列为*号(i=2,n-1)外,其余为空格。图形下半部分第n+i行与图形上半部分第n-i行相同(
15、i=1,n-1)。 main()/* sj1-1-18 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=n-i;j+) printf(” ”);for(j=n-i+1;j=1;i-) for(j=1;j=n-i;j+) printf(” ”);for(j= n-i+1;j= n-i+2*i-1+n-1;j+) if(j= n-i+1 |j= n-i+2*i-1+n-1|i=1) printf(”*”); else printf(” ”); printf(“n”); 1-19. 编程,输入n值,输出下例(n=5)所示的高为n的图形:
16、* * * * * * * * 分析:图形第i行由2n-1个符号组成,其中第i+1列至第2n-1-i列为空格其余为*(i=1,2,n)。 main()/* sj1-1-19 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j= i+1 &j=1;i-) for(j=1;j= i+1 &j= 2*n-1-i) printf(” ”); else printf(”*”); printf(“n”); 1-21. 编程,输入n值,输出下例(n=3)所示的图形: * * * * * * * * *分析:图形第i(i=1,2,2n-1)行对角线(i
17、=j和i+j=2n)上为*,其余为空格。 main()/* sj1-1-21 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=2*n-1;i+) for(j=1;j=2*n-1;j+) if(j=i|i+j=2*n) printf(”*”); else printf(” ”); printf(“n”); 1-22. 编程,输入n值,输出下例(n=3)所示的图形: * * * * * * *分析:图形第i(i=1,2,n)行对角线(i=j和i+j=2n)上为*,其余为空格。第n+1,n+2,2n-1行的第n列为*,其余为空格。 main()/* sj1-1-22 *
18、/ int i,j,n;scanf(“%d”,&n); for(i=1;i=2*n-1;i+) for(j=1;j=2*n-1;j+) if(i=n) if(j=i|i+j=2*n) printf(*); else printf( ); else if(j=n) printf(*); else printf( ); printf(“n”); 1-23. 编程,输入n值,输出下例(n=4)所示的图形: * * * * * * * * * * * *分析:图形上半部分第1列和第n-i+1列为*,其余为空格。图形下半部分与上半部分对称,n+i行与n-i行相同。 main()/* sj1-1-23 *
19、/ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) /* 输出图形的上半部分(含中心行) */ for(j=1;j=1;i-) /* 输出图形的下半部分(不含中心行) */ for(j=1;j=n-i+1;j+) if(j=1 | j= n-i+1) printf(”* ”); else printf(” ”); printf(“n”); 1-24. 编程,输入n值,输出下例(n=5)所示的图形: * * * * * * * * * * * *分析:图形第i行的第1、n列和i列为 *,其余为空格。 main()/* sj1-1-24 */ int i,j,n
20、;scanf(“%d”,&n);for(i=1;i=n;i+) for(j=1;j=n;j+) if(j=1 | j=i | j=n) printf(”*”); else printf(” ”); printf(“n”); 1-25. 编程,输入n值,输出下例(n=5)所示的图形: * * * * * * * * 分析:图形第i(i=1,2,n)行对角线(i=j和i+j=2n)上为*,其余为空格。 main()/* sj1-1-25 */ int i,j,n;scanf(“%d”,&n); for(i=1;i=n;i+) for(j=1;j=1;i-) for(j=1;j=2*n-1;j+) if(j=i|i+j=2*n) printf(”*”); else printf(” ”); printf(“n”); 1-27. 编程,打印下列上三角形式的乘法九九表。 1 2 3 4 5 6 7 8 9 - 1 2 3 4 5 6 7 8 9 4 6 8 10 12 14 16 18 9 14 15 18 21 24 27 16 20 24 28 32 36 25 30 3
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1