c语言程序改动

如题所述

第1个回答  2016-05-14
1解决减法中可能出现的小数减大数
2解决除法运算中可能出现的不能整除或被零除
3将main函数代码精简,实现代码模块化设计
4实现当用户选择退出时,输出本次练习的成绩

#includevoid good()

{printf("\(0^◇^0)/");

}

void bad()

{

printf("╭︿︿︿╮");

printf("{/ o o /}");

printf(" ( (oo) )");

printf(" ︶︶︶");

}

int main(int argc, char *argv[])

{ int xz,x1,x2,da,x;

printf(" 菜单\n");

printf("==============\n");

printf("1、加法\n");

printf("2、减法\n");

printf("3、乘法\n");

printf("4、除法\n");

printf("5、退出\n");

printf("==============\n");

printf("请输入你的选择(1-5)\n");

scanf("%d",&xz);

srand(time(NULL));

switch(xz)

{ case 1: x1=rand()%10;

x2=rand()%10;

printf("%d+%d=",x1,x2);

scanf("%d",&da);

if(da==x1+x2)

printf("good");

else

printf("bad");

break;

case 2: x1=rand()%10;

x2=rand()%10;

printf("%d-%d=",x1,x2);

scanf("%d",&da);

if(da==x1-x2)

printf("good");

else

printf("bad");

break;

case 3: x1=rand()%10;

x2=rand()%10;

printf("%d*%d=",x1,x2);

scanf("%d",&da);

if(da==x1*x2)

printf("good");

else

printf("bad");

break;

case 4: x1=rand()%10;

x2=rand()%10;

printf("%d/%d=",x1,x2);

scanf("%d",&da);

if(da==x1/x2)

printf("good");

else

printf("bad");

break;

case 5:exit(0);

}

}

C语言求3-7位数的水仙花数程序改错
你的程序主要问题是pow函数返回的是double类型的数,需要强制转换成long型整数,sum每计算完一个数要重置为0,还有就是输出语句printf函数的变量不需要取地址符.改完的程序如下(见图,改动的地方见注释)

c语言程序怎么修改啊?
两处错误 for(i=0;i<=k;i++,j++) \/\/ i 不应该=k 循环条件应该是 i < k {a[j]='*';a[j]='\\0'; \/\/ 这句不应该出现在循环体内,应该是在循环结束后 }

C语言 输出内容不完整,请问我这个程序哪里错了?
以回车键为结束符,所以你的程序空格后的内容被删除了.但是C语言新标准弃用了gets函数,因为它不检查数组越界,改用了fgets函数.所以你的程序中输入字符中有空格,需要把输入函数scanf换成fgets函数.改正后的程序如下(改动的地方见注释,就一处需要改,见图)...

C语言 求质数 求解程序哪里需要改动?
这是java写的啊,要改成C的,就要把java的输入输出改成scanf和printf,下面是程序,做了点修改,否则结果不对:include<stdio.h> int main(){ int Num;\/\/用户输入的数,最大数 int num;\/\/中间的数 int a = 2;\/\/因式 printf("请输入数字:");scanf("%d",&Num);if (Num < 2){ print...

我哪里错了?求大神告知(下图)
你的C语言程序主要是mian函数拼错了,应该是main,造成的编译错误 改正后的程序(见图,改动地方见注释)

这个c语言的程序,为什么输出的结果是1.000000啊,为什么被自动四舍五...
lambda=100\/55这一句是有问题的,C会自动把你的lambda值默认为整型,因为整型的运算最后会得到整型,所以你应该把它改为lambda=100.0\/55这样100就是浮点型,就是浮点型的运算,得到的结果也是浮点型

c语言纠错。求诸位大大帮我看看这个程序那里错了。为啥不能输入=n=...
1、输入字符串,变量应该是字符数组:char a[10],b[80];2、for (i=0;i;i++),for(j=0;j;j++)循环,一次也不会执行。中间一项是循环继续条件,其值为0,停止循环,其值不为0,继续循环。i,j的第一个值是0,直接退出循环了。读取字符串,用gets函数。这两个循环语句改成:gets(a);...

求c语言代码纠错
程序的末尾少了分号。另外,分母上的“2a”少了括号。include <stdio.h> include <math.h> int main(){ double x1,x2,a,b,c;printf("已知方程ax^2+bx+c=0,请输入a,b,c\\n");scanf("%lf%lf%lf",&a,&b,&c);printf("方程为ax^2+bx+c=0\\n"); \/\/有改动 if (b*b-4....

一道简单的C语言程序,用来输出3个学生4门成绩的平均分。自己编的,可...
void average(float *p,int n); 的参数是一个指针,但是你却average(a,12) 给传了一个二级指针,你的程序应该是段错误。要注意二维数组跟指针的关系。 先弄好一维数组作为参数传递的程序,再学习二位数组与二级指针。楼上的,你改好了有什么用,只能算出一个学生的成绩。也不说说人家程序的根本...

江湖告急!!!坐等答案——C语言设计——要求改正程序中的错误,不要改动...
在不改变你函数的功能的功能的前提下,建议你做如下修改:double fun (int n){ double t;if ( n==0 ){ return(1.0);} else { t=fun(n-1)+n;return t;} }

相似回答