c语言课程设计——小学数学出题系统
通信工程C语言强化训练实验报告
学 号:姓 名:提交日期:成 绩:评 语:
教师签字:
小学数学出题系统
强化训练目的
C语言基本知识的巩固和综合运用。基本数据类型、基本控制结构、数组、指针、函数、结构体和共用体。
C语言高级编程。链表基本操作、文件的基本操作、图形和声音制作。
程序的结构化设计。
编辑、设置、编译、调试、执行。
C语言结合实际问题的综合设计。
设计题目功能
为小学生教学服务,能够根据小学生的需要随机抽出两位数的数学运算题,可根据需要进行加减乘除运算。由学生在电脑上答题,并对其判断正误和记分。
设计题目要求
两位数四则云算的出题功能答案判断正误功能分数累积功能:
程序流程图
主要代码
#include
#include
int main()
{
int k,n,m,i,s,j;
n=5;
float score=0;
int a,b;
int answers[1000]={0},user_answer[1000]={0};
a=0;b=0;
printf("*****************小学数学出题系统*******************\n");
printf(" 指导老师: \n");
printf(" 完成学生: \n");
printf(" 完成时间:年月日 \n");
printf(" thank you\n\n");
printf("请输入题目数(1-1000)");
scanf("%d",&k);
if (k<1||k>1000)
{ printf("\n超出允许范围\n");
printf("请再次输入题目数\n");
scanf("%d",&k);
}
printf("请选择出题方式:0.加法 1.减法 2.乘法 3.除法 4.随机\n");
scanf("%d",&m);
printf("\n********************开始答题************************\n");
for (i=0;i
{
a=rand()%100;
b=rand()%100;
if(m==4)
n=rand()%4;
if (m==0||n==0)
{
printf("\n第%d题:%d+%d=",i+1,a,b);
scanf("%d",&user_answer[i]);
answers[i]=a+b;
}
if (m==1||n==1)
{
if (a>b)
{
printf("\n第%d题:%d-%d=",i+1,a,b);
scanf("%d",&user_answer[i]);
answers[i]=a-b;
}
else
{
printf("\n第%d题:%d-%d=",i+1,b,a);
scanf("%d",&user_answer[i]);
answers[i]=b-a;
}
}
if (m==2||n==2)
{
printf("\n第%d题:%d*%d=",i+1,a,b);
scanf("%d",&user_answer[i]);
answers[i]=a*b;
}
if (m==3||n==3)
{
if(a!=0&&b!=0)
{
s=a*b;
printf("\n第%d题:%d/%d=",i+1,s,a);
scanf("%d",&user_answer[i]);
answers[i]=s/a;
}
else
{ do
a=rand()%100;
while(a!=0&&b!=0);
b=rand()%100;
s=a*b;
printf("\n第%d题:%d/%d=",i+1,s,a);
scanf("%d",&user_answer[i]);
answers[i]=s/a;
}
}
}
printf("结果和正确答案:\n");
for (i=0;i
{
if (user_answer[i]==a