C语言练习四(vscode)循环语句专练

一、用循环验证用户输入的数字

cpp 复制代码
#include<stdio.h>
int main(){
    int num;
    printf("请您猜一个正整数:");
    scanf("%d",&num);

    while (num>=0&&num<=100)
    {
        if (num==65)
        {
            printf("恭喜您猜对了。");
            break;
        }else{
            printf("您猜错了。请继续:");
            scanf("%d",&num);
        }  
    } 
   }

运行结果:

二、打印出1到1000以内能被3整除的数字

cpp 复制代码
#include<stdio.h>
int main() {
    int a = 1, j = 0;
    while (a > 0 && a <= 1000) {
        if (a % 3 == 0) {
            printf("%4d ", a);
            j++;
            if (j >= 5) {
                j = 0;
                printf("\n");
            }
        }
        a++;
    }
    return 0;
}

运行结果:

三、简单统计输入数的个数(用户可以无限次输入数字,请统计输入数字的正数个数,负数个数,0的个数,当用户输入999时程序结束。)

cpp 复制代码
#include<stdio.h>
int main() {
    int num;
    int positive = 0, negative = 0, zero = 0;

    while (1) {
        scanf("%d", &num);
        if (num == 999) {
            break;
        }
        if (num > 0) {
            positive++;
        } else if (num < 0) {
            negative++;
        } else {
            zero++;
        }
    }

    printf("正数个数:%d\n负数个数:%d\n零的个数:%d\n", positive, negative, zero);
    return 0;
}

运行结果:

四、阶乘的计算

cpp 复制代码
#include<stdio.h>
int main(){
        int n,i=1,sum=1;
        printf("请输入一个数字:");
        scanf("%d",&n);
        while (i<=n)
        {
            sum=sum*i;
            i++;            
        }
        printf("%d的阶乘为:%d",n,sum);   
    }

运行结果:

五、编写一个程序,让用户输入一个数,然后计算该数各个位数的和。

cpp 复制代码
#include<stdio.h>
int main(){
        int a,b,sum;
        printf("请输入一个正整数:");
        scanf("%d",&a);
        b=a;
        while (a>0)
        {
            sum+=a%10;
            a/=10;
        }
        printf("%d的各位的和为:%d",b,sum);
        
    }

运行结果:

六、打印菱形

cpp 复制代码
#include<stdio.h>
int main(){  //i--行   j--列
        for (int i = 1; i < 6; i++)  
        {
            printf("\n");
            for (int k = 0; k < 5-i; k++)// 空格
            {
            printf(" ");
            } 
            for (int j = 0; j<2*i-1; j++)// *号
            {
            printf("*");
            }            
        }
        
        for (int i = 4; i > 0; i--)  
        {
            printf("\n");
            for (int k = 0; k < 5-i; k++)// 空格
            {
            printf(" ");
            } 
            for (int j = 0; j<2*i-1; j++)// *号
            {
            printf("*");
            }            
        }
    }

运行结果:

七、一个球从100米高度自由落下,每次落地后反弹回原高度的一半;再落下,求在第几次之后反弹高度小于0.1米,并计算在这一次落地时共经过多少米?

cpp 复制代码
#include<stdio.h>
int main(){ 
        double sum=100;
        double c=1;   //次数
        for (double h = 50; h > 0.1; h/=2.0)  //反弹高度
        {
                sum = 2*h + sum;
                c++;
        }  
        printf("在第%.0f次之后反弹高度小于0.1米,并计算在这一次落地时共经过%.2f米",c,sum);
    }

运行结果:

相关推荐
2401_831824961 小时前
基于C++的区块链实现
开发语言·c++·算法
We་ct1 小时前
LeetCode 918. 环形子数组的最大和:两种解法详解
前端·数据结构·算法·leetcode·typescript·动态规划·取反
愣头不青1 小时前
238.除了自身以外数组的乘积
数据结构·算法
人工智能AI酱2 小时前
【AI深究】逻辑回归(Logistic Regression)全网最详细全流程详解与案例(附大量Python代码演示)| 数学原理、案例流程、代码演示及结果解读 | 决策边界、正则化、优缺点及工程建议
人工智能·python·算法·机器学习·ai·逻辑回归·正则化
WangLanguager2 小时前
逻辑回归(Logistic Regression)的详细介绍及Python代码示例
python·算法·逻辑回归
m0_518019482 小时前
C++与机器学习框架
开发语言·c++·算法
一段佳话^cyx2 小时前
详解逻辑回归(Logistic Regression):原理、推导、实现与实战
大数据·算法·机器学习·逻辑回归
qq_417695052 小时前
C++中的代理模式高级应用
开发语言·c++·算法
xiaoye-duck2 小时前
《算法题讲解指南:动态规划算法--路径问题》--5.不同路径,6.不同路径II
c++·算法·动态规划
ambition202422 小时前
最大子数组和算法全解析:从暴力枚举到动态规划优化
数据结构·c++·算法