问题 单项选择题

下面程序的功能是输出以下形式的金字塔图案:
*
***
*****
*******
main()
int i,j;
for(i=1;i<=4;i++)
for(j=1;j<=4-i;j++)printf(" ");
for(j=1;j<=( );j++)printf("*");
printf("\n");


在下划线处应填入的是( )。

A.i

B.2*-1

C.2*i+1

D.i+2

答案

参考答案:B

解析: 观察可知图形共4行,主函数中通过一个for5循环循环4次,输出4行。第1行输出3个空格和1个*,第2行输出 2个空格和3个*,第3行输出1个空格和5个*,第4行输出7个*,主函数中通过第2个循环控制每行的输出空格数,第3个for循环控制输出*的个数,总结规律:每行输出*的个数,总比前一行的多2个,且第1行的个数为1,可以断定每行输出*的个数组成了一个公差为2的等差数列,所以每行输出。的个数即该等差数列的通项,故该空白处应该填写2*i-1,所以,4个选项中选项B符合题意。

阅读理解
多项选择题