本文目錄一覽:
- 1、用C語言實現一個小學生口算及自測系統,實現自動出題,根據答題情況評分並記載入檔案,並能根據成績進行排
- 2、準備考c語言計算機二級,用什麼軟體刷題好
- 3、用C語言寫一個 小學生口算出題系統
- 4、利用C語言隨機產生20道口算題?
用C語言實現一個小學生口算及自測系統,實現自動出題,根據答題情況評分並記載入檔案,並能根據成績進行排
#include stdio.h
#include stdlib.h
#include time.h
//產生 [a,b] 區間的隨機數
#define RANDOM(a,b) (rand()%((b+1)-(a)) + (a))
//產生 1-20 的整數,如要改變算術範圍,則修改這個宏的參數即可
#define GEN_VALUE() RANDOM(1, 20)
int main()
{
int v1, v2, t, r, a;
char op, ops[] = { ‘+’, ‘-‘, ‘*’, ‘/’ };
srand( (unsigned)time(NULL) ); //用當前時間初始化隨機數種子
printf( “請答題 Ctrl+C 結束…\n” );
while(1)
{
v1 = GEN_VALUE(); //隨機生成第1個算數
v2 = GEN_VALUE(); //隨機生成第2個算數
op = ops[ RANDOM(0,3) ]; //隨機決定是哪個運算符
//保證第1個算數大於第2個算數,如不需要,則把這個判斷刪除即可
if( v1v2 )
{
t = v1;
v1 = v2;
v2 = t;
}
//如果運算符為除法,且v1不能被v2整除則重新生成題目
if( op==’/’ v1%v2!=0 )
continue;
//計算正確的結果
switch(op)
{
case ‘+’: a=(float)v1+(float)v2; break;
case ‘-‘: a=(float)v1-(float)v2; break;
case ‘*’: a=(float)v1*(float)v2; break;
case ‘/’: a=(float)v1/(float)v2; break;
}
//輸出算式
printf( “%d%c%d=”, v1, op, v2 );
//等待輸入結果
scanf( “%d”, r );
if( r == a )
printf( ” 答對嘍!\n\n” );
else
printf( ” 答錯嘍!正確答案是:%d\n\n”, a );
}
}
準備考c語言計算機二級,用什麼軟體刷題好
計算機二級,用什麼軟體刷題好:
首先我們先看下軟體下圖1、2展示,最後是軟體!
1、全國計算機等級考試超級模擬軟體。
匯聚了多年開發全國計算機等級考試模擬軟體的豐富經驗,並綜合有經驗的命題專家、教授和全國各地考點一線教師的建議基礎上研製而成。本套軟體採用模擬考試形式,以大量的習題練習,強化考生的應考能力。
2、捷成全國計算機等級考試練習系統。
上機考試系統提供了歷屆考試題100套,並附有試題分析和參考答案,可以幫助考生熟悉考試模式,提高應試能力,測試實際操作和應變能力,自己評定成績,對正式考試時能否通過進行初步的估計。
3、未來教育2017二級msoffice模擬軟體
以其模式的高專業度,題庫權威度而聞名業界,它聚合曆年真題加以分析從而提出權威預測,效果非常不錯。
用C語言寫一個 小學生口算出題系統
一、設計的流程:
1. 主界面設計,選擇練習或測試,按ESC結束程序。
2. 題型選擇界面設計,選擇加、減、乘、除或混合運算,按ESC返回主界面。
3. 系統隨機出題,運算數及結果均在100以內,乘、除法應能整除,顯示算式。
4. 練習時,系統隨機出題,鍵入結果,正確和錯誤均有提示,出錯時允許再輸入,最多三次機會,若還不正確,給出答案。繼續出題,按ESC,顯示總題數,正確數和正確率。
5. 測試時,系統自動出10道題,每題只給一次機會,每題10分,統計得分。結束後,給出總分,顯示各題的對錯信息,錯誤的給出答案。中間按ESC鍵結束。顯示已作題的對錯信息,錯誤的給出答案,不顯示得分,按任意鍵返回題型選擇界面。
相關知識:按鍵操作、數組、指針、結構體等
二、常式:
#includestdlib.h
#includestdio.h
#includeconio.h
#includetime.h
void main()
{
int a[10],b[10],d[10],c[10],num=0,result,add=0;
float val;
char fa[5]={‘+’,’-‘,’*’,’/’};
/* 出10道題 */
while(1)
{
srand((unsigned)time(NULL));
d[num]=abs(rand())%4;/* 保證出題演算法的隨機性 */
while(1) /* 保證出題成功 */
{
c[num]=-1;
a[num]=abs(rand())%100;
b[num]=abs(rand())%100;
if(d[num]==0) c[num]=a[num]+b[num];
else if(d[num]==1) c[num]=a[num]-b[num];
else if(d[num]==2) c[num]=a[num]*b[num];
else if(d[num]==3)
{
if(b[num]0)val=1.0*a[num]/b[num];
else val=-1;
}
if(d[num]=2)
{
if(c[num]=0 c[num]=100) break;
}
else
{
if(a[num]==int(val)*b[num] val=0)
{c[num]=val; break;}
}
}
num++;
if(num==10) break;
}
/* 回答 */
num=0;
while(1)
{
printf(“%d %c %d= “,a[num],fa[d[num]],b[num]);
scanf(“%d”,result);
if(result==c[num])
{
printf(“回答正確!\n”);
add+=10;
}
else
printf(“錯誤,正確答案: %d\n”,c[num]);
num++;
if(num==10) break;
}
printf(“\n得分:%d\n”,add);
getch();
}
利用C語言隨機產生20道口算題?
解題思路:
1、編寫測試題,且為30道,就要用到循環函數,因此想到用for()函數。
2、隨機產生兩個數,就想到用rand()函數。
代碼如下:#includeiostream.h
#includestdlib.h
#includetime.h
int main()
{
int x,y,z,t;
srand(time(NULL));
cout”小學二年級四則運算測試題”endl;
for(int i=0;i30;i++)
{
x=rand()%100;
y=rand()%100;
z=rand()%4;
switch(z)
{
case 0:
coutx”+”y”=”endl;
break;
case 1:
if(xy)
{
t=x;
x=y;
y=t;
}
coutx”-“y”=”endl;
break;
case 2:
coutx”*”y”=”endl;
break;
case 3:
if(y!=0)
{
coutx”/”y”=”endl;
}
else
{
i=i-1;
}
break;
default:
cout”超出測試範圍”endl;
break;
}
}
cout”恭喜你已經完成了30道數學測試題”endl;
return 0;
}
原創文章,作者:KRWA,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/140885.html