vlambda博客
学习文章列表

C语言程序改错(六)

(二十六)功能:一个已排好序的一维数组,输入一个数number,要求按原来

      排序的规律将它插入数组中.

#include "stdio.h"

main( )

{

  inta[11]={1,4,6,9,13,16,19,28,40,100};

  int temp1,temp2,number,end,i,j;

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

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

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

  printf("\n");

 scanf("%d",&number);

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

  end=a[10];

  if(number>end)

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

    a[11]=number;

  else

  {

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

    {

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

      if(a[i]<number)

      {

        temp1=a[i];

        a[i]=number;

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

        {

          temp2=a[j];

          a[j]=temp1;

          temp1=temp2;

        }

        break;

      }

    }

  }

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

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

}

【改错1   

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

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

【改错2   

end=a[9];

【改错3   

a[10]=number;

【改错4   

if(a[i]>number)

 

 

(二十七)功能:编写一个程序模拟袖珍计算器的加、减、乘、除四则运算。

例如:输入3+5=或52=或3*4=或4/2=,求表达式结果。

#include "stdio.h"

main()

{

  float x,y;

  char operate1;

  printf("Arithmeticexpression\n");

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

  scanf("%f",x);

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

 while((operate1==getchar())!='=')

  {

    printf("result=");

    scanf("%f",&y);

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

    switch(y)

    {

      case '+':

               x+=y;

               break;

     case '-':

               x-=y;

               break;

     case '*':

               x*=y;

               break;

     case '/':

               x/=y;

               break;

    }

  }

  printf("%f",x);

  return;

}

【改错1   

scanf("%f",&x);

【改错2

while((operate1=getchar())!='=')

【改错3   

switch(operate1)

 

(二十八)功能:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同

      学用A表示,60-89分之间的用B表示,60分以下的用C表示。

#include "stdio.h"

main()

{

  int score;

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

  char *grade;

  printf("please input ascore\n");

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

  scanf("%d",score);

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

 grade=score>=90?'A',(score>=60?'B':'C');

  printf("%d belongs to%c",score,grade);

}

【改错1   

char grade;

【改错2   

scanf("%d",&score);

【改错3   

grade=score>=90?'A':(score>=60?'B':'C');

grade=(score>=90?'A':(score>=60?'B':'C'));