课程设计——算术运算

2024-06-02 21:48
文章标签 运算 课程设计 算术

本文主要是介绍课程设计——算术运算,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <stdio.h>
#include <stdlib.h>
#include <time.h>int menu()
{int chioce;system("cls");printf("课程设计——算术运算\n");printf("1:加减运算\n");printf("2:乘除运算\n");printf("3:四则混合\n");printf("0:退出\n");printf("请输入选择:");scanf("%d",&chioce);while(chioce<0||chioce>3){printf("请重新选择:");scanf("%d",&chioce);//如果选择范围不是[0,3]重新选择}return chioce;//把结果返回
}void Rand_Num(int n,int* arr1,int* arr2,int* arr3,int m)
{int i;switch(m)//根据传进来的 1 2 3确定是+ -   *  /还是混合{case 1:for(i=0;i<n;i++){arr2[i]=rand()%2;//0+  1-}break;case 2:for(i=0;i<n;i++){arr2[i]=rand()%2+2;//2*  3/}break;case 3:for(i=0;i<n;i++){arr2[i]=rand()%4;//0+  1- 2*  3/ }break;}for(i=0;i<n;i++){arr1[i]=rand()%100;//生成随机数【0-99】arr3[i]=rand()%100;//生成随机数【0-99】if(arr2[i]==3)//如果是除法{while(arr1[i]%arr3[i]!=0)//避免出现不能整除{arr3[i]--;//不能整除就第二个数-1}}}
}void Add_Sub(int n,int m)
{int i;int sum=0;int* arr1=(int*)malloc(sizeof(int)*n);//操作数1int* arr2=(int*)malloc(sizeof(int)*n);//记录符号int* arr3=(int*)malloc(sizeof(int)*n);//操作数3int* ans=(int*)malloc(sizeof(int)*n);//记录答案system("cls");Rand_Num(n,arr1,arr2,arr3,m);for(i=0;i<n;i++)//循环输出所有表达式{switch(arr2[i])//根据不同符号显示{case 0:printf("%d+%d=",arr1[i],arr3[i]);scanf("%d",&ans[i]);break;case 1:printf("%d-%d=",arr1[i],arr3[i]);scanf("%d",&ans[i]);break;case 2:printf("%d×%d=",arr1[i],arr3[i]);scanf("%d",&ans[i]);break;case 3:printf("%d÷%d=",arr1[i],arr3[i]);scanf("%d",&ans[i]);break;}}for(i=0;i<n;i++){switch(arr2[i])//根据符号 判断答案正确还是错误{case 0:printf("%d+%d=%d",arr1[i],arr3[i],ans[i]);if(arr1[i]+arr3[i]==ans[i]){printf(" 正确\n");sum++;//如果正确  则正确数目+1}else//如果错误  则显示正确的结果{printf(" 错误,正确结果是%d!\n",arr1[i]+arr3[i]);}break;case 1:printf("%d-%d=%d",arr1[i],arr3[i],ans[i]);if(arr1[i]-arr3[i]==ans[i]){printf(" 正确\n");sum++;}else{printf(" 错误,正确结果是%d!\n",arr1[i]-arr3[i]);}break;case 2:printf("%d×%d=%d",arr1[i],arr3[i],ans[i]);if(arr1[i]*arr3[i]==ans[i]){printf(" 正确\n");sum++;}else{printf(" 错误,正确结果是%d!\n",arr1[i]*arr3[i]);}break;case 3:printf("%d÷%d=%d",arr1[i],arr3[i],ans[i]);if(arr1[i]/arr3[i]==ans[i]){printf(" 正确\n");sum++;}else{printf(" 错误,正确结果是%d!\n",arr1[i]/arr3[i]);}break;}}printf("成绩统计——\n");printf("——本轮测试共%d题\n",n);printf("——正确作答%d题,错误%d题\n",sum,n-sum);printf("——正确率为%.2f%%;加油!\n",sum*1.0/n*100);//用.2f输出  保留两位小数free(arr1);free(arr2);free(arr3);free(ans);//释放内存  避免内存泄露system("pause");
}int main()
{int chioce;int n;do{chioce=menu();srand(time(NULL));//初始化随机数种子n=rand()%10+1;//随机产生1-10个题目switch(chioce){case 1:case 2:case 3:Add_Sub(n,chioce);break;}}while(chioce!=0);return 0;
}

这篇关于课程设计——算术运算的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

运算放大器(运放)低通滤波反相放大器电路和积分器电路

低通滤波反相放大器电路 运放积分器电路请访问下行链接 运算放大器(运放)积分器电路 设计目标 输入ViMin输入ViMax输出VoMin输出VoMaxBW:fp电源Vee电源Vcc–0.1V0.1V–2V2V2kHz–2.5V2.5V 设计说明 这款可调式低通反相放大器电路可将信号电平放大 26dB 或 20V/V。R2 和 C1 可设置此电路的截止频率。此电路的频率响应与无源 RC 滤

无法解决 equal to 运算中 Chinese_PRC_90_CI_AS 和 Chinese_PRC_BIN 之间的排序规则冲突

这是因为数据库 oa 和 hh 的编码格式不一样导致的 select  groupname as oper_id,name as oper_name from security_users where name collate Chinese_PRC_CI_AS not in (select oper_name from PDA_UsersAndPWD )

不使用判断比较符比较两个整数的大小(位运算)

在不使用判断操作符和比较操作符情况下判断两个整数的大小, 关于C# 的运算符可以查看官方说明: https://msdn.microsoft.com/zh-cn/library/xt18et0d(v=vs.80).aspx int Min(int a ,int b){int c =a-b;int sa=sign(a);int sb=sign(b);int sc=sign(

VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南

VFB电压反馈和CFB电流反馈运算放大器(运放)选择指南 电流反馈和电压反馈具有不同的应用优势。在很多应用中,CFB和VFB的差异并不明显。当今的许多高速CFB和VFB放大器在性能上不相上下,但各有其优缺点。本指南将考察与这两种拓扑结构相关的重要考虑因素。 VFB和CFB运算放大器的直流及运行考虑因素 VFB运算放大器 对于要求高开环增益、低失调电压和低偏置电流的精密低频应用,VFB运算放

c语言移位运算超出类型所能表示的范围告警

错误代码: *(unsigned int *)GPIOC_CRH &= ~(0xf << 28); 告警内容: integer operation result is out of range 分析:  integer operation result is out of range是因为在尝试对一个32位整型执行移位操作时超出了该类型所能表示的范围。在C语言中,整型字面量(如0xf

数学位运算

位运算 位运算有&,|,^,<<和>> 按位与 参加运算的两个数据,按二进制位进行“与”运算。 运算规则:0&0=0; 0&1=0; 1&0=0; 1&1=1; 即:两位同时为“1”,结果才为“1”,否则为0 例如: 11 & 10    即 1011 & 1010 = 1010    因此,11 & 10的值得10 按位或 参加运算的两个对象,按二进制位进行“或”运算。 运算规则:0|

计算机组成原理 | 数据的表示、运算和校验(3)数据处理与存储

移位 舍入和扩展 存储模式和对齐 不按边界对齐,访存次数会增加一次

Java之运算符,位运算(源码反码补码)和基本数据类型

文章目录 1 java运算符1.1 各个运算符一览1.2 部分运算符说明1.3 java基本位操作1.3.1 位操作符号1.3.2 原码反码补码1.3.2.1 相关定义1.3.2.2 为何要使用原码, 反码和补码1.3.2.3 负数运算1.3.2.4 转换16进制为什么需要 &0xff 1.3.3 常用的位运算符运算1.3.3.1 左右位移 2 基本数据类型 1 java运算符

第6节:scala中数组的操作运算

1.partitions本身也是个集合 package croyimport scala.collection.mutable.ArrayBufferimport scala.util.Sortingobject HelloArrayOps {def main(args: Array[String]): Unit = {//val array=new Ar

点运算中的伽马gamma变换

/// 伽马变换 公式:y = (x + esp)^gammaMat Gamma_image;Gamma_image.create(512,512,CV_64FC1);//创建伽马图以保存结果像并初始化cvtColor(input_image, input_image, CV_BGR2GRAY);//输入图像(lena图)灰度化input_image.convertTo(input_image,