这是蒟蒻写的第一个博客,将就看看吧!

首先,我写的是一个填空题答题系统,填空题数目为20。

其次,需要随机出题,题目出现顺序要不一致。

(1) 产生随机数 1~20

(2)  解决运气不好的问题1-18 极少出现19 20

然后,及时反馈正确情况,记录同学的准确率

最后,自定义特性

(1) 大小写答案不区分
        (2) 答错之后,要告诉我正确答案是什么
        (3) 自己再增加一些人性化的功能
        (比如:一开始什么都不输入,就只输出回车或者空格,就判断为错误不太好
        思考:_5 5 5_是否算同一个答案? _A A A_是否算同一个答案?)

我拿到这个题的时候也很懵,所以我们先理理思路吧!!!

1.随机数怎么处理???

在C语言中比较常用的是rand函数,它可以随机处理产生0~rand_max的随机数。

rand函数包含在头文件stdlib.h中,记得在开头加上#include<stdlib.h>。

#include<stdio.h>
#include<stdlib.h>
int main(){int a = rand();printf("%d",a);return 0;
}

所以在这个题目中我们也可以用rand函数

#include<stdio.h>
#include<stdlib.h>
int main(){int a[20]={0};//本菜鸟喜欢开始就赋初值为0,毕竟怕忘记for(int i = 1;i <= 20;i ++){a[i]=1+rand()%20;//因为rand是从0开始的,是从0~19,但是题号是从1开始,所以+1for(int m = 1;m<i;m++){if(a[m]==a[i]){i--;//假如有重复的就退回去重新随机出数字}}}
}

2.那我们怎么把数字和题目对应嘞

这就很容易了,用if函数就行

3.大小写不区分怎么弄嘞?

这个有2种方法。我们可以用strlen知道str字符串的长度。记得加上头文件string.h

int len = strlen(str);

法一:

我们可以直接用 函数tolower(将ch字符转换为小写字母),记得加上头文件ctype.h

也可以用 函数toupper(将ch字符转换为大写字母),也要加上头文件ctype.h

法二:

for(int i = 0;i < len;i ++){if(a[i]>='A'&&a[i]<='Z'){a[i]=a[i]+32;}
}

假如是大写字母,就把它的ASC码加上32,成为小写字母。

4.只输入回车或空格,不能判断错误

char c;
int flag = 0;
while(1){scanf("%c",&c);if(c=='\n'&&flag==1){break;}if(c18!=' '&&c18!='\n'){str[i]=c;i++;flag=1;}}

flag是来判断是否输入字符,假如输入了字符,flag=1,假如没有输入,flag=0;

5.怎么计算准确率

可以定义一个全局变量double sum=0,假如正确sum++,当然也要定义一个全局变量double count=0,记录随机出了多少题。用sum/count就得出准确率。

6.其他

(1)颜色

比如

#include<stdio.h>
#include<stdlib.h>
int main(){system("color f5);printf("hello");return 0;
}

运行这个代码你会发现,背景色是白色,文字颜色变成紫色。

那么设计背景色和文字颜色的方法是,在color后面加上两个数字,第一个代表背景色,第二个代表文字颜色。

(2).时间

我们可以用暂停命令Sleep来控制时间,比如Sleep(1000)就是暂停1秒。

假如你觉得有以前数字不好看,可以用清屏幕命令system("cls");

(3).假如你觉得在每一个题目都要加上同样的东西,你可以使用函数

这个系统就写到这了,希望大家可以喜欢

【无标题】C语言编写一个简单答题系统相关推荐

  1. c语言编写一个简单的答题系统

    利用c语言编写一个简单的答题系统. 思路是先设计好题目和答案,再输入自己的答案,利用输入的答案与正确答案对比,从而得出你回答的对错. (一)捆绑题目和答案 我们可以利用结构体对一个题目捆绑上一个答案. ...

  2. C语言编写一个简单的扫雷

    C语言编写一个简单的扫雷 # include <stdio.h> # include <stdlib.h> # include <math.h> # include ...

  3. python语言的记事本在哪_用python语言编写一个简单记事本

    看了一点python的基础教程,忍不住手就痒了,找来一个题目练一下喽. 题目:编写一个功能简单的记事本. 编写记事本就要用到GUI的功能,最常用的当然是wxpython,那么我们就用这个来写一个记事本 ...

  4. 用 C 语言编写一个简单的垃圾回收器

    人们似乎认为编写垃圾回收机制是很难的,是一种只有少数智者和Hans Boehm(et al)才能理解的高深魔法.我认为编写垃圾回收最难的地方就是内存分配,这和阅读K&R所写的malloc样例难 ...

  5. 一个简单答题系统的设计与实现(一)

    开发背景 在2018年底,博主朋友找到博主想让我帮他开发一个软件,因为他要考他所在单位的某项认证考试,看书低效,不如结合使用用软件答题刷题有效果.就此我准备给他开发一个简单的答题系统,他给出如下需求. ...

  6. 一个简单答题系统的设计与实现(二)

    在一个简单答题系统的设计与实现(一)博文中列出了需求分析,与详细设计,现在按照之前的详细设计开始一步一步实现. 文件设计(数据层设计) 该系统由于需求场景限制,在数据层利用文件和文件的读写实现查询.具 ...

  7. 自动点名系统c语言,用C语言编写一个随机点名系统

    /*编写一个随机点名系统,运行该系统后,按空格键可以显示出一名同学,以前被选中的同学,将不会再次被选中*/ #include /*standard input & output*/ #incl ...

  8. 用C语言编写一个“简单”的程序答题系统

    上个星期我们老师给我们布置一道他认为很简单的题,其实就想考考我们,要我们写一个简单的答题系统.开始一看只有一道题我直呼:"仰天大笑出门去,我辈岂是蓬蒿人" 以为老师放我一马,结果点 ...

  9. C语言编写一个简单的选择题答题系统

    上个星期,我们老师给我们布置了一道非常变态的作业题.开始一看只有一道题,欣喜若狂, 以为老师终于大发慈悲了一回,结果点开一看,长这样... 顿时就傻了眼,对于一个刚接触C语言一两个月的小白来说,不能说 ...

最新文章

  1. Mysql Router 读写分离配置
  2. java 反射 修改字段_Java反射机制-修改字段值
  3. linux 查询替换文件内容吗,Linux 下查询文件的方法 替换文件内容
  4. leetcode 39. Combination Sum | 39. 组合总和(Java)
  5. 洛谷P7515:矩阵游戏(差分约束)
  6. 自定义select样式
  7. 今天觉得自己好像比较紧张
  8. go语言和java比_python与java、php、go的优势对比,各语言不要引起恐慌哈
  9. fetchtype 动态控制_hibernate 关于 注解配置@Basic(fetch=FetchType.LAZY) 不起效果
  10. 蓝桥杯 BASIC-11 基础练习 十六进制转十进制
  11. numpy与tensorflow中的广播(broadcast)机制
  12. 1.hexo+next友情链接页面搭建
  13. Web前端CSS颜色代码大全
  14. html5播放器 php,PHP/HTML5页面上的随机声音播放器
  15. Python-个人笔记-Tensorflow-PINN-Plotting
  16. 澳洲学计算机难毕业吗,澳洲新南威尔士大学计算机专业好吗
  17. 13种内存卡复活方法
  18. ps—选择连续的多个图层、同时操作多个图层、选择所有图层与取消选择图层、锁定图层、锁定透明像素、锁定图像像素、锁定位置、锁定全部
  19. 【技巧】去哪找高清免费素材?这些资源网站必须收藏!
  20. 教您用几何画板画相切的圆

热门文章

  1. Java 实现四位数的吸血鬼算法
  2. VR和AR将如何发展下去?哪个更有前景?
  3. html简单情侣对话
  4. 站长号词库:今日热门长尾关键词挖掘 20221201
  5. 力扣-进店却未进行过交易的顾客
  6. 华为服务器系统日志,系统日志服务器
  7. 安视宝动态微表情人脸识别技术
  8. 思科交换机密码清除方法记录
  9. 微信小游戏申请注册流程+开发微信小游戏类目需要具备条件
  10. matlab中参数估计,关于matlab的参数估计