c语言上机改错题
Ⅰ 一道c语言上机改错题
#include <conio.h>
#include <stdio.h>
#define N 20
/***********************found*************************/
void fun (int *a,int n)
{
int I,m,t,k;
for(I=0;I<n;I++)
/**********************found**************************/
{m=0; //加括号
for(k=I+1;k<n;k++)
if(a[k]>a[m])
m=k;
t=a[I];
a[I]=a[m];
a[m]=t;
}
}
main()
{
int b[N]={11,5,12,0,3,6,9,7,10,8};
int n=10,i;
for(i=0;i<n;i++)
printf("%d",b[i]); //*************************printf
printf("\n"); //printf*************************)
}
Ⅱ C语言改错题 求讲解
void fun(double a,b,double x,y)
改成 void fun(double a,doubleb,double* x,double* y)
Ⅲ 一道C语言上机改错题
错误不是double,float的问题,是你在函数定义的时候根本没有返回值,在函数体中却有return s语句
return s后面缺“;”
Ⅳ C语言程序改错题
修改后的C程序如下:
#include <stdio.h>
int main()
{
int x, y, r1, r2;
scanf("%d%d", &x, &y);
if(x == 0 || y == 0)
{
printf("input error
");
}
else
{
if(x > y)
{
r1 = x / y;
r2 = x % y;
}
else
{
r1 = y / x;
r2 = y % x;
}
}
printf("商=%d,余数=%d
", r1, r2);
return 0;//这条语句不能少
}
运行测试:

Ⅳ c语言改错题
这个c语言问题原因是旧C编译器中,要求函数max必须先声明才能定义和使用,可是在上文先使用max函数而在下文才定义,就和先使用变量再定义一样会报错error。
原代码在新编译器中是可以用的,但是会报警告warning

#include <stdio.h>
int max(int x,int y);
void main()
{
int a,b,c;
scanf("%d,%d",&a ,&b);
c=max(a,b);
printf("max=%d ",c);
}
int max(x,y)
int x,y;
{int z;
z=y;
if(x>9) z=x;
return (z);
}
Ⅵ c语言上机 改错
#include <stdio.h>
double fun( int m )
{
double t = 1.0;
int i;
for( i = 2; i <= m; i++ )
/**********found**********/
t += 1.0/k;//////t+=1.0/m
/**********found**********/
return t;
}
main()
{
int m;
printf( "\nPlease enter 1 integer number:" );
scanf( "%d", &m );
printf( "\nThe result is %lf\n", fun( m ) );
}
Ⅶ 求解一道C语言改错题
#include<stdio.h>
structbook
{
floatprice;//价格
charname[20];//名字
};
intmain(void)
{
structbookmyBook={5.6,"theworldisflat"};
printf("bookname=%s,bookprice=%f",myBook.name,myBook.price);
return0;
}

Ⅷ C语言程序改错题
答:改错如下所示,在程序错误部分有提示。
#include <stdio.h>
int main (void){
int a,b,c,max;//第一处错误,max定义未使用,t未定义却使用了。有两种解决办法,将下面t出现的地方用max代替,或者重新定义t,取消对max的定义。
printf (""请输入3个整数: ");
scanf ("%d%d%d" , &a ,&b,&c);
if (a<b);//第二处错误,if语句后有对应的操作,不能出现分号,否则会变成空语句,对应的操作也不会执行。此处删除分号,即可。
{t=a; a=b; b=t; }//第三处错误,t未定义,建议替换成max
。
if (a<c)
{t
=a; c=a
; c=t; }//第四处错误,t未定义,还有第二个语句应改为a=c
。
if(b>c)//第五处错误,按降序排序,判断条件应改成b<c
。
{ t
=b; b=c; c=t
;}//第六处错误,t未定义,建议用max替换。
printf("由大到小顺序为:%d %d %d " ,a,b,c);
return 0;
}
Ⅸ c语言程序改错题
主函数中有错误。
第14行调用aver函数是,第三个参数在函数定义中是指针变量,而你在调用的时候却给了一个整型变量count;
所以需要将count改为指针型并申请空间。
main()
{
int x[]={0,12,33,-9,-5,27,80,0,54,63};
int* count=new int;//(如果不支持C++,需要用malloc函数分配)
double av;
av=aver(x,10,count);
printf("count: %d\naverage: %.2f\n",count,av);
}
运行结果是
count: 3671976
average: 25.00
Ⅹ C语言,上机改错,求大神
Main应该是main,而且还有返回值类型和括号,可以写成voidmain()。但是这种格式对于某些编译器还是会产生警告。
c=4.0后应该有一个“;”printf函数后面也是
voidmain()
{
floata,b,c,v;
a=2.0;b=3.0;c=4.0;
v=a*b*c;
printf("%f ",v);
}
对于一些较新的编译器,建议使用这种方式:
intmain()
{
floata,b,c,v;
a=2.0;b=3.0;c=4.0;
v=a*b*c;
printf("%f ",v);
return0;
}
