C语言题库 2.docx
《C语言题库 2.docx》由会员分享,可在线阅读,更多相关《C语言题库 2.docx(19页珍藏版)》请在冰豆网上搜索。
C语言题库2
32.以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。
例如,输入整数5时(注意:
n不得大于10),程序运行结果如下:
ABCDE
FGHI
JKL
MN
O
请填空完成该程序。
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
______;
}
______;
}
}
elseprintf("nistoolarge!
\n");
printf("\n");
}
本题考查的是有关循环的程序分析。
程序中使用了两层for循环,外循环的作用是控制行数,内循环的作用是控制每行的列数,在此循环内第一个空中填入ch++的作用是将输出的字符本身加1,成为欲输出的下一个字符。
第二个空中填入printf("\n")是用来实现换行操作的。
33.若a是int型变量,则下面表达式的值为()
(a=4*5,a*2),a+6
34.下面rotate函数的功能是:
将n行n列的矩阵A转置为A',例如:
|1234|
|5678|
当A=|9101112|
|13141516|
|15913|
|261014|
则A'=|371115|
|481216|
请填空。
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;ifor(j=0;______;j++)
{t=a[i][j];
______;
a[j][i]=t;
}
}
将矩阵转置就是将行列数互换,即第二行第三列的数与第三行第二列的数进行互换。
所以第一个空应当填入j<=i,第二空填入a[i][j]=a[j][i]。
35.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循
环。
请填空。
intn=0,c;
c=getchar();
while(【1】)
{if<【2】)n++;
c=getchar();
}