2、
3、i==j
4、
5、j==(-i+2*n-2))printf("*");elseprintf("");}printf("");}}19.空心字符菱形成绩:5
6、/折扣:0.8输入:菱型起始字母和菱形的高度。输出:参看测试用例,打印空心的由字符组成的菱形。#includemain(){intn,i,j;chara;scanf("%c%d",&a,&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++){if(j==n-i+1
7、
8、j==n+i-1)printf("%c",a+i-1);elseprintf("");}printf("");}for(i=n+1;i<=2*n-1;i++){for(j=1;j<=3*n-
9、i-1;j++){if(j==i-n+1
10、
11、j==3*n-i-1)printf("%c",a+2*n-1-i);elseprintf("");}printf("");}}20.空心梯形成绩:5/折扣:0.8输入行数n和首数字字符,在屏幕上输出由数字围起的高和下底宽度均n的空心梯形。要求:输出的数字是循环的,即输出数字9后再输出的数字是0。输入:行数n和首字符输出:空心梯形#include#includeinta[50][150];intn,m;voidf(inti,
12、intm){if(i==(3*n-1)/2&&(3*n-2)%2==1){printf("%d",m);a[n][i]=m;return;}if(i==(3*n-2)/2&&(3*n-2)%2==0){printf("%d%d",m,m);a[n][i]=m;a[n][3*n-1-i]=m;return;}if(i>=n){a[n][i]=m;a[n][3*n-1-i]=m;}else{a[i][i]=m;a[i][3*n-1-i]=m;}printf("%d",m);f(i+1,(m+1)%10);pri
13、ntf("%d",m);return;}intmain(void){for(inti=1;i<=50;i++)for(intj=1;j<=150;j++)a[i][j]=-1;scanf("%d%d",&n,&m);f(1,m);printf("");for(inti=2;i<=n;i++){for(intj=1;j<=3*n-2-i;j++)if(a[i][j]!=-1)printf("%d",a[i][j]);elseprintf("");printf("%d",a[i][3*n-1-i]);}
14、return0;}25.输出字母围起的正方形成绩:10/折扣:0.8输入N*N图形正方形的边长N,图形左上角的字母,输出由字母围成的空心正方形。输出的字母是顺时针连续的,且是循环的,即输出字母'Z'后输出字母"A"。注意在两个字母之间有一个空格。例如输入:6M输出如下图形:MNOPQRFSETDUCVBAZYXW#includemain(){intn,i,j;chars,a,b,c,d;scanf("%d%c",&n,&s);if(n==1)printf("%c",s);else{pr
15、intf("%c",s);a=s+1;if(a>'Z')a='A';for(i=1;i'Z')a='A';}printf("");b=a;c=s+(4*n-4-1)%26;if(c>'Z')c=c-'Z'-1+'A';for(i=1;i<=n-2;i++){printf("%c",c);c--;if(c<'A')c='Z';for(j=1;j<=n-2;j++)printf("");printf("%c",b);b++;if(b>'Z')b
16、='A';printf("");}d=c;printf("%c",d);for(i=1;i