问题
单项选择题
下面程序的功能是输出以下形式的金字塔图案:
*
* * *
* * * * *
* * * * * * *
main()
int i,j;
for(i=1;i<=4;i++)
ror(j=1;j<=4-i;j++)printf("");
for(j=1;j<=______;j++)printf("*");
printf("\n");
在下划线处应填入的是
A.i
B.2*i-1
C.2*i+1
D.i+2
答案
参考答案:B
解析:通过观察可知图形共4行,主函数中通过一个for循环四次,输出4行。第一行输出3个空格和1个“*”,第2行输出2个空格和3个“*”,第3行输出3个空格和5个“*”,第四行输出7个“*”,主函数中通过第二个循环控制每行的输出空格数,第三个for循环控制输出的“*”的个数,总结规律:每行输出的“*”的个数,总比前一行的多2个,且第一行的个数为1,可以断定每行输出的“*”的个数组成了一个公差为2的等差数列,所以每行输出“*”的个数即该等差数列的通项,故该空格处应该填写2*i-1。