當前位置:首頁 » 編程語言 » c語言小學生測驗

c語言小學生測驗

發布時間: 2023-07-04 04:02:22

『壹』 利用c語言編寫一個簡單的小學生測驗系統,功能要求如下。

#include "stdio.h"
#include "iostream"
#include "windows.h"
#define MAX 1000
char problems[MAX][100];
int answers[MAX];
bool flag[MAX] = {false};
int score;
int n;
void init()
{
score = 0;
FILE *fp = fopen("D:\\題庫.txt","r");//這里修改路徑
fscanf(fp,"%d",&n);
for(int i = 0;i < n;i++)
fscanf(fp,"%s%d",problems[i],&answers[i]);
fclose(fp);
}
void solve(int i,int k)
{
int ans = 0;
printf("第%d題(現在總分是%d分):\n",i,score);
for(int j = 0;j < 3;j++)
{
printf("%s=",problems[k]);
scanf("%d",&ans);
if(ans == answers[k])
{
if(j == 0)
score += 10;
else if(j == 1)
score += 7;
else
score += 5;
if(i != 10)
printf("正確!,下一題......\n");
return;
}
printf("- -,錯誤......\n");
}
}
void start()
{
int count = 0,t;
while(count != 10)
{
t = rand()%n;
if(flag[t])
continue;
flag[t] = true;
solve(count+1,t);
count++;
}
if(score < 60)
printf("TRY AGAIN\n");
else if(score < 70)
printf("PASS\n");
else if(score < 80)
printf("OK\n");
else if(score < 90)
printf("GOOD\n");
else
printf("SMART\n");
}
int main()
{
srand(GetTickCount());
init();
start();
system("pause");
}

題庫.txt
11
1+2 3
1+3 4
1+4 5
1+5 6
7-1 6
7-2 5
7-3 4
11-3 8
11-4 7
11-5 6
11-6 5

『貳』 C語言程序設計:小學生測驗

#include<stdlib.h>
#include<stdio.h>
#include<conio.h>

void main()
{
int num=0,err=0; /* 答題數,錯誤數 */

while(1)
{
int a=0,b=0,d=0,c=0,i=0,result;
char sf[2]={'+','-'};
/* 出題 */
while(1)
{
a=rand()%51;
b=rand()%51;
d=rand()%2;
if(d==0)c=a+b;
else c=a-b;
if(c>=0 && c<=50)break;
}
printf("%d %c %d = \n",a,sf[d],b);
/* 回答 */
printf("輸入計算結果:\n");
while(1)
{
scanf("%d",&result);
i++;
if(result==c)
{
printf("回答正確!\n");
break;
}
else if(i<3)
{
printf("錯誤,請重新回答:\n");
}
else
{
err++;
break;
}
}
num++;
if(num==10)break;
}
printf("\n得分:%d 正確率:%d%\n",100-err*10,100-err*10);
getch();
}

『叄』 用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 結束... " );

while(1)

{

v1 = GEN_VALUE(); //隨機生成第1個算數

v2 = GEN_VALUE(); //隨機生成第2個算數

op = ops[ RANDOM(0,3) ]; //隨機決定是哪個運算符


//保證第1個算數大於第2個算數,如不需要,則把這個判斷刪除即可

if( v1<v2 )

{

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( " 答對嘍! " );

else

printf( " 答錯嘍!正確答案是:%d ", a );

}

}


『肆』 急求:用C語言編寫小學生數學測試軟體

//vc 6.0調試通過
#include<stdio.h>
#include<stdlib.h>
#include <time.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;}

void fun(char f)
{
int n,x,y,z,t,result,sum=0;
srand((unsigned)time(NULL));
printf("請選擇答題的個數:\n");
scanf("%d",&n);
for(int i=0;i<n;i++)
{
x=rand()%10;
y=rand()%10;
if(x<y && f=='-')
{t=x;x=y;y=t;}
if(f=='*')
{while(!x){x=rand()%10;}
while(!y){y=rand()%10;}}
printf("%d %c %d =",x,f,y);
scanf("%d",&z);
switch(f)
{
case '+':
result=add(x,y);break;
case '-':
result=sub(x,y);break;
case '*':
result=mul(x,y);break;
}
if(result==z)
{printf("正確!\n");sum++;}
else
printf("錯誤!應該是%d\n",result);
}
printf("\n正確率為%f%%\n/////////////////////////////////\n\n",100.0*sum/n);
fflush(stdin);
}

void main()
{
printf("/////////////////////////////////\n");
printf(" 小學生數學測試軟體\n");
printf("//////////////////////////////////\n\n");
char ch;
while(1)
{
printf("請選擇題型--加(+),減(-),乘(*),退出(0): ");
ch=getchar();
if(ch=='+'||ch=='-'||ch=='*')
fun(ch);
else if(ch=='0')
exit(0);
else
printf("錯誤!\n");
}
}

熱點內容
編譯原理設計文檔是什麼 發布:2025-02-10 09:41:58 瀏覽:283
sql分段統計 發布:2025-02-10 09:40:27 瀏覽:358
記賬app源碼 發布:2025-02-10 09:34:45 瀏覽:496
照片傳到g6的存儲卡 發布:2025-02-10 09:29:02 瀏覽:902
非加密公章 發布:2025-02-10 09:09:52 瀏覽:621
京東登錄密碼如何清除 發布:2025-02-10 09:07:41 瀏覽:690
dns伺服器地址192 發布:2025-02-10 09:07:39 瀏覽:662
redis緩存實現 發布:2025-02-10 09:01:26 瀏覽:711
後台登錄腳本 發布:2025-02-10 08:56:11 瀏覽:659
我的辣雞賬號和密碼是多少 發布:2025-02-10 08:55:37 瀏覽:691