c语言怎么做算术问题(我想了很久都不会 大家高手请帮我)
来自: 更新日期:早些时候
C语言算术的问题~
除法要考虑小数.
-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语言怎么做算术问题(我想了很久都不会 大家高手请帮我)视频
相关评论:
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语言怎么做算术问题(我想了很久都不会 大家高手请帮我)视频
相关评论: