请教各位学霸这道c语言题该怎么理解?为什么结果是9876 876呢?非常感谢!(C语言编程题,急,非常感谢)
C语言编程题,急,非常感谢
第一题
main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!...+20!=%e\n",s);
}
第2题
main()
{
int i,j,k,n;
printf("'water flower'number is:");
for(n=100;n<1000;n++)
{
i=n/100;/*分解出百位*/
j=n/10%10;/*分解出十位*/
k=n%10;/*分解出个位*/
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
{
printf("%-5d",n);
}
}
printf("\n");
}
第三题
main()
{
int n,t,number=20;
float a=2,b=1,s=0;
for(n=1;n<=number;n++)
{
s=s+a/b;
t=a;a=a+b;b=t;
}
printf("sum is %9.6f\n",s);
}
第四题
#include "stdio.h"
main()
{
int i,j,result;
printf("\n");
for (i=1;i<10;i++)
{ for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/
}
printf("\n");/*每一行后换行*/
}
}
请给我详细讲一下这个C语言程序,非常感谢
int a=15, b=10, c=20, d;
d = a > 12 ? b : c;//如果a>12成立d=b,否则d=c
switch(d)
{
case 5://如果d==5
printf("%d,", a);//输出a的值
case 10://如果d==10
printf("%d,", b);//输出b的值
case 20://如果d==20
printf("%d,", c);//输出c的值
default://以上都不成立的话
printf("#\n");//输出#回车
}
C语言编程题 循环结构,非常感谢~
#include<stdio.h>
int main() {
int n,i;
double sum=0,item=1;
scanf("%d",&n);/*读入n*/
for(i=0; i<=n-1; i++) {/*循环n次*
item/=i+1;/*计算每一项的值,第一项为1,第二项为1/2,第三项为1/2/3,依次类推*/
sum+=item;/*求和*/
}
printf("sn=%f",sum);/*输出sum*/
}
求救一道C语言的题目,求详细解答过程!非常感谢!!
1.int i;int f[20]={1,1};
程序定义了一个变量i和一个长度为20的整型一维数组并把数组的前两个值均初始化为1后面初始化为0
2.for(i=2;i<20;i++) f[i]=f[i-2]+f[i-1];
在i从2到20每次自增1的循环过程中,其实就是在给数组第3个数(数组下标从0开始,所以循环从2开始)到第20个数赋值的过程。数组从第3个数开始,每一个数等于其前两个数的和。
3.for(i=0;i<20;i++)
在i从0到20每次自增1的循环过程中,打印数组。%12表示的是每次占12个字符的位置,if(i%5==0)printf("\n");表示当i自增到5的整数倍时换行,以便可以打出每5个数一行的效果。
4.最后再打印一个换行。