C学习第三天----循环语句

发布时间 2023-03-22 21:17:06作者: 周周周777

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++){

}