C语言课程设计(这个没在老师给定的题目内)——实用的作答题目小代码

2023-12-13 20:18

本文主要是介绍C语言课程设计(这个没在老师给定的题目内)——实用的作答题目小代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

c语言小代码:随机加减乘除的计算

功能介绍:
随机出现两组数字,计算二者的简单数学运算,
统计做题结果的正确和错误的题目个数,
适合一二三年级小朋友拿来玩耍。

感想:
其实也就是自己寒假
在读小学的表弟弟和妹妹
天天没事干,
就弄来了这个为他打发时间。
不要喷我昂,
毕竟这个还不算是成熟。
如有BUG,敬请指正,共同学习。
小将学习,如有雷同,请联系。



版本:1.1(2016年7月25日09:29:13)
简化代码的重复部分以及增加更多注释。
参考代码:
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
#include <windows.h>
#define MYDD 30000int a[MYDD],b[MYDD],c[MYDD];
double ans,youans;// ans 记录正确答案;youans记录个人答案
int cuo,dui;//统计题目 错误,正确个数 
int chengji=0;//记录成绩void RED() {//控制台调整前景色为红色HANDLE kai_1 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_1, FOREGROUND_INTENSITY | FOREGROUND_RED); // 为红色
}void GREEN() {//控制台调整前景色为绿色HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_GREEN);// 为绿色
}void LIGHT() {//控制台调整前景色为强光HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_INTENSITY);// 为强光
}void ans_yourans() {// 多次用到以下代码片段,所以直接定义一部分函数GREEN();scanf("%lf",&youans);if(youans==ans) {printf("   你的答案是 √恭喜正确,继续努力.\n\n");chengji+=10;dui++;} else {LIGHT();printf("   正确答案为  %.0lf\n    你的答案是  × 不要气馁,再仔细算算.\n\n",ans);chengji-=12;cuo++;}
}int main() {int i,j,N,dd;//务必符合 c 语言变量的定义规则:必须在函数的最开始定义变量GREEN();//控制台以下字体为绿色printf("小同学,要努力昂:\n");printf("你想做多少道题目?\n请键入你想要做的题目。\n");RED();//控制台以下字体为红色scanf("%d",&N) ;// N 做题数量 printf("你想做的 %d 道\n得分规则:正确一道得分+10,错误一道得分-12\n请键入数字 1 后,回车键开始挑战!\n",N);scanf("%d",&dd);//是否确定 if(dd==1) {srand((int)time(0));dui=cuo=0;//记录做题数目的对错情况for(int k=1; k<=N; k++) {LIGHT();printf("当前第 %d 题,剩余 %d 题\n     现在你的分数是  %d  分\n",k,N-k,chengji);c[k]=1+(int)(4.0*rand()/(RAND_MAX+1.0));//字符随机数不会,模拟的数字随机数确定运算符号switch(c[k]) {case 4: {//加法RED();a[k]=1+(int)(10000.0*rand()/(RAND_MAX+1.0));// 10000 可修改,表示产生的随机整数的最大值b[k]=1+(int)(10000.0*rand()/(RAND_MAX+1.0));ans=a[k]+b[k];printf("     %d + %d 答案是  ",a[k],b[k]);ans_yourans();//目的简化代码,自定义重复的函数break;}case 1: {//减法RED();a[k]=1+(int)(5000.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(a[k]*rand()/(RAND_MAX+1.0));// 此处的 a[k] 目的保证,减数<被减数,避免小学生计算负数ans=a[k]-b[k];printf("     %d - %d 答案是  ",a[k],b[k]);ans_yourans();break;}case 2: {//乘法RED();a[k]=1+(int)(100.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(10.0*rand()/(RAND_MAX+1.0));ans=a[k]*b[k];printf("     %d * %d 答案是  ",a[k],b[k]);ans_yourans();break;}case 3: {//除法RED();a[k]=1+(int)(100.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(10.0*rand()/(RAND_MAX+1.0));ans=(double)a[k]/(double)b[k];//不会出现 b[k]=0 的情况printf("     %d / %d 答案是(两位小数,四舍五入)  ",a[k],b[k]);ans_yourans();break;}}}LIGHT();printf("\n*********************解  题  报  告*********************\n你的分数是 %d .\n",chengji);printf("你一共做了 %d 道题,正确 %d 题,错误 %d 题 。\n",N,dui,cuo);printf("请点击 Ctrl + Shift +J (搜狗输入法截图快捷键)截图保存该报告。\n");} elseprintf("让你按的是昂,Baby!*****  1  *****!!!!\n");system("pause");//屏幕暂停函数return 0;
}



版本:1.0(2016年1月29日14:34:07)
代码:
#include<stdio.h>
#include<time.h>
#include<string.h>
#include<stdlib.h>
#include <windows.h>
#define MYDD 30000 void RED() {//控制台调整前景色为红色HANDLE kai_1 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_1, FOREGROUND_INTENSITY | FOREGROUND_RED); // 为红色
}void GREEN() {//控制台调整前景色为绿色HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_GREEN);// 为绿色
}void LIGHT() {//控制台调整前景色为强光HANDLE kai_2 = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleTextAttribute(kai_2, FOREGROUND_INTENSITY | FOREGROUND_INTENSITY);// 为强光
}int main() {int a[MYDD],b[MYDD],c[MYDD];double e[MYDD],d[MYDD];int x,y,N,wqs;double ans,youans; int i,j,cuo,dui;GREEN(); printf("小同学,要努力昂:\n");printf("你想做多少道题目?\n请键入你想要做的题目。\n");RED();scanf("%d",&N) ;printf("你想做的 %d 道\n得分规则:正确一道得分+10,错误一道得分-12\n请键入数字 1 后,回车键开始挑战!\n",N);scanf("%d",&wqs);if(wqs==1) {srand((int)time(0));int chengji=0;//记录成绩 dui=cuo=0;//记录做题数目的对错情况 for(int k=1; k<=N; k++) {LIGHT();printf("当前第 %d 题,剩余 %d 题\n     现在你的分数是  %d  分\n",k,N-k,chengji);c[k]=1+(int)(4.0*rand()/(RAND_MAX+1.0));//字符随机数不会,模拟的数字随机数确定运算符号 switch(c[k]) {case 4: { RED();a[k]=1+(int)(10000.0*rand()/(RAND_MAX+1.0));// 10000 可修改,表示产生的随机整数的最大值 b[k]=1+(int)(10000.0*rand()/(RAND_MAX+1.0));ans=a[k]+b[k];printf("     %d + %d 答案是  ",a[k],b[k]);GREEN();scanf("%lf",&youans);if(youans==ans) {printf("   你的答案是 √恭喜正确,继续努力.\n\n");chengji+=10;dui++;} else { LIGHT();printf("   正确答案为  %.0lf\n    你的答案是  × 不要气馁,再仔细算算.\n\n",ans);chengji-=12;cuo++;}break;}case 1: { RED();a[k]=1+(int)(5000.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(a[k]*rand()/(RAND_MAX+1.0)); ans=a[k]-b[k];printf("     %d - %d 答案是  ",a[k],b[k]);GREEN();scanf("%lf",&youans);if(youans==ans) {printf("   你的答案是 √恭喜正确,继续努力.\n\n");chengji+=10;dui++;} else {LIGHT();printf("   正确答案为  %.0lf\n    你的答案是  × 不要气馁,再仔细算算.\n\n",ans);chengji-=12;cuo++;}break;}case 2: { RED();a[k]=1+(int)(100.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(10.0*rand()/(RAND_MAX+1.0));ans=a[k]*b[k];printf("     %d * %d 答案是  ",a[k],b[k]);GREEN();scanf("%lf",&youans);if(youans==ans) {printf("   你的答案是 √恭喜正确,继续努力.\n\n");chengji+=10;dui++;} else {GREEN();printf("   正确答案为  %.0lf\n    你的答案是  × 不要气馁,再仔细算算.\n\n",ans);chengji-=12;cuo++;}break;}case 3: { RED();a[k]=1+(int)(100.0*rand()/(RAND_MAX+1.0));b[k]=1+(int)(10.0*rand()/(RAND_MAX+1.0));ans=(double)a[k]/(double)b[k]; printf("     %d / %d 答案是(两位小数,四舍五入)  ",a[k],b[k]);GREEN();scanf("%lf",&youans);if(youans==ans) {printf("   你的答案是 √恭喜正确,继续努力.\n\n");chengji+=10;dui++;} else {GREEN();printf("   正确答案为  %.2lf\n    你的答案是  × 不要气馁,再仔细算算.\n\n",ans);chengji-=12;cuo++;}break;}}}LIGHT();printf("\n*********************解  题  报  告*********************\n你的分数是 %d .\n",chengji);printf("你一共做了 %d 道题,正确 %d 题,错误 %d 题 。\n",N,dui,cuo);printf("请点击 Ctrl + Shift +J 截图保存该报告。\n");} elseprintf("让你按的是  1   !!!!\n");system("pause"); return 0;
}


这篇关于C语言课程设计(这个没在老师给定的题目内)——实用的作答题目小代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/489827

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

题目1254:N皇后问题

题目1254:N皇后问题 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: N皇后问题,即在N*N的方格棋盘内放置了N个皇后,使得它们不相互攻击(即任意2个皇后不允许处在同一排,同一列,也不允许处在同一斜线上。因为皇后可以直走,横走和斜走如下图)。 你的任务是,对于给定的N,求出有多少种合法的放置方法。输出N皇后问题所有不同的摆放情况个数。 输入

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1