2018-01-21

2018-01-21  本文已影响0人  煮海三杯水

计算log2X中的x的具体值

#include

int main()

{

int x,ret=0;

scanf("%d",&x);

while(x>1)

{x/=2;

ret++;

}

printf("log2 of %f is %d.",x,ret);

}

但是这个程序却输出不了原来的x,所以需要改进;

#include

int main()

{

int x,ret=0,t;

scanf("%d",&x);

t=x;

while(x>1)

{x/=2;

ret++;

}

printf("log2 of %d is %d.",t,ret);

}

猜数游戏

 • 让计算机来想⼀一个数,然后让⽤用户来猜, ⽤用户每输⼊入⼀一个数,就告诉它是⼤大了还是 ⼩小了,直到⽤用户猜中为⽌止,最后还要告诉 ⽤用户它猜了多少次。

• 因为需要不断重复让⽤用户猜,所以需要⽤用 到循环

• 在实际写出程序之前,我们可以先⽤用⽂文字 描述程序的思路

• 核⼼心重点是循环的条件

• ⼈人们往往会考虑循环终⽌止的条件

步骤

1. 计算机随机想⼀一个数,记在变量number⾥里;

2. ⼀一个负责计次数的变量count初始化为0;

3. 让⽤用户输⼊入⼀一个数字a;

4. count递增(加⼀一);

5. 判断a和number的⼤大⼩小关系,如果a⼤大,就输出 “⼤大”;如果a⼩小就输出“⼩小”;

6. 如果a和number是不相等的(⽆无论⼤大还是⼩小),程 序转回到第3步;

7. 否则,程序输出“猜中”和次数,然后结束。

程序

#include <stdio.h>

#include <stdlib.h>

#include<time.h>

int main()

{

srand(time(0));

int number = rand()%100+1;//为了得到一个100以内的数

int count = 0; int a = 0;

printf("我已经想好了?一个1到100之间的数。");

do {printf("请猜这个1到100之间数:");

scanf("%d", &a);

    count ++;

if ( a > number )

{printf( "你猜的数?大了。");

}

else if ( a < number )

{ printf("你猜的数?小了。");}

}

  while (a != number);

printf("太好了,你?用了%d次就猜到了答案。\n", count);

其实100以内的数最多用7次就可以算出。

上一篇 下一篇

猜你喜欢

热点阅读