1. 首页 > 科技

请教各位学霸这道c语言题该怎么理解?为什么结果是9876 876呢?非常感谢!(C语言编程题,急,非常感谢)

请教各位学霸这道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.最后再打印一个换行。