求log以2为底x的对数
条件:
- 针对新手,结果不必精确
- 用户输入的值为x(需要输入函数scanf)
- 结果以“ log以2为底__的对数的值为__ ” 的形式输出。(需要输出函数printf)
代码实现:
#include <stdio.h>
int main(void)
{
int x;
int t;
int ret = 0;
scanf("%d", &x);
t = x;
while (x>1){
x/=2;
ret ++;
}
printf("log以2为底,%d的对数的值为%d", t, ret);
return 0;
}
输出火箭发射倒计时
条件:
- 倒计时秒数由用户输入(需要输入函数scanf)
- 秒数以竖列形式排布(需要\n)
代码实现:
#include <stdio.h>
int main(void)
{
int count = 0;
scanf("%d",&count);
printf("下面进入发射倒计时:\n");
while(count>=0){
printf("%d\n",count);
count--;
}
printf("发射!!!!!!\n");
return 0;
}
以秒数10为例,输出结果如下:
猜数游戏
条件:
- 让计算机来想一个数字,让用户来猜(引入随机数,利用标准库函数rand())
- 约束随机数到1到100的范围内
- 用户每输入一个数,就告诉它是大了还是小了,知道用户猜中为止
- 告诉用户猜中这个数用的次数
思路帮助:
如何获得随机数:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int a = rand();
printf("%d\n", a);
return 0;
}
每次召唤rand()就得到一个随机的整数!
将随机数融入猜数游戏,并补充细节,
代码实现:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int num = rand()%100+1;
int count = 0;
int x = 0;
printf("来猜一下一个1到100之间的数\n");
do {
printf("请输入你的想法:\n");
count++;
scanf("%d", &x);
if (x>num){
printf("你猜的数大了\n");
printf("请再试一次吧");
}else if (x<num){
printf("你猜的数小了\n");
printf("请再试一次吧");
}
}while (x!=num);
printf("恭喜你,你猜对了!\n");
printf("你所使用的次数为%d", count);
return 0;
}
完成
算平均数
条件:
- 不利用数组的知识
- 利用循环不断接收用户输入的数字,直到用户输入-1
- 输出结果
代码实现:
while循环实现:
#include <stdio.h>
int main()
{
int num;
int sum = 0;
int count = 0;
scanf("%d", &num);
while (num != -1){
sum += num;
count++;
scanf("%d", &num);
}
printf("平均值为:%f", 1.0*sum/count);
return 0;
}
do-while循环实现:
#include <stdio.h>
int main()
{
int num;
int sum = 0;
int count = 0;
do {
scanf("%d", &num);
if(num != -1){
sum += num;
count++;
}
}while ( num!= -1);
printf("平均值为:%f", 1.0*sum/count);
return 0;
}
完成