四则运算

班级博客 点击打开班级地址
作业要求 点击查看作业要求
这个作业的目标 写一个能自动生成小学四则运算题目的程序
学号 3190704121

一、代码如下:

#include <stdio.h> #include <ctype.h> #include <time.h> #include <stdlib.h> #include <windows.h> #define IDNO_LENGTH 6 #define CALC_KIND 4 char getSignal();`` int getResult(int,int,char); void integer(); void fraction(); //main函数 void main() { int i,n,m; printf("**************\n"); printf(" 【出题类型】 \n"); printf("1.整数四则运算\n"); printf("2.分数四则运算\n"); printf("**************\n"); printf("请输入出题类型:"); scanf("%d",&i); printf("请输入出题数目:"); scanf("%d",&n); for(m=1;m<=n;m++) { if(i==1) integer(); else fraction(); } } //获取随机运算符 char getSignal() { char signal[CALC_KIND]={'+','-','*','/'}; srand((unsigned)time(NULL)); return signal[rand()%4]; } //获取随机数 int random(double start, double end) { return (int)(start+(end-start)*rand()/(RAND_MAX+ 1.0)); } //运算 int getResult(int num1,int num2,char signal) { int res; switch(signal) { case '+': res=num1+num2;break; case '-': res=num1-num2;break; case '*': res=num1*num2;break; case '/': res=num1/num2;break; default: res=0; printf("运算符不符合规则\n"); } return res; } //整数 void integer() { int giveRes; int num1; int num2; static int count=0; char signal; srand((unsigned)time(NULL)); signal=getSignal(); num1=random(0,100); num2=random(1,100); if(signal=='-') { if(num1<num2) { int temp; temp=num1; num1=num2; num2=temp; } } if(signal=='/') { printf("\n(若该题计算结果含余数,请将结果只保留整数部分)\n"); } printf("%d%c%d=",num1,signal,num2); scanf("%d",&giveRes); fflush(stdin); if(getResult(num1,num2,signal)==giveRes) { printf("\nYou're Correct!\n\n"); count++; } else { printf("\nSorry you're wrong!\n"); printf("The right answer is:%d\n\n",getResult(num1,num2,signal)); } printf("你一共答对%d道题\n",count); } //分数 void fraction() { int num1,num2,num3,num4; char signal; num1=rand()%100+1; num2=rand()%100+1; num3=rand()%100+1; num4=rand()%100+1; char op; while(num1<=num2||num3<=num4) { num1=rand()%100+1; num2=rand()%100+1; num3=rand()%100+1; num4=rand()%100+1; } signal=getSignal(); if(signal=='-') while((num2*num3-num1*num4)<0) { num1=rand()%100+1; num2=rand()%100+1; num3=rand()%100+1; num4=rand()%100+1; } printf("%d/%d%c%d/%d=\n",num2,num1,signal,num4,num3); }

二、运行截图:

三、心得体会:
这是我在博客上写的第一个代码,还有很多不完善的地方,比如
除法运算的问题,在今后的学习中我还会在博客园中发表更多的代码,
希望大家浏览改正,共同提高!

四、psp:

任务内容 计划 完成需要的时间(min) 实际完成需要的时间(min)
Planning 计划 10 5
Estimate 估计这个任务需要多少时间,并规划大致工作步骤 10 12
Development 开发 100 80
Analysis 需求分析(包括学习新技术) 12 7
Design Spec 生成设计文档 5 9
Design Review 设计复审 5 8
Coding Standard 代码规范 3 7
Design 具体设计 10 20
Coding 具体编码 36 30
Code Review 代码复审 5 9
Test 测试(自我测试,修改代码,提交修改) 10 20
Reporting 报告 9 9
Test Report 测试报告 3 8
Size Measurement 计算工作量 2 5
Postmortem & Process Improvement Plan 事后总结,并提出过程改进计划 3 5

__EOF__

本文作者粥粥alg
本文链接https://www.cnblogs.com/3456939606zwp/p/13888392.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   粥粥alg  阅读(130)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示