㈠ 小學生算術自測 一個供小學生用的算術自測程序。具有如下功能: 1.程序隨機產生兩位數以內的n(如10)道
.......
你試試效果.......................看合不合適........
如果有什麼需要改進的地方,請回網路消息,或在這里留言.
'需要控制項:command1,command2,command3,text1,text2,text3
Private Sub Command1_Click()
Randomize
Text1 = Int(Rnd() * 10)
Text2 = Int(Rnd() * 10)
If Text1 = 0 Then Text1 = 1
If Text2 = 0 Then Text2 = 1
End Sub
Private Sub Command2_Click()
If Val(Text1) + Val(Text2) = Text3 Then
MsgBox "恭喜你,答對了!", vbInformation
End If
If Val(Text1) + Val(Text2) <> Text3 Then
MsgBox "答案不對,再想想,加油哦!", vbCritical
End If
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
Command1.Caption = "出題"
Command2.Caption = "判斷"
Command3.Caption = "退出"
Text1.Text = "": Text2.Text = "": Text3.Text = ""
End Sub
㈡ 五年級上冊數學小學生學習實踐園地期末自測題的答案,全部!快!!!!
到大街上拽個人幫你寫,相信他寫得也比你抄得快~
㈢ 課題內容 如何設計一款四則運算的自測軟體
首先進行需求分析:從txt文件中讀取四則運算題目後顯示在控制台中,用戶依次輸入答案,程序判斷對錯並記錄成績,最後輸出正確數。要求實現加減乘除並帶括弧的運算,數字支持整數,真分數及假分數,結果以分數表示。拓展功能為四則運算自動生成,要求算符最多不超過10個,支持加減乘除及括弧,不能出現負數且題目不能重復。
起初在經過需求分析之後,我認為本程序的難點在於分數運算的處理。在學習數據結構的過程中我已經了解到由中綴表達式轉為後綴表達式可使運算邏輯變得簡明,只需將輸入的算式依照演算法轉化為後綴表達,即可方便求解。但如果直接利用後綴表達式進行計算無法使結果顯示分數,沒有將小數轉為分數的方法。在這個問題上確實困擾了很久。
瀏覽過一些帖子和博客之後,我發現了一個有關分數計算的帖子想法很巧妙。在這篇帖子的方法中,可以定義一個分數結構體,存放分母與分子,在計算時只需要對分母分子進行通分,剩下的就是單純的整型四則運算,最後只需要把結果約分就可以了。只要將分母設置成1就可以表示整數
㈣ 編寫一個程序,小學生可以用這個程序進行兩個數的四則運算自我檢測
#define _CRT_SECURE_NO_DEPRECATE 1
#include <stdio.h>
#include <stdlib.h>
int add(int x, int y)
{
return x + y;
}
int sub(int x, int y)
{
return x - y;
}
int mul(int x, int y)
{
return x * y;
}
int div(int x, int y)
{
return x / y;
}
int main()
{
int x, y;
int input = 1;
int ret = 0;
while (input)
{
("*************************\n");
printf("**** 1.add 2.sub ****\n");
printf("**** 3.mul 4.div ****\n");
printf("*************************\n");
printf("請選擇:");
scanf("%d", &input);
switch (input)
{
case 1:
printf("請輸入操作數:");
scanf("%d %d", &x, &y);
ret = add(x, y);
break;
case 2:
printf("請輸入操作數:");
scanf("%d %d", &x, &y);
ret = sub(x, y);
break;
case 3:
printf("請輸入操作數:");
scanf("%d %d", &x, &y);
ret = mul(x, y);
break;
case 4:
printf("請輸入操作數:");
scanf("%d %d", &x, &y);
ret = div(x, y);
break;
default:
printf("選擇錯誤\n");
break;
}
printf("%d\n", ret);
}
system("pause");
return 0;
}
【答題不易,請採納謝謝】
㈤ 用java實現小學生算術自測系統
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMBER 10/*定義數組項目的個數為一個符號常量*/
int Num1[10]= {0},Num2[10]= {0},Pos1=0,Pos2=0;
/*定義兩個數組來保存已經出現的情況*/
int main()
{
int putquestion();/*聲明出題函數*/
int questionnum=10;/*聲明變數*/
int i=1;
printf("Please input number of question:");
scanf("%d",&questionnum);
int answer[NUMBER];/*聲明一個數組,用於儲存學生的答案*/
int rightanswer[NUMBER];/*聲明一個數組,用於儲存正確答案*/
for(i=1; i<=questionnum; i++)
{
rightanswer[i-1]=putquestion();
scanf("%d",&answer[i-1]);
}
for(i=1; i<=NUMBER; i++)
printf("\n%d%5d",answer[i-1],rightanswer[i-1]);
}
bool exist(int goal,int *Num)
{/*檢查數字goal是否已經出現在Num數組裡面*/
int i;
for(i=0; i<Pos1; i++)
if(goal==Num[i])
return true;
return false;
}
int putquestion()/*此函數用於出題*/
{
int randValue;
int num1;
int num2;
int correctanswer;
srand((int)time(NULL));
randValue=1+rand()%4;
num1=1+rand()%99;
num2=1+rand()%99;
switch(randValue)
{
case 1:/*加法作業*/
while(num1+num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{/*當滿足該條件(滿足題目要求且兩個數同時出現過)時繼續循環*/
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d+%d=",num1,num2);
correctanswer=num1+num2;
break;
case 2:/*減法作業*/
while(num1-num2<0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d-%d=",num1,num2);
correctanswer=num1-num2;
break;
case 3:/*乘法作業*/
while(num1*num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d*%d=",num1,num2);
correctanswer=num1*num2;
break;
case 4:/*除法作業*/
while(num1%num2!=0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d/%d=",num1,num2);
correctanswer=num1/num2;
break;
}
return(correctanswer);
}
㈥ 利用c語言設計簡單的小學生算術自測系統,求大神編寫程序
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define NUMBER 10/*定義數組項目的個數為一個符號常量*/
int Num1[10]= {0},Num2[10]= {0},Pos1=0,Pos2=0;
/*定義兩個數組來保存已經出現的情況*/
int main()
{
int putquestion();/*聲明出題函數*/
int questionnum=10;/*聲明變數*/
int i=1;
printf("Please input number of question:");
scanf("%d",&questionnum);
int answer[NUMBER];/*聲明一個數組,用於儲存學生的答案*/
int rightanswer[NUMBER];/*聲明一個數組,用於儲存正確答案*/
for(i=1; i<=questionnum; i++)
{
rightanswer[i-1]=putquestion();
scanf("%d",&answer[i-1]);
}
for(i=1; i<=NUMBER; i++)
printf("\n%d%5d",answer[i-1],rightanswer[i-1]);
}
bool exist(int goal,int *Num)
{/*檢查數字goal是否已經出現在Num數組裡面*/
int i;
for(i=0; i<Pos1; i++)
if(goal==Num[i])
return true;
return false;
}
int putquestion()/*此函數用於出題*/
{
int randValue;
int num1;
int num2;
int correctanswer;
srand((int)time(NULL));
randValue=1+rand()%4;
num1=1+rand()%99;
num2=1+rand()%99;
switch(randValue)
{
case 1:/*加法作業*/
while(num1+num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{/*當滿足該條件(滿足題目要求且兩個數同時出現過)時繼續循環*/
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d+%d=",num1,num2);
correctanswer=num1+num2;
break;
case 2:/*減法作業*/
while(num1-num2<0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d-%d=",num1,num2);
correctanswer=num1-num2;
break;
case 3:/*乘法作業*/
while(num1*num2>=100||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d*%d=",num1,num2);
correctanswer=num1*num2;
break;
case 4:/*除法作業*/
while(num1%num2!=0||exist(num1,Num1)&&exist(num2,Num2))
{
num1=1+rand()%99;
num2=1+rand()%99;
}
Num1[Pos1++]=num1;
Num2[Pos2++]=num2;
printf("\n%d/%d=",num1,num2);
correctanswer=num1/num2;
break;
}
return(correctanswer);
}
㈦ 小學生算術自測 一個供小學生用的算術自測程序。具有如下功能: 1.程序隨機產生兩位數以內的
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedefintBOOL;
#defineFALSE0
#defineTRUE1
intrightAns;
voidgenerateQuestion(int);
BOOLisCorrect(int);
intmain()
{
inti,answer,numSolved=0;
charconfirm;
printf("小學生算數自測程序 ================== ");
do
{
srand(time(NULL));
for(i=1;i<=10;i++)
{
generateQuestion(i);
scanf("%d",&answer);
if(isCorrect(answer))
{
printf("回答正確! ");
numSolved++;
}
elseprintf("很遺憾,正確答案是:%d ",rightAns);
}
printf("作答完畢,你的成績:");
switch(numSolved)
{
case10:case9:printf("優秀! ");break;
case8:case7:printf("良好! ");break;
case6:case5:printf("不錯! ");break;
default:printf("還要努力。 ");
}
numSolved=0;
getchar();
do
{
printf("繼續下一輪答題嗎?(Y/N):");
scanf("%c",&confirm);
getchar();
}while(confirm!='Y'&&confirm!='N');
if(confirm=='Y')printf("開始新一輪答題 ");
}while(confirm=='Y');
return0;
}
voidgenerateQuestion(inti)
{
inta,b;
switch(rand()%4)
{
case0:
a=rand()%100;
b=rand()%100;
rightAns=a+b;
printf("問題%d:%d+%d=",i,a,b);
break;
case1:
a=rand()%100;
b=rand()%a;
rightAns=a-b;
printf("問題%d:%d-%d=",i,a,b);
break;
case2:
a=rand()%100;
b=rand()%100;
rightAns=a*b;
printf("問題%d:%d×%d=",i,a,b);
break;
case3:
a=rand()%100;
b=rand()%100;
rightAns=b;
printf("問題%d:%d÷%d=",i,a*b,a);
break;
}
}
BOOLisCorrect(intanswer)
{
if(answer==rightAns)returnTRUE;
elsereturnFALSE;
}