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=或5-2=或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'));