【Ex.】随机产生两个数计算之和
来源:互联网 发布:mysql 间隙锁 编辑:程序博客网 时间:2024/06/05 11:40
这个程序的重点在于随机!而不是你人为的去输入两个数然后计算机为你计算。这里是反过来电脑给你数字你来计算。
伪随机函数int rand()
其原型在“stdlib.h”中,每调用一次这个函数,就产生一个0到32767之间的随机数。 一般情况下,如果要得到[a,b]之间的随机数,可用表达式a+rand()%(b-a)。
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>int main(){ int sum; int a = rand() % 100; int b = rand() % 100; printf("%d + %d = ", a, b); scanf("%d", &sum); if (sum == a + b) { printf("You are right!\n"); } else { printf("You are wrong!\n"); } system("pause"); return 0;}
实际上当你运行以上代码时你会发现,它总是重复你第一次运行时出现的那两个数字,然而我就是,当我运行不管多少次都是这两个数字。
运行结果如下:
程序是没有任何问题的,但为什么总是出现相同的数字呢!所以我们需要对程序做改进。
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include <time.h>int main(){ int sum; srand((unsigned int)time(NULL)); int a = rand() % 100; int b = rand() % 100; printf("%d + %d = ", a, b); scanf("%d", &sum); if (sum == a + b) { printf("You are right!\n"); } else { printf("You are wrong!\n"); } system("pause"); return 0;}
当我们加上一行代码和一个头文件时,我们的数字做到了真正的随机!
运行结果如下:
在随机函数上我也只是略懂,希望大家多多指点。
实际上这个程序还可以做的更加完善,当我们输错答案之后,提醒我们错误再输入一次,当输入次数达到三次以后,将不再提示输入,将直接给出答案。这与用户登录界面有一点类似。
代码如下:
#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include <time.h>int main(){ int sum; int count=0; srand((unsigned int)time(NULL)); int a = rand() % 100; int b = rand() % 100; do { printf("%d + %d = ", a, b); scanf("%d", &sum); if (sum == a + b) { printf("You are right!\n"); break; } else { printf("You are wrong!\n"); count++; } } while (count < 3); if (count == 3) { printf("The answer is %d\n", a + b); } system("pause"); return 0;}
运行结果如下:
阅读全文
0 0
- 【Ex.】随机产生两个数计算之和
- 求两个数之和
- 两个数之和
- 随机产生不同数
- 随机产生数
- 给你两个数 a 和 b , 请你计算 a b 之间所有数的数字之和
- 计算两个复数之和、差
- 计算两个复数之和、差
- 计算两个复数之和、差.
- 计算两个整数相加之和
- 随机产生不同的数
- 随机产生不同的数
- [google面试CTCI] 2-4 计算两个单链表所代表的数之和
- 8086汇编 计算输入两个十进制数之和用16进制输出//输入两个十六进制数之和用10进制输出
- 两个数之和等于目标数
- 数组两个数之和,等于给定数
- jQuery计算两个文本框中数字之和
- C# 计算两个复数之和、差
- 【贪心】【模拟】[POJ1877]Flooded!
- React Native入门(二)之Hello World(AwesomeProject)项目介绍
- 重磅报告 | 阿里研究院发布新网商五大预测_2020年诞生第一个机器人网商?
- iOS代码规范
- 点宏织造厂ERP生产管理系统解决方案
- 【Ex.】随机产生两个数计算之和
- 文字飞舞和合成
- JZOJ 100043. 【NOIP2017提高A组模拟7.13】第K小数
- PHP之一维数组、二维数组排序
- Java多线程基础
- DrawingView android上的一个自定义涂鸦控件
- FastJson解析处理内部类问题
- tomcat中运行PHP项目
- Word通配符的使用