计算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次就可以算出。
网友评论