首页
社区
课程
招聘
[旧帖] [原创][原创]自学C语言1个月后写了个小程序算作总结吧[希望获取邀请码] 0.00雪花
发表于: 2010-2-21 15:51 2513

[旧帖] [原创][原创]自学C语言1个月后写了个小程序算作总结吧[希望获取邀请码] 0.00雪花

2010-2-21 15:51
2513
在看雪论坛逛了逛 下定决心学汇编和C语言,学习有1个来月了,汇编看的蒙蒙懂,C语言 上的一些名词对于汇编来说还是直观点。学习1个来月了,写了个小程序 总结了一下学到的一些 语句和函数 虽然 没什么 实用价值 算作我学习的一个阶段性的总结吧。源码在2楼

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (27)
雪    币: 82
活跃值: (10)
能力值: ( 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;
}
2010-2-21 15:53
0
雪    币: 243
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
学习了
谢谢
2010-2-21 15:54
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
刷新下看看 刚才从新编辑了
2010-2-21 15:56
0
雪    币: 85
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
楼主辛苦了,先在个地方,学习后再发表意见
2010-2-21 16:02
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
scanf("%d%*c",&k);

“%*c”为什么+这个.........?

              这段代码   C语言简单的代码!...... 只是随机的运算!..

         获取邀请码的 几率  很渺茫
2010-2-21 16:14
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
while(k!=1&&k!=2)
{
  
  printf("输入错误请重新输入:\n");
  scanf("%d",&k);
  system("CLS");
  }

这段代码  有问题!..............  如果输入的不是 1或2    它是提示错误直接循环 不会让你有输入的机会!  应该用 if 语句!
2010-2-21 16:17
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
百分号(%)与格式符之间的星号(*)表示读指定类型的数据但不保存。
具体想知道的话 自己运行看看 如果不加 %*c 结果是什么样子的

这段代码的确简单 正式会员对我来说 只是 个 跟更多会员交流的一个机会
2010-2-21 16:20
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
会继续让你 输入的。粘贴下来 运行看看呵呵。
2010-2-21 16:21
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
楼主学习C是为什么呢?为了做破解还是为了做程序员?
2010-2-21 16:23
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
感兴趣咯。就这么简单
2010-2-21 16:26
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
         
                 你自己 输入一个  字母  看看后面会有什么现象!一位的字母 !

      还有去掉你那    %*c   没有什么异常.....         
      
................             你所说的指定的 类型?  是什么类型 .?  C语言我学的不精....
2010-2-21 17:08
0
雪    币: 82
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
如果去掉  %*c  当你在 选择 类型的时候 输入了除 1,2以外的数 ,会提示 输入错误请 重新输入 如果重新输入了正确的数值 他还会提示你输入错误,关于输入数字以外的数导致死循环 我还是没注意 谢谢 提醒 啊 我在试试去
2010-2-21 17:18
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
比如你输入10d,k就等于10,就这个意思。
2010-2-21 17:18
0
雪    币: 6
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
这个c程序是干嘛用的,看不太明白,有没有用啊!!
2010-2-21 19:39
0
雪    币: 61
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
挺好,学习了
2010-5-11 19:38
0
雪    币: 237
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看得我似懂非懂的,好久没学C了,有点遗忘哈!不过还是可以的,帮顶!
2010-5-11 20:44
0
雪    币: 302
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
这个好不好用
2010-5-12 01:54
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
希望你能得到
2010-5-12 07:36
0
雪    币: 46
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
好像只是一个运算的程序
2010-5-12 07:40
0
雪    币: 407
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
大一时过了个C 2,七年过去了,后来再没碰过,不知还能想起多少来!那时感觉学编程没用,后来觉得还是有用滴,就改学VB了。
2010-5-12 09:05
0
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
看下长分没有
2010-5-12 09:37
0
雪    币: 4902
活跃值: (110)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
23

随机运算?
2010-5-12 09:40
0
雪    币: 32
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
感觉LZ大哥获得邀请码的概率很低啊
2010-5-12 10:19
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
学C就是学习基础,学习思想,而且C目前在好多地方都很有用。
2010-5-12 14:01
0
游客
登录 | 注册 方可回帖
返回
//