当前位置:首页 » 编程语言 » 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-09 13:50:49 浏览:297
存储过程性能优化 发布:2025-02-09 13:42:59 浏览:727
源码失窃 发布:2025-02-09 13:38:34 浏览:525
自动浏览器脚本 发布:2025-02-09 13:37:00 浏览:139
易语言问道源码 发布:2025-02-09 12:59:03 浏览:661
ip和服务器有关吗 发布:2025-02-09 12:51:26 浏览:950
极光免费脚本 发布:2025-02-09 12:50:33 浏览:394
c存储过程返回结果集 发布:2025-02-09 12:42:00 浏览:150
gs哪个配置性价比高 发布:2025-02-09 12:35:57 浏览:283
java栈数组 发布:2025-02-09 12:33:37 浏览:557