能力值:
( LV2,RANK:10 )
|
-
-
2 楼
#include <stdlib.h>//定义随机函数
#include <stdio.h>
#include <time.h>//定义时间函数,获取真随机数
void main()
{
int w,m,k;
float z,t;
char f;
loop:
printf("指定运算符请按1,随机运算符请输入2: ");
scanf("%d%*c",&k);
while(k!=1&&k!=2)
{
printf("输入错误请重新输入:\n");
scanf("%d%*c",&k);
system("CLS");
}
if (k==1)
{
srand((unsigned)time(0));//给随机数产生一个随机种子,在0-65535之间
w=(rand()%11);//从X到Y,有Y-X+1个数,所以要产生从X到Y的数k=rand()%(Y-X+1)+X;这样,就可以产生你想要的任何范围内的随机数了。
m=(rand()%10);
printf("请输入想运算的类型(+,-,*,/):");
f=getchar();
while(f!='+'&&f!='-'&&f!='*'&&f!='/')
{
printf("输入错误请重新输入:");
f=getchar();
system("CLS");
}
/*判断输入的符号,并计算相应的数值,把结果存到z中*/
switch(f)
{
case '+':z=w+m,printf("请计算下式,并给出正确结果:\n\n\t%d+%d=",w,m);break;
case '-':z=w-m,printf("请计算下式,并给出正确结果:\n\n\t%d-%d=",w,m);break;
case '*':z=w*m,printf("请计算下式,并给出正确结果:\n\n\t%d×%d=",w,m);break;
case '/':z=(float)w/(++m),printf("请计算下式,并给出正确结果(保留到小数点后一位):\n\n\t%d÷%d=",w,m);break;//(++m)确保赋给被除数的随机数不为0
}
scanf("%f%*c",&t);
if(t==z) printf("\n\n恭喜您回答正确!\n按回车继续!\n");//从内存中调出z的值与输入的t比较
else printf("\n\n很遗憾答案错误,正确的答案为%3.1f\n\n按回车继续!\n",z);
system("pause>nul");
system("CLS");
}
if (k==2)
{
srand((unsigned)time(0));
w=(rand()%11);
m=(rand()%10);
f=(rand()%4);
switch(f)
{
case 0 :z=w+m,printf("请计算下式,并给出正确结果:\n\n\t%d+%d=",w,m);break;
case 1 :z=w-m,printf("请计算下式,并给出正确结果:\n\n\t%d-%d=",w,m);break;
case 2 :z=w*m,printf("请计算下式,并给出正确结果:\n\n\t%d×%d=",w,m);break;
case 3 :z=(float)w/(++m),printf("请计算下式,并给出正确结果(保留到小数点后一位):\n\n\t%d÷%d=",w,m);break;
}
scanf("%f",&t);
if(t==z) printf("\n\n恭喜您回答正确!\n按回车继续!\n");
else printf("\n\n很遗憾答案错误,正确的答案为%3.1f\n按回车继续!\n",z);
system("pause>nul");
system("CLS");
}
goto loop;
}
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
学习了
谢谢
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
刷新下看看 刚才从新编辑了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
楼主辛苦了,先在个地方,学习后再发表意见
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
scanf("%d%*c",&k); “%*c”为什么+这个.........? 这段代码 C语言简单的代码!...... 只是随机的运算!..
获取邀请码的 几率 很渺茫
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
while(k!=1&&k!=2)
{
printf("输入错误请重新输入:\n");
scanf("%d",&k);
system("CLS");
}
这段代码 有问题!.............. 如果输入的不是 1或2 它是提示错误直接循环 不会让你有输入的机会! 应该用 if 语句!
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
百分号(%)与格式符之间的星号(*)表示读指定类型的数据但不保存。
具体想知道的话 自己运行看看 如果不加 %*c 结果是什么样子的
这段代码的确简单 正式会员对我来说 只是 个 跟更多会员交流的一个机会
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
会继续让你 输入的。粘贴下来 运行看看呵呵。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
楼主学习C是为什么呢?为了做破解还是为了做程序员?
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
感兴趣咯。就这么简单
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
你自己 输入一个 字母 看看后面会有什么现象!一位的字母 !
还有去掉你那 %*c 没有什么异常.....
................ 你所说的指定的 类型? 是什么类型 .? C语言我学的不精....
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
如果去掉 %*c 当你在 选择 类型的时候 输入了除 1,2以外的数 ,会提示 输入错误请 重新输入 如果重新输入了正确的数值 他还会提示你输入错误,关于输入数字以外的数导致死循环 我还是没注意 谢谢 提醒 啊 我在试试去
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
比如你输入10d,k就等于10,就这个意思。
|
能力值:
( LV2,RANK:10 )
|
-
-
15 楼
这个c程序是干嘛用的,看不太明白,有没有用啊!!
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
挺好,学习了
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
看得我似懂非懂的,好久没学C了,有点遗忘哈!不过还是可以的,帮顶!
|
能力值:
( LV2,RANK:10 )
|
-
-
18 楼
这个好不好用
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
希望你能得到
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
好像只是一个运算的程序
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
大一时过了个C 2,七年过去了,后来再没碰过,不知还能想起多少来!那时感觉学编程没用,后来觉得还是有用滴,就改学VB了。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
看下长分没有
|
能力值:
( LV2,RANK:10 )
|
-
-
23 楼
呃
随机运算?
|
能力值:
( LV2,RANK:10 )
|
-
-
24 楼
感觉LZ大哥获得邀请码的概率很低啊
|
能力值:
( LV2,RANK:10 )
|
-
-
25 楼
学C就是学习基础,学习思想,而且C目前在好多地方都很有用。
|