c语言怎么做算术问题(我想了很久都不会 大家高手请帮我)

来自:    更新日期:早些时候
C语言算术的问题~

2,这个循环把所有的数字都变成2了。

额……楼主数学不过关啊。。。
1除以5,商数是0,余数为1。。。

改了一点点.
除法要考虑小数.
-1 结束条件 要改掉,否则减法得-1要处理.
出题涵数部分要进一步完善,使题目有深浅.

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <time.h>

double f(double a, double b, int task)
{
double x;

if (task > 4 ) task = rand()%5;
if (task < 1) task = 1;
if (task == 1) printf("How much is %.0lf + %.0lf?\n",a,b);
if (task == 2) printf("How much is %.0lf - %.0lf?\n",a,b);
if (task == 3) printf("How much is %.0lf * %.0lf?\n",a,b);
if (task == 4) printf("How much is %.0lf / %.0lf?\n",a,b);
switch(task)
{
case 1: x = a + b; return x; break;
case 2: x = a - b; return x; break;
case 3: x = a * b; return x; break;
case 4: x = a / b; return x; break;
default: x = a + b; return x;
}
}

int main()
{
int n=0,a,b,task;
double x;
srand(time(NULL));
printf("chose task 1,2,3,4,5:\n");
scanf("%d",&task);

a=rand()%9+1,b=rand()%9+1;
while( n!=-1 ){
x = f(a,b,task);
printf("-1 end\n");
// printf("输入答案(-1结束): ");

scanf("%d",&n);
fflush(stdin);
if( fabs (n - x) < 0.001 ){
printf("Very good!\n\n");
a=rand()%9+1;
b=rand()%9+1;
}
else{
if(n!=-1)
printf("NO,Please try again!\n\n");
}
}
system("pause");
return 0;
}

很简单,加入switch判断,典型的菜单.
int a ;
scanf("%d",a);
switch(a)
{
case 1://加
case 2://减
case 3://乘
case 4://除
}

用switch(表达式)
{
case 常量表达式1:
语句1;
break;

case 常量表达式2:
语句2;
break;

……
case 常量表达式n:
语句n;
break;

default:
语句n+1;
break;
}
这个语句绝对可以搞定……


c语言怎么做算术问题(我想了很久都不会 大家高手请帮我)视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网