C语言小学数学测验程序设计

C语言小学数学测验程序设计,第1张

#include<stdio.h>

#include<time.h>

#include<stdlib.h>

#include<math.h>

int i=0,s=0,a,b,f=0,c,stdans,userans,boolean

/*i控制当前题号,s是分数,

a,b是当前参与运算的数字,

f是一道题中已经用掉的机会,

c是运算符号,stdans是标准答案,

userans是用户答案,

boolean保存该题是否已经答对

*/

int array[3]={10,7,5}//保存3个每道题可能累加上的分数(非0)

int main()

{

srand(time(0))//初始化随机数发生器

while(i<10){

a=rand()%51//产生随机数a(0<=a<=50)

b=rand()%51//产生随机数b(0<=b<=50)

if(a+b>50 || a-b<0)continue//保证题目不超出低年级水平所及范围

c=rand()%2

if(c==0){printf("%d、%d+%d=",i+1,a,b)stdans=a+b}

else {printf("%d、%d-%d=",i+1,a,b)stdans=a-b}

//决定运算符并输出题号及算式

while(f<=2){

scanf("%d",&userans)//输入答案

if(f==2)break

if(userans==stdans){//若答案正确

printf("正确!\n")

boolean=1

s+=array[f]

break//则输出信息、更改变量状态、累加分数、结束循环

}//当机会没用完时继续循环

else{

printf("错误!你还有%d次机会:",2-f)

f++

boolean=0

}//否则再来

}

if(boolean==0)printf("你没有机会了!正确答案是:%d\n",stdans)//三次没答对时

f=0//初始化f

i++//题号增加

}

printf("答题结束!你的成绩是:")

if(s>=90)printf("SMART\n")

else if(s>=80)printf("GOOD\n")

else if(s>=70)printf("OK\n")

else if(s>=60)printf("PASS\n")

else printf("TRY AGAIN\n")//输出成绩

system("pause")//可删,只是相当于cmd.exe(系统自带命令解释程序)中的pause命令

return 0

}

//我是用C++编译但刻意以C语言形式写的,可能有些小小的不兼容。如果有就找我。

中小学编程推荐:Scratch

让零基础的孩子爱上编程的启蒙课,Scratch 是MIT开发的一种通过拖动代码块来完成任务的编程语言。通过Scratch学习,培养孩子基本的编程思维,以及用逻辑思维分析问题、解决问题的能力;提升孩子的专注力及创造力;激发孩子对编程语言的兴趣;为后期学习纯代码编程语言打下基础。用Scratch, 孩子可以创建自己的项目,编写自己的故事,完成自己的艺术和音乐创作。如果是更小的小朋友,建议从Srcatch Jr开始接触编程。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/10949185.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-12
下一篇 2023-05-12

发表评论

登录后才能评论

评论列表(0条)

保存