导航:首页 > 编程语言 > c程序小学生自助四则运算练习

c程序小学生自助四则运算练习

发布时间:2025-04-16 11:12:58

『壹』 c语言 设计小学生四则运算测试程序,要求随机产生10题四则运算题,答完后给出得分

/*
* sizeyunsuan.c
*
* Created on: 2011-6-17
* Author: zhanglujin
*/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int yunsuan(int M)
{
int m=1,n=0,a,b,daan;
while(1) //这里得解决/的情况,因为这里保证是整数,所以一些条件要满足才能除,若不成立,改为+得了。
{
srand(time(0));
a=rand()%M;
b=rand()%M;
switch(1+rand()%4)
{
case 1:
{
printf("<%d>",m);
printf("%4d+%4d=",a,b);
scanf("%d",&daan);
if(daan==(a+b))
n++;
else
printf("Fault!\n");
m++;
break;
}
case 2:
{
if(a>=b)
{
printf("<%d>",m);
printf("%4d-%4d=",a,b);
scanf("%d",&daan);
if(daan==(a-b))
n++;
else
printf("Fault!\n");
m++;
break;

}
else
{
printf("<%d>",m);
printf("%4d-%4d=",b,a);
scanf("%d",&daan);
if(daan==(b-a))
n++;
else
printf("Fault!\n");
m++;
break;

}
}
case 3:
{
printf("<%d>",m);
printf("%4d*%4d=",a,b);
scanf("%d",&daan);
if(daan==(a*b))
n++;
else
printf("Fault!\n");
m++;
break;
}
default:
{
if((b!=0)&&(a>=b)&&((a%b)==0))
{
printf("<%d>",m);
printf("%4d/%4d=",a,b);
scanf("%d",&daan);
if(daan==(a/b))
n++;
else
printf("Fault!\n");
m++;
break;
}
else if((a!=0) && (b>=a) && ((b%a)==0))
{
printf("<%d>",m);
printf("%4d/%4d=",b,a);
scanf("%d",&daan);
if(daan==(b/a))
n++;
else
printf("Fault!\n");
m++;
break;
}
else //若除不成立,改为+操作,防止循环多次。
{
printf("<%d>",m);
printf("%4d+%4d=",a,b);
scanf("%d",&daan);
if(daan==(a+b))
n++;
else
printf("Fault!\n");
m++;
break;
}
}
}
if(m == 11)
break;
}
return n;
}

int main()
{
int M,p;
float right;
char o;
while(1)
{
//redo:
printf(" 欢迎进入四则运算训练营\n\n1.10以内的四则运算\n2.20以内的四则运算\n0.退出\n\n");
printf("请选择功能号(1/2/0):");
scanf("%d",&p);
getchar();
if(p==1)
M=10;
if(p==2)
M=20;
if(p==0)
exit(0);
printf("您选择的是%d以内的四则运算\n",M);
int temp = yunsuan(M);
right= temp/10.0;
printf("正确率:%.2f%%",right*100);
printf(" score=%d",temp*10);
getchar(); //吸收前面的回车键。
printf("继续吗?(y/n)");
scanf("%c",&o);
if(o == 'y' || o == 'Y') //这里的继续存在问题啊,怎么弄??
{
system("pause");
//goto redo;
}
else
{
break;
}
}
getchar();
return 0;
}

『贰』 编一程序实现简单的加减乘除四则运算,用户从键盘输入算数,即可输出结果.

在编程领域,实现一个简单的四则运算程序是一项基础任务。该程序能够接受用户输入的两个数字,并根据用户选择的运算符执行相应的加、减、乘、除操作。以下是一个C语言实现的例子:

首先,定义一个枚举类型来表示四种运算符:
enum operator {jia, jian, cheng, chu};

接下来,声明变量s用于存储运算结果,x和y用于存储用户输入的两个数字:

float s, x, y;

程序通过提示用户输入两个数字,并使用scanf函数读取这两个数字的值:

printf("input x,y:\n");
scanf("%f,%f", &x, &y);

接着,使用for循环遍历四种运算符:

for (op1 = jia; op1 <= chu; op1++) {

在循环内部,利用switch语句判断当前运算符,并执行相应的运算:

switch (op1) {

case jia:

s = x + y;
printf("x+y=%f\n", s);
break;

case jian:

s = x - y;
printf("x-y=%f\n", s);
break;

case cheng:

s = x * y;
printf("x*y=%f\n", s);
break;

case chu:

s = x / y;
printf("x/y=%f\n", s);
break;

}

}

这个程序能够有效地执行基本的数学运算,为初学者提供了一个良好的学习范例。

值得注意的是,为了确保程序的健壮性,应对用户输入进行适当的错误处理,例如检查除数是否为零,以避免出现运行时错误。此外,通过增强用户交互,例如提供一个友好的提示菜单,让用户选择运算符,可以使程序更加用户友好。

『叁』 C语言课程设计 小学生四则运算练习系统 源程序

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define maxsize 50
void trans(char str[],char exp[])/*将算术表达式str转换成后缀表达式exp*/
{
struct
{ char data[maxsize]; /*存放运算符*/
int top; /*栈指针*/
}opr; /*定义运算符栈*/
char ch;
int i=0,t=0; /*t作为exp的下标,i作为str的下标*/
opr.top=-1; /*初始化设定top的值为负一*/
ch=str[i];i++; /*逐个读取字符串中的字符*/
while (ch!='\0') /*str表达式未扫描完时循环*/
{ switch(ch) /*判定*/
{
case '(':
opr.top++;opr.data[opr.top]=ch; /*判定为'('号,则将其入栈opr*/
break;
case ')':
while (opr.data[opr.top]!='(') /*判定为')'号*/
{ exp[t]=opr.data[opr.top]; /*将栈opr中'('以后的字符依次删除并存入数组exp中*/
opr.top--;
t++;
}
opr.top--; /*将左括号删除*/
break;
case '+': /*判定为加号或减号*/
case '-':
while (opr.top!=-1 &&opr.data[opr.top]!='(')
{ exp[t]=opr.data[opr.top]; /*将当前栈opr中(以前的所有字符依次删除并存入数组exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*将ch存入栈opr中*/
break;
case '*':
case '/':
while (opr.data[opr.top]=='*'||opr.data[opr.top]=='/'||opr.data[opr.top]=='^')
{ exp[t]=opr.data[opr.top]; /*将当前栈opr中连续的'*'或'/'或'^'依次删除并存入数组exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*将ch存入栈opr中*/
break;
case '^': /*判定为乘方号*/
while (opr.data[opr.top]=='^')
{ exp[t]=opr.data[opr.top]; /*将当前栈opr中连续的'^'依次删除并存入数组exp中*/
opr.top--;
t++;
}
opr.top++;opr.data[opr.top]=ch; /*将ch存入栈opr中*/
break;
case ' ': break; /*过滤掉空格*/
default:
while(ch>='0'&& ch<='9'||ch=='.') /*判定为数字*/
{ exp[t]=ch;t++; /*将后续数字依次存入数组中*/
ch=str[i];i++;
}
i--;
exp[t]='#';t++; /*用#标示一个数值串结束*/
}
ch=str[i];i++;
}
while (opr.top!=-1) /*此时str扫描完毕,栈不空时循环*/
{ exp[t]=opr.data[opr.top];
t++;opr.top--;
}
exp[t]='\0'; /*给exp表达式添加结束标示*/
}
float compvalue(char exp[]) /*计算后缀表达式的值*/
{
struct
{ float data[maxsize]; /*存放数值*/
int top; /*栈指针*/
} st; /*定义数值栈*/
float d,d2;double po;
char ch;
int t=0,flag=1,i,count; /*t作为exp的下标*/
st.top=-1;
ch=exp[t];t++;
while (ch!='\0') /*exp字符串为扫描完时循环*/
{ switch(ch)
{
case '+':st.data[st.top-1]=st.data[st.top-1]+st.data[st.top]; /*执行两次退栈,并将计算结果入栈*/
st.top--;break;
case '-':st.data[st.top-1]=st.data[st.top-1]-st.data[st.top];
st.top--;break;
case '*':st.data[st.top-1]=st.data[st.top-1]*st.data[st.top];
st.top--;break;
case '/':
if(st.data[st.top]!=0)
st.data[st.top-1]=st.data[st.top-1]/st.data[st.top];
else
{ printf("\n除零错误!\n");
exit(0); /*除数为零,异常退出*/
}
st.top--;break;
case '^':
po=pow(st.data[st.top-1],st.data[st.top]); st.data[st.top-1]=(float)po;/*调用pow子函数进行乘方运算*/
st.top--;break;
default:
d=0; flag=1; d2=0; /*将数字字符转换成对应的数值存放到d中*/
while(ch>='0'&&ch<='9'&&flag) /*判定为数字字符*/
{ d=10*d+ch-'0';
ch=exp[t];t++;
if(ch=='.')
flag=0;

}
if(flag==0)
{ ch=exp[t];t++;count=0;
while(ch>='0'&&ch<='9') /*判定为数字字符*/
{d2=10*d2+ch-'0';
ch=exp[t];t++;count++;
}
for(i=1;i<=count;i++)
d2=0.1*d2;
}
d+=d2;
st.top++;
st.data[st.top]=d;
}
ch=exp[t];t++;
}
return st.data[st.top];
}
int main()
{
char str[maxsize],exp[maxsize]; /*str存储原算术表达式,exp存储对应的后缀表达式*/
printf("the arithmetic expression is:\n");
gets(str);
trans(str,exp);
printf("the postfix expression is:%s\n",exp);
printf("the result is %g\n",compvalue(exp));
}

『肆』 c语言四则运算程序怎么写

c语言四则运算程序写法如下:

四则运算是数学忠最基杰的运算之-信息括加减乘除四种运算。在计算机编程中四则运算也是最基本的运算之一,常用于算法设计、数据处理等方面。本文将介绍如何使用C语言进行四则运算的编程。


加法运算

减法运算是四则运算中的另一种基本运算,基本形式为a-b,其中a和b为减数,-为减号,其结果为两个减数的差在C语言中,减法运算可以使用“-”符号进行表示,例如:inta=20:intb= 10:intc=a-b;printf("a-b=%dn",c)。

上述代码中,定义了两个整型变量a和b,分别赋值为20和10,然后使用“”符号进行减法运算,将结果赋值给变量C,最后使用printf函数输出结果。

乘法运算

乘法运算是四则运算中的另一种基本运算,其基本形式为a*b,其中a和b为乘数,为乘号,其结果为两个乘数的积在C语言中,乘法运算可以使用“*”符号进行表示,例如:inta=10;intb= 20;intc=a*b;printf("a*b=%dn",c)。

阅读全文

与c程序小学生自助四则运算练习相关的资料

热点内容
u盘文件给删了 浏览:737
vuejsoauth2 浏览:78
2017微信支付日 浏览:81
机械臂编程如何开发 浏览:21
标书U盘PDF文件要不要签字 浏览:222
ps软件文件复制到d盘 浏览:148
一般工业固废招标文件内容 浏览:583
网站建设报价怎么算 浏览:66
三星a7000升级安卓502 浏览:486
word2010清除分隔符 浏览:781
乐视怎么切换网络 浏览:425
cad打印pdf文件名称与cad不一致 浏览:815
电气与可编程控制是什么 浏览:67
文件名中允许使用英文竖线吗 浏览:531
编程猫在哪里 浏览:775
win8共享文件夹访问权限 浏览:380
cad文件显示为只读不能保存怎么办 浏览:703
如何在系统里忘记网络 浏览:24
中小企业出口数据在哪里找 浏览:715
win8和xp传文件 浏览:75

友情链接