基础循环计算篇
程序员文章站
2022-07-12 08:11:04
...
循环计算篇
的计算
#include <stdio.h>
int main()
{
int x;
int ret = 0;
scanf("%d", &x);
int t = x;
while ( x>1) {
x /= 2;
ret ++;
}
printf("log2 of %d is %d.", t, ret);
return 0;
}
此处将x的值赋予t,是为了计算之前保存原始的值
计数循环
#include <stdio.h>
int main()
{
int count =100;
while ( count >=0) {
printf("%d\n",count);
count --;
}
printf("发射!\n");
return 0;
}
循环执行次数?循环停下时,输出为0吗?结束循环时,count的值。(注意6、7互换之后的执行过程)
设count的值为3
count 输出 3 3 2 2 1 1 0 0 -1
执行循环次数101次,输出为-1,count值为-1
猜数游戏
- 计算机随机想一个数,记在变量number里;
- 一个负责计次数的变量count初始化为0;
- 让用户输入一个数字a;
- count递增(加一)
- 判断a和number的大小关系,如果a大,就输出“大”;如果a小就输出“小”
- 若a和number不相等,程序转回第3步;
- 否则,程序输出“猜中”和次数,然后结束
随机数:每次召唤rand()就得到一个随机的整数
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main()
{
srand(time(0));
int number = rand()%100+1;
//x%n的结果是【0,n-1】的一个整数
int count = 0;
int a = 0;
printf("我已经想好了一个1到100之间的数。\n");
do {
printf("请猜这个1到100之间的数:");
scanf("%d", &a);
count ++;
if ( a > number ) {
printf("你猜的数大了\n");
} else if ( a < number ) {
printf("你猜的数小了。\n");
}
} while ( a != number);
printf("太好了,你用了%d次就猜到了答案。\n", count);
return 0;
}
平均数
#include <stdio.h>
int main()
{
int number;
int sum = 0;
int count = 0;
scanf("%d", &number);
while( number != -1) {
sum += number;
count++;
scanf("%d", &number);
//继续读取下一个整数,否则会陷入死循环
}
// do{
// scanf("%d", &number);
// if ( number != -1) {
// sum += number;
// count++;
// }
// } while ( number != -1);
// scanf("%d", &number);
// 需要判断两次number
printf("%f\n", 1.0*sum/count);
printf("%d\n", count);
return 0;
}
整数的分解
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
int digit;
int ret = 0;
while( x>0) {
digit = x%10;
//printf("%d\n", digit);
ret = ret *10 + digit;
printf("x=%d,dight=%d,ret=%d\n", x, digit, ret);
x/=10;
}
printf("%d", ret);
return 0;
}
//整数除外
700逆序
#include <stdio.h>
int main()
{
int x;
scanf("%d", &x);
int digit;
int ret = 0;
while( x>0) {
digit = x%10;
printf("%d", digit);
ret = ret *10 + digit;
x/=10;
}
return 0;
}