整数乘除法练习题

2024-06-01 00:52
文章标签 练习题 整数 乘除

本文主要是介绍整数乘除法练习题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h> 
#include<stdlib.h>
#include<time.h>
#include<Windows.h>void show1();		.//开始界面
int getchoice();	//选择界面
int dowork(int n);		//随机做乘除法
int num();				//用户确定做题的数量
void print(int s,int n);		//打印得分以及评价void show1()                                    //开始界面 
{ printf("****************************************\n");printf("|                                      |\n");printf("|       欢迎使用整数乘除法练习器       |\n");printf("|                                      |\n");printf("|             1. 开始                  |\n");printf("|             2. 退出                  |\n");printf("|                                      |\n");printf("|       请选择:                       |\n");printf("|                                      |\n");printf("****************************************\n");
}int getchoice()
{int a;scanf("%d",&a);return a;
}int num()                                    //题量获取 
{int n; printf("请输入要做的题目数:\n");scanf("%d",&n);return n;
} int dowork(int n)                                       //练习模块 
{int a,b,c,d,e,i,s=0,x=0,y=0;srand((int)time(NULL)); 					//产生不同随机数for(i=0;i<n;i++){e=rand()%2;			//随机产生0或1,来控制随机是乘法(0)还是除法(1)a=rand()%100;		//产生100以内的随机数并赋值b=rand()%100;if(e==0)                                       //乘法 {if(a*b<100){printf("%d*%d=",a,b);scanf("%d",&d);if(a*b==d){printf("正确!\n");s+=10;x++;}else{printf("错误!\n");y++;} }else{n++;continue;}}if(e==1)                                   //除法 {if(b!=0&&a%b==0)                   //b(分母)不能为零,无意义 {printf("%d/%d=",a,b);scanf("%d",&c);if(a/b==c){printf("正确!\n");s+=10;x++;}else{printf("错误!\n");y++;} }else{n++;continue;} }}printf("您一共做了%d道题,其中正确%d道,错误%d道\n",x+y,x,y);return s;
}void print(int s,int n)                                 //根据百分比输出结果及评语 
{printf("您的得分是:%d\n",s);if(s/10/n<0.6)								//正确率60%以下printf("成绩不及格.\n请努力!\n");if(s/10/n>=0.6&&s/10/n<0.8)					//正确率60%到80%printf("成绩及格.\n请加油!");if(s/10/n>=0.8)								//正确率80%以上printf("成绩优秀.\n再接再厉!\n");
}int main()
{int a,n1,n2,s;
L:	show1();a=getchoice();if(a==1){system("cls");                                         //清屏代码 n1=n2=num();printf("Let's go!!!\n");}else if(a==2){system("cls");printf("谢谢使用!\n");return 0; }s=dowork(n1);print(s,n2);Sleep(4000);                                //延迟4秒(引用库函数Windows.h) goto  L;                                  //跳转到 L 标签 
}

主界面:

正确提示:

错误提示:

这篇关于整数乘除法练习题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

PTA求一批整数中出现最多的个位数字

作者 徐镜春 单位 浙江大学 给定一批整数,分析每个整数的每一位数字,求出现次数最多的个位数字。例如给定3个整数1234、2345、3456,其中出现最多次数的数字是3和4,均出现了3次。 输入格式: 输入在第1行中给出正整数N(≤1000),在第二行中给出N个不超过整型范围的非负整数,数字间以空格分隔。 输出格式: 在一行中按格式“M: n1 n2 ...”输出,其中M是最大次数,n

dp算法练习题【8】

不同二叉搜索树 96. 不同的二叉搜索树 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回满足题意的二叉搜索树的种数。 示例 1: 输入:n = 3输出:5 示例 2: 输入:n = 1输出:1 class Solution {public int numTrees(int n) {int[] dp = new int

整数Hash散列总结

方法:    step1  :线性探测  step2 散列   当 h(k)位置已经存储有元素的时候,依次探查(h(k)+i) mod S, i=1,2,3…,直到找到空的存储单元为止。其中,S为 数组长度。 HDU 1496   a*x1^2+b*x2^2+c*x3^2+d*x4^2=0 。 x在 [-100,100] 解的个数  const int MaxN = 3000

单精度浮点数按存储格式转为整数的程序

///#include<cstdio>//-----------------union int_char{unsigned char ch[4];float i;};void out_put(union int_char x)//x86是小端对其模式,即最数据的最低位存储在地址的最低位上。{printf("单精度浮点数值为:%f\n",x.i,x.i);printf("存储位置从左到右

C语言练习题之 数组中出现次数超过一半的数

题目描述 给一个长度为 n 的数组,数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 例如输入一个长度为9的数组[1,2,3,2,2,2,5,4,2]。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。 数据范围:n≤50000,数组中元素的值0≤val≤10000 要求:空间复杂度:O(1),时间复杂度O(n) 输入描述: 保证数组输入非空,且保证有

算法练习题17——leetcode54螺旋矩阵

题目描述 给你一个 m 行 n 列的矩阵 matrix ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。  代码 import java.util.*;class Solution {public List<Integer> spiralOrder(int[][] matrix) {// 用于存储螺旋顺序遍历的结果List<Integer> result = new ArrayList

用异或交换两个整数的陷阱

前面我们谈到了,可用通过异或运算交换两个数,而不需要任何的中间变量。 如下面: void exchange(int &a, int &b) {     a ^= b;     b ^= a;     a ^= b; } 然而,这里面却存在着一个非常隐蔽的陷阱。 通常我们在对数组进行操作的时候,会交换数组中的两个元素,如exchang(&a[i], &b[j]),

Java中等题-整数替换(力扣)

给定一个正整数 n ,你可以做如下操作: 如果 n 是偶数,则用 n / 2替换 n 。如果 n 是奇数,则可以用 n + 1或n - 1替换 n 。 返回 n 变为 1 所需的 最小替换次数 。 示例 1: 输入:n = 8输出:3解释:8 -> 4 -> 2 -> 1 示例 2: 输入:n = 7输出:4解释:7 -> 8 -> 4 -> 2 -> 1或 7 ->

43. 1 ~ n 整数中 1 出现的次数【难】

comments: true difficulty: 中等 edit_url: https://github.com/doocs/leetcode/edit/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9843.%201%EF%BD%9En%E6%95%B4%E6%95%B0%E4%B8%AD1%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%

【LeetCode】07.整数反转

题目要求 解题思路 这道题的难点在于怎么判断越界,我们无法直接与最大值或最小值比较,但是由于每一次我们的ret都需要乘10这个特性来使用ret与最大值或最小值除10进行比较 代码实现 class Solution {public:int reverse(int x) {int ret=0;while(x){//处理越界情况if(ret<INT_MIN/10||ret>INT_MAX