标签:for循环语句 and 循环 交换 运行 函数 nbsp 决定 ==
做这个程序,用了差不多半个小时。从开始的思路到语句的实践,之间也出现了一些语法的错误,最后也得到了修正。由于学习的语言种类有限(c#刚刚开始学,大一时学习过c语言),在这里选择用C语言编写这个程序,环境是vs2010。
编写软件的大纲及思路:
1.需要生成随机自然数,我选择了rand函数
2.需要有加减乘除符号且随机分布,我定义了一个随机数c,当随机数取0的时就是+,取1的时就是-,取2的时就是*,取3的时就是/
3.减法算出来的数不能为负,我采用了if函数先判断大小,如果顺序不合适就对两个随机数进行交换
4.用for循环语句可以轻松的生成30道题目
代码如下:
#include<stdio.h> #include<Windows.h> #include<time.h> void main() { int a, b, c, d, i; srand(unsigned( time(NULL))); for(i = 0; i < 30; i++) { a = rand() % 100; b = rand() % 100; c = rand() % 4; switch (c) { case 0:printf("%d + %d =\n",a,b); break; case 1:if (a < b) { d = a; a = b; b = d; } printf("%d - %d =\n", a, b); break; case 2:printf("%d * %d =\n",a,b); break; case 3: while (b == 0) { b = rand() % 100; } printf("%d / %d =\n", a, b); break; } } system("pause"); }
运行结果如下:
和同学的程序相比,都使用了随机函数rand获取随机数,利用for函数控制生成题型的数量。不同之处在于“+ - * /”符号的生成方式,我是定义了一个随机变量c,它的值域是0-3,通过c生成的数来决定加减乘除的符号,而同学的是先定义一个包含加减乘除的字符串,然后利用srand在里面获取随机运算符。总的来说,结果都是一样的,我也学习到另一种编程方法,收获颇多。
标签:for循环语句 and 循环 交换 运行 函数 nbsp 决定 ==
原文地址:https://www.cnblogs.com/xuzhengdong/p/9750876.html