问题 单项选择题

下面程序的功能是输出以下形式的金字塔图案:
*
* * *
* * * * *
* * * * * * *
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。

单项选择题
填空题