C语言编程题目?

题目:编程实现,已知数列{An},a1=2,an=2an-1-1 (n>1),求数列{An}的前20项,并以每行5个数输出。

//不难,下面是一个例子,供参考一下

#include<stdio.h>

int main()

{

int i,a1=2;

//先输出a1

printf("%d ",a1);

//还需循环19次

for(i=2;i<21;i++)

{

//计算下一项

a1=2*a1-1;

//输出本项

printf("%d",a1);

//每输出5个就换行

if(i%5==0)

printf("\n");

//否则,以一个空格进行分隔

else

printf(" ");

}

return 0;

}

输出结果

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-04-13
答案是D,
char
ch要用来接收一个字符,而不是字符串,所以A被排除
函数的返回值类型是void,就是说没有返回值,B项不合要求,排除
C项中'65'是一个不合法的字符,如果不是转义字符的话单引号里不能有多于一个的字符,而'65'里有两个了,不合法,排除
D项是可以的,第一个32是直接向char型变量里赋ASCII值,就是把一个空格放到ch中,是合法的,第二个32是可以放进float型变量里的,小数部分因为没有,所以用0补了
第2个回答  2020-04-11
int
k=0;
第一种:k++
//
k的值不变,然后再加;
第二种:k+=1//
等价于k=k+1;
第三种:++1//
每次在赋予的值中加1,一般应用于循环语句中。
第四种:k+1//
这种就等于所定义的值加1就可以了。
第3个回答  2020-05-03
++1没有意义是错误的,自加自减,不能用于常量上面,应该是++K,如果就k值的最终结果来说,k+1与其他三个不同,因为其他的三个都对k进行了运算最后k的值为1,而最后一个只是做了整体的运算没有对k的值改变,所以与其他三个不同
第4个回答  2020-04-16
接1楼的解释:++
就是自增!k++
就是把
k的值增加1然后赋给k

k+1
是计算出当前的值!并没有执行赋值操作,所以k+1
k值没有变化!
k+=1
+=
一看就知道
将+1后的值=k!
++k
同k++
是一样的!~