用简单的c语言编写四则运算题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用简单的c语言编写四则运算题相关的知识,希望对你有一定的参考价值。

由电脑生成简单的四则运算题,用户给出答案,计算机判断对错,知道用户回答说不再继续做了时结束程序
可以让用户选择指定出加减乘除哪一种运算,以及出一位数还是两位数的运算题
对用户所做算术题的对错次数进行记录,结束程序时给出成绩
最好把每句什么意思在后面解释一下
务必要用简单的C语言编写
我把我所有的财富值都给了,希望大神谅解,并用心完成,跪谢

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int add(int num1,int num2)//加法

return num1+num2;

int subtraction(int num1,int num2)//减法

return num1-num2;

int mul(int num1,int num2)//乘法

return num1*num2;

float divis(int num1,int num2)//除法

return ((int)(((float)num1/num2)*100+0.5))/100.0;

int main()

int type = -1;
int data = -1;
int choice,num1,num2,results;
float div_result;
int right = 0;
int wrong = 0;
char ch;
printf("欢迎进入四则运算题,现在开始爆发你的小宇宙吧!\n");
srand((unsigned int)time(NULL));
while(1)

printf("请选择运算类型:1.加法 2.减法 3.乘法 4.除法(保留两位小数)\n");
scanf("%d",&choice);
printf("请选择位数:1.一位数 2.两位数\n");
scanf("%d",&data);
switch (choice)

case 1:
if(data == 1)

num1 = rand()%10;
num2 = rand()%10;
printf("%d + %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == add(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

else if (data == 2)

num1 = rand()%100;
num2 = rand()%100;
printf("%d + %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == add(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

break;
case 2:
if(data == 1)

num1 = rand()%10;
num2 = rand()%10;
printf("%d - %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == subtraction(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

else if (data == 2)

num1 = rand()%100;
num2 = rand()%100;
printf("%d - %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == subtraction(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

break;
case 3:
if(data == 1)

num1 = rand()%10;
num2 = rand()%10;
printf("%d * %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == mul(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

else if (data == 2)

num1 = rand()%100;
num2 = rand()%100;
printf("%d * %d=__?__\n",num1,num2);
scanf("%d",&results);
if(results == mul(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

break;
case 4:
if(data == 1)

num1 = rand()%10;
num2 = rand()%10+1;
printf("%d / %d=__?__\n",num1,num2);
scanf("%f",&div_result);
if(div_result == divis(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

else if (data == 2)

num1 = rand()%100;
num2 = rand()%100+1;
printf("%d / %d=__?__\n",num1,num2);
scanf("%f",&div_result);
if(div_result == divis(num1,num2))

printf("回答正确!\n");
right++;

else

printf("回答错误!\n");
wrong++;

printf("是否继续?y/n\n");
getchar();
scanf("%c",&ch);
if(ch == 'y')
break;
else if(ch == 'n')
goto end;

break;
default :
printf("输入错误!\n");
break;


end:
printf("回答正确%d题,回答错误%d题\n",right,wrong);
printf("\n====================谢谢光临====================!\n");
system("pause");
return 0;

//注意除法是采用四舍五入的,有什么不明白的再问吧,望采纳!追问

您能不能把把每句什么意思在后面大概解释一下,麻烦了,三克油!

参考技术A

  这个很简单啊。

  假设你已经输入写好了,然后制定的运算种类存在int op里面,int x表示数的位数

  那么

  if (x==1) a=rand()%9+1;b=rand()%9+1; else a=rand()%90+10;b=rand()%90+10; 随机生成两个数

  然后if (op==0) c=a+b;if (op==1) c=a-b;if (op==2) c=a*b;if (op==3) c=a/b;电脑计算出答案

  然后你把a,b运算符号都输出,然后读入用户的答案,判断是否和c一致就可以了。

  比如输入到d。假设规定用户输入-1表示结束。

  那么就if (d==-1) break。整个过程写在一个循环里面就行了。

  if (c==d) ct1++; else ct2++; 记录对错次数

  最后输出一下ct1和ct2就可以了。


  最后大致写下总的。

    ct1=ct2=0;
    while (1)
    
        input(); // 你自己完成输入。
        if (x==1) a=rand()%9+1;b=rand()%9+1; else a=rand()%90+10;b=rand()%90+10;
        if (op==0) c=a+b;if (op==1) c=a-b;if (op==2) c=a*b;if (op==3) c=a/b;
        output(a,b,op); //你自己完成以下输出a,b和计算符号。以及提示语之类的
        readfromuser(d); //你自己看看怎么从用户这边读入,并且判断是否是退出之类的。
        if (isexit(d)) break; //如果你自己判断出来用户要退出就退出。
        if (c==d) ct1++;ct2++;
     
     outputscore(ct1,ct2); //输出一下分数。
     
     
     输入输出函数我就不具体写了,你可能想完成的更美工一点之类的,但是大致流程就这样子。

参考技术B 还有点小毛病,你自己修改吧

#include <stdio.h>

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

int a,b;
float ans;

int GetFigure(BYTE bit,int *a1,int *b1)

int i = 0,j,k,Num[2];
srand( (unsigned)time( NULL ) );
k = pow(10,bit-1);
while(i<2)

j = rand();
j = j % (k * 10);
if(j-k>=0)

Num[i] = j;
i++;



*a1 = Num[0];
*b1 = Num[1];
return j;


void Func(BYTE n,BYTE bit)


GetFigure(bit,&a,&b);
switch(n)

case '+':
ans = a + b;
break;
case '-':
ans = a - b;
break;
case '*':
ans = a * b;
break;
case '/':
ans = (float)a / (float)b;
break;
default:
return;



void main()


BYTE n,bit;
float an;
printf("要做那则运算?");
scanf("%c",&n);
system("cls");
printf("要做几位数的四则运算?\n");
scanf("%d",&bit);
while(1)

Func(n,bit);
printf("\n\n%d %C %d = ?\n\n",a,bit,b);
scanf("%f",&an);
if(ans==an)

printf("回答正确!\n\n");

else

if(n=='/')

printf("回答错误! 答案是:%f\n\n",ans);

else

printf("回答错误! 答案是:%.1f\n\n",ans);



c语言简单求和,编写程序:输入两个数,求两个数的和

先谢了

利用C语言编写一个求两数相加的和的编程思想和方法如下:

1.首先需要定义三个变量a,b,c,两个为相加的数,第三个为相加后得到的和。

2.然后使用scanf()语句接收从键盘输入的两个数,为变量a,b赋值。

3.接着进行a和b的加法运算,将结果赋值给变量c。

4.最后使用printf()语句将计算结果显示在屏幕上。

5.代码编写完毕后,点击运行后即可在调试窗口看到程序的运行结果。

参考技术A

#include<stdio.h>

int main()


double a,b;

scanf("%lf%lf",&a,&b);

a+=b;

printf("%.4f\\n",a);

return 0;

C语言,是一种通用的、过程式的编程语言,广泛用于系统与应用软件的开发。具有高效、灵活、功能丰富、表达力强和较高的移植性等特点,在程序员中备受青睐。最近25年是使用最为广泛的编程语言。

C语言是由UNIX的研制者丹尼斯·里奇(Dennis Ritchie)于1970年 由 肯·汤普逊(Ken Thompson)所研制出的B语言的基础上发展和完善起来的。目前,C语言编译器普遍存在于各种不同的操作系统中,例如UNIX、MS-DOS、Microsoft Windows及Linux等。C语言的设计影响了许多后来的编程语言,例如C++、Objective-C、Java、C#等。

参考技术B

整数之和

实数之和

两个数字之间打空格,最后按回车求和

参考技术C #include<stdio.h>

int main(void)


int i,j,k;

printf("请输入两个数字,中间加逗号隔开,例如x,y\n");
scanf("%d,%d", &i, &j);
k = i + j;
printf("%d + %d = %d\n", i, j,k);

return 0;
参考技术D #includemain()float a,b,s;printf("pleace input a,b:\\n");scanf("%f %f\\n",&a,&b);s=a+b;printf("%f\\n",s); //输出a+b的和s的值详情
    官方服务
      官方网站

以上是关于用简单的c语言编写四则运算题的主要内容,如果未能解决你的问题,请参考以下文章

怎样用C语言编写一个简单的可以进行加减乘除运算混合运算的计算器?

C语言问题,利用堆栈实现四则运算,谢谢高手帮我编写出来

C语言问题,利用堆栈实现四则运算,谢谢高手帮我编写出来

用c++语言编写四则运算计算器

怎么用C语言编写堆栈并能进行四则运算

c语言,编写程序,要求对两个实数实现简单的加减乘除运算的功能(用switch)语句