vlambda博客
学习文章列表

C语言程序改错(三)





十一功能110的阶乘的和。

#include "stdio.h"

main()

{

 int i;

 float t,s=0;

 float fac(int n);

 /**********ERROR**********/

 for(i=1;i<10;i++)

    /**********ERROR**********/

    s=fac(i);

 printf("%f\n",s);

}

float fac(int n)

{

/**********ERROR**********/

 int  y=1;

 int i;

 for(i=1 ;i<=n;i++)

    y=y*i;

 /**********ERROR**********/

 return;

}

 

【参考答案】

for(i=1;i<=10;i++)

for(i=1;10>=i;i++)

for(i=1;i<11;i++)

for(i=1;11>i;i++)

【参考答案】

s=s+fac(i);

s+=fac(i);

s=fac(i)+s;

【参考答案】

float y=1.0;

float y=1;

十二

功能打印出杨辉三角形要求打印出10).

#include "stdio.h"

main()

{

 int i,j;

 int a[10][10];

 printf("\n");

 /**********ERROR**********/

 for(i=1;i<10;i++)

 {

    a[i][0]=1;

    a[i][i]=1;

 }

 

 for(i=1;i<10;i++)

  /**********ERROR**********/

     for(j=1;j<10;j++)

      /**********ERROR**********/

      a[i][i]=a[i-1][j-1]+a[i-1][j];

 for(i=0;i<10;i++)

 {

    for(j=0;j<=i;j++)

      printf("%5d",a[i][j]);

    printf("\n");

  }

}

【参考答案】

for(i=0;i<10;i++)

for(i=0;i<=9;i++)

【参考答案】

for(j=1;j<i;j++)

【参考答案】

a[i][j]=a[i-1][j-1]+a[i-1][j];

十三功能编写函数fun20以内所有5的倍数之积。

#define N 20

#include "stdio.h"

main()

{

 int sum;

 sum=fun(5);

 printf("%d以内所有%d的倍数之积为:%d\n",N,5,sum);

 

}

 

int fun(int m)

{

 /**********ERROR**********/

 int s=0,i;

 for(i=1;i<N;i++)

    /**********ERROR**********/

    if(i%m=0)

      /**********ERROR**********/

      s=*i;

 return s;

}

【参考答案】

int s=1,i;

【参考答案】

if(i%m==0)

【参考答案】

s=s*i

s=i*s

s*=i

十四功能从键盘输入十个学生的成绩统计最高分最低分和平均分。

      max代表最高分,min代表最低分,avg代表平均分。

 

#include "stdio.h"

main( )

{

 int i;

 /***********ERROR***********/

 float a[8],min,max,avg;

 printf("input 10 score:");

 for(i=0;i<=9;i++)

 {

    printf("input a score ofstudent:");

    /***********ERROR***********/

    scanf("%f",a);

 }

 /***********ERROR***********/

 max=min=avg=a[1];

 for(i=1;i<=9;i++)

 {

    /***********ERROR***********/

    if(min<a[i]) 

      min=a[i];

    if(max<a[i])

      max=a[i];

    avg=avg+a[i];

 }

 avg=avg/10;

 printf("max:%f\nmin:%f\navg:%f\n",max,min,avg);

}

【参考答案】

floata[10],min,max,avg;

【参考答案】

scanf("%f",&a[i]);

scanf("%f",a+i);

【参考答案】

max=min=avg=a[0];

【参考答案】

if (min>a[i])

if (a[i]<min)

十五功能编写函数fun计算下列分段函数的值

             x*20      x<0x≠-3

       f(x)= sin(x)     0≤x<10x≠2x≠3

             x*x+x-1      其它

#include "math.h"

#include "stdio.h"

 

float fun(float x)

{

 /**********ERROR**********/

 float y

 /**********ERROR**********/

 if (x<0 || x!=-3.0)

     y=x*20;

 else if(x>=0 && x<10.0 && x!=2.0 &&x!=3.0)

     y=sin(x);

 else y=x*x+x-1;

 /**********ERROR**********/

 return x;

}

 

main()

{

 float x,f;

 printf("Input x=");

 scanf("%f",&x);

 f=fun(x);

 printf("x=%f,f(x)=%f\n",x,f);

}

 

【参考答案】

float y;

【参考答案】

if (x<0&& x!=-3.0)

【参考答案】

return y;