導航:首頁 > 編程語言 > 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

友情鏈接