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);
    }

运行结果:

相关推荐
KarrySmile4 分钟前
Day17--二叉树--654. 最大二叉树,617. 合并二叉树,700. 二叉搜索树中的搜索,98. 验证二叉搜索树
数据结构·算法·二叉树·二叉搜索树·合并二叉树·最大二叉树·验证二叉搜索树
凤年徐5 分钟前
【数据结构与算法】21.合并两个有序链表(LeetCode)
c语言·数据结构·c++·笔记·算法·链表
程序员老冯头13 分钟前
第三十二节 MATLAB函数
数据结构·算法·matlab
lifallen18 分钟前
hadoop.yarn 带时间的LRU 延迟删除
java·大数据·数据结构·hadoop·分布式·算法
淮北4944 小时前
STL学习(十一、常用的算数算法和集合算法)
c++·vscode·学习·算法
糖葫芦君4 小时前
玻尔兹曼分布与玻尔兹曼探索
人工智能·算法·机器学习
花火|10 小时前
算法训练营day37 动态规划⑤ 完全背包 518. 零钱兑换 II、 377. 组合总和 Ⅳ、70. 爬楼梯 (进阶)
算法·动态规划
Neil今天也要学习10 小时前
永磁同步电机无速度算法--脉振方波注入法
算法
绿炮火10 小时前
【MATLAB】(二)基础知识
开发语言·算法·matlab
88号技师11 小时前
2025年6月最新SCI-灰熊脂肪增长优化算法Grizzly Bear Fat Increase-附Matlab免费代码
开发语言·人工智能·算法·matlab·优化算法