C语言 循环控制 习题请教
来源:百度知道 编辑:UC知道 时间:2024/06/04 04:34:29
下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,请选择填空。
#include <stdio.h>
main()
{
int a,d,i,s,f,x; /* a是第一项 */
for(a=1;a<30;a++)
for(d=1; 【1】;d++)
{
s=0; f=1; x=a;
for(i=1;i<=4;i++)
{
s=s+x;
f=f*x;
x=x+d;
}
if(s==26&&f==880)
for(i=0;i<10;i++)
printf(“%3d”, 【2】);
}
printf(“\n”);
}
【1】A)d<=a B)空 C)d<=5 D)d<
#include <stdio.h>
main()
{
int a,d,i,s,f,x; /* a是第一项 */
for(a=1;a<30;a++)
for(d=1; 【1】;d++)
{
s=0; f=1; x=a;
for(i=1;i<=4;i++)
{
s=s+x;
f=f*x;
x=x+d;
}
if(s==26&&f==880)
for(i=0;i<10;i++)
printf(“%3d”, 【2】);
}
printf(“\n”);
}
【1】A)d<=a B)空 C)d<=5 D)d<
第1个选C
第2个选A
简单的说明:
几个变量中,d就是等差数列的级差,它最大不可能超过5,因为前四项和为26。而s则是和,f是积,x是数列的每一个数。
后面就是一个循环输出的过程了。