1、计算几位数
#include <stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
n++; //这两句与循环内一样,看似可以省略
x/=10;//但是如果输入的是数字0
//那么没有这两句的话则数字不会进入while循环进而输出的结果就是0位数
//结果是错误的所以需要这两行应对特殊情况
while (x>0)
{
n++;
x/=10;
//printf("n=%d x=%d\n",n,x);可以考虑在while循环里面添加printf输出
//目的是检测目标数据是否进入while循环,或者查看循环过程
}
printf("%d\n",n);
return 0;
}
2、循环算平均数
#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);
}
printf("%f\n",1.0*sum/count);
//*1.0的目的是使其变为浮点数
return 0;
}
3、循环求逆(结尾不是0的数)
#include <stdio.h> //结尾不是0的数
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;
//第一轮循环ret=0*10+digit
//第二轮循环ret=第一个digit*10+新的digit
printf("x=%d,digit=%d,ret=%d\n",x,digit,ret);
x/=10;//x除以10取整舍弃最后一位再进入循环
}
return 0;
}
4、循环求逆(结尾是0的数)输出不同
#include <stdio.h> //结尾是0的数
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;
//第一轮循环ret=0*10+digit
//第二轮循环ret=第一个digit*10+新的digit
//printf("x=%d,digit=%d,ret=%d\n",x,digit,ret);
x/=10;//x除以10取整舍弃最后一位再进入循环
}
return 0;
}