一.循环练习
#includeint main() { int x; int ret = 0; scanf_s("%d", &x); int t = x; while (x > 1) { x /= 2; ret++; } printf("log2 of %d is %d", t, ret); }
#includeint main() { int count = 3; while (count >= 0) { printf("%dn", count); count--; } }
经过检验,这个循环会跑count+1次,最后count=-1
如果调换count-- 和printf语句的位置,输出结果会不一样,但是循环次数一样。
二.猜数游戏
让计算机随机生成一个数,让用户来猜,每猜一次都让计算机显示是猜大了还是猜小了,并且在最后输出用户猜的次数。
算法:
1.让计算机随机生成一个数,并保存在变量number里;
2.设置变量n=0来控制次数;
3.用户输入猜测的数字,进入循环;
4.如果猜大了,输出“大”,猜小了,输出“小”;
5.n++
6.如果没猜中,回到第三步
7.猜中数字,跳出循环,输出循环次数
#include#include #include int main() { srand(time(0)); int number = rand() % 100 + 1; int count = 0; int a = 0; printf("我已经想好了一个1到100之间的数。"); do{ printf("请猜这个数:"); scanf_s("%d", &a); count++; if (a > number) { printf("你猜的数大了"); } else if (a < number) { printf("你猜的数小了"); } } while (a != number); printf("你用了%d次就猜到了答案。n", count); }
其中rand()是调用随机数的函数。
三.算平均数
让用户输入一系列正整数,输入-1,表示结束。然后程序计算这些数的平均数,输出这些数的个数和平均数。
算法:
1.初始化变量count和sum为0;
2.输入number;count+1
3.如果number不是-1,则加入sum;是-1,则跳出循环
4.输出count和sum
#includeint main() { int sum = 0; int count = 0; int number; do { printf("请输入一个数字:"); scanf_s("%d", &number); if (number != -1) { sum += number; count++; } } while (number != -1); printf("平均数是%d,一共有%d个数", sum / count, count); }
四.整数的逆序
输入任意一个数,输出它的逆序。
#includeint main() { int number =0; int ret =0; int digit = 0; printf("请输入一个整数:"); scanf_s("%d", number); while (number>0) { digit = number % 10; ret = ret * 10 + digit; number /= 10; } printf("%d", ret); }



