while循环(计算用户输入的为几位数)
#include <stdio.h> int main() {
int x=0; int n=0; // 获取用户输入的值 printf("请输入任一整数\n"); scanf("%d",&x); //下面几行的作用是防止输入0时位数为0,所以先自增了,即使输入为0n也是1,为了不让后面的出错,x/10是使输入的值少了一位 n++; if(x<0){ //这个if判断的作用是让x取绝对值,能够计算负数的位数 x=-x/10; }else if(x>0){ x/=10; } while(x>0){ x=x/10; n++; } printf("您输入的这是一个%d位数",n); return 0; }
do while循环(计算用户输入的为几位数)
#include <stdio.h> int main() { int x=0; int n=0; // 获取用户输入的值 printf("请输入任一整数\n"); scanf("%d",&x); do{ x/=10; n++; }while(x>0); printf("您输入的这是一个%d位数",n); return 0; }
课堂案例
1.计算平均值
#include <stdio.h> int main() { // 算平均值 int num=0; int sum=0; int i=0; while(num!=-1){ // 获取用户输入的数据 printf("请输入学生成绩(输入-1退出程序)\n"); scanf("%d",&num); sum=sum+num; i++; } double ave=1.0*(sum+1)/(i-1); //可以1.0×后面的整数,结果就是浮点数了 printf("平均值是%f",ave); return 0; }
2.数的逆序
#include <stdio.h> int main() { /* 思路:取余得到个位数 */ int num=12345; int di=0; //个位数 int ret=0; //结果 while(num>0){ di=num%10; //得到了个位数 5 4 3 2 1 ret=ret*10+di; //得到了每次的结果 5 54 543 5432 54321 num/=10; //这一步为了让num每次都少一位 } printf("%d",ret); return 0; }
for循环(代码书写格式)
for(int i=1;i<=n;i++){ }
标签:语句,10,int,第三天,----,while,num,printf,输入 From: https://www.cnblogs.com/vv-77/p/17245002.html