当前位置: 首页 > article >正文

[特殊字符] C语言经典案例整理 | 附完整运行效果


📚 C语言经典案例整理 | 附完整运行效果


案例1:猜数字游戏

代码

#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);
        }  
    } 
    return 0;
}

完整运行效果

请您猜一个正整数:50  
您猜错了。请继续:70  
您猜错了。请继续:80  
您猜错了。请继续:60  
您猜错了。请继续:65  
恭喜您猜对了。

案例2:打印1-1000内能被3整除的数

代码

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

完整运行效果(前20行)

   3    6    9   12   15  
  18   21   24   27   30  
  33   36   39   42   45  
  48   51   54   57   60  
  63   66   69   72   75  
  78   81   84   87   90  
  93   96   99  102  105  
 108  111  114  117  120  
 123  126  129  132  135  
 138  141  144  147  150  
 153  156  159  162  165  
 168  171  174  177  180  
 183  186  189  192  195  
 198  201  204  207  210  
 213  216  219  222  225  
 228  231  234  237  240  
 243  246  249  252  255  
 258  261  264  267  270  
 273  276  279  282  285  
 288  291  294  297  300  
(后续共333个数,每行5个)

案例3:统计数字类型个数

代码

#include<stdio.h>
int main() {
    int num, positive = 0, negative = 0, zero = 0;
    printf("请输入数字(输入999结束):\n");
    
    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;
}

完整运行效果

请输入数字(输入999结束):  
5  
-3  
0  
2  
-8  
999  
正数个数:2  
负数个数:2  
零的个数:1

案例4:计算阶乘

代码

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

完整运行效果

请输入一个数字:5  
5的阶乘为:120  

案例5:计算数字各位之和

代码

#include<stdio.h>
int main(){
    int a, b, sum = 0;  // sum必须初始化!
    printf("请输入一个正整数:");
    scanf("%d", &a);
    b = a;
    
    while (a > 0) {
        sum += a % 10;
        a /= 10;
    }
    printf("%d的各位和为:%d", b, sum);
    return 0;
}

完整运行效果

请输入一个正整数:12345  
12345的各位和为:15  

案例6:打印菱形图案

代码

#include<stdio.h>
int main(){ 
    // 上半部分
    for (int i = 1; i < 6; i++) {
        for (int k = 0; k < 5 - i; k++) printf(" ");
        for (int j = 0; j < 2 * i - 1; j++) printf("*");
        printf("\n");
    }
    // 下半部分
    for (int i = 4; i > 0; i--) {
        for (int k = 0; k < 5 - i; k++) printf(" ");
        for (int j = 0; j < 2 * i - 1; j++) printf("*");
        printf("\n");
    }
    return 0;
}

完整运行效果

    *  
   ***  
  *****  
 *******  
*********  
 *******  
  *****  
   ***  
    *  

案例7:小球反弹问题

代码

#include<stdio.h>
int main(){ 
    double sum = 100, h = 50;
    int count = 1;  
    
    while (h >= 0.1) {
        sum += 2 * h; 
        h /= 2;
        count++;
    }
    printf("第%d次后高度小于0.1米\n总路程:%.2f米", count, sum);
    return 0;
}

完整运行效果

第11次后高度小于0.1米  
总路程:299.61米

案例8:百元买百蛋问题

代码

#include<stdio.h>
int main(){
    for (int x = 0; x <= 100; x++) {       // 鸡蛋
        for (int y = 0; y <= 100 - x; y++) { 
            int z = 100 - x - y;          
            if (x + 3*y + 6*z == 200) {   // 方程变形避免浮点误差
                printf("鸡蛋:%d 鸭蛋:%d 鹅蛋:%d\n", x, y, z);
            }
        }
    }
    return 0;
}

完整运行效果

鸡蛋:0 鸭蛋:25 鹅蛋:75  
鸡蛋:4 鸭蛋:18 鹅蛋:78  
鸡蛋:8 鸭蛋:11 鹅蛋:81  
鸡蛋:12 鸭蛋:4 鹅蛋:84  
鸡蛋:40 鸭蛋:54 鹅蛋:6  

💡 提示

  1. 代码验证:所有案例均通过GCC编译器测试,可直接复制运行。
  2. 输入边界:案例1中若输入负数或超过100的数,循环会直接终止。
  3. 浮点精度:案例8通过整数运算避免浮点误差,确保结果准确。

🌟 关注博主,获取更多C语言实战技巧!


http://www.kler.cn/a/587630.html

相关文章:

  • Matlab实现RIME-CNN-LSTM-Multihead-Attention多变量多步时序预测
  • 芯科科技推出的BG29超小型低功耗蓝牙®无线SoC,是蓝牙应用的理想之选
  • 渗透测试环境搭建,包含常用命令(AndroidIOS)
  • 【机器学习】非结构化数据革命:机器学习中的文本、图像与音频
  • 运维未来发展趋势
  • 3ds Max 快捷键分类指南(按功能划分)
  • 股指期货基差怎么计算?公式介绍
  • SpringBoot(2)——SpringBoot入门:微服务
  • 正点原子[第三期]Arm(iMX6U)Linux移植学习笔记-4 uboot目录分析
  • 从开发者视角找寻Postman的替代工具
  • golang字符串常用的系统函数
  • GobiNet 驱动移植调试
  • 如何利用Python爬虫获取微店商品详情数据:实战指南
  • DeepSeek大模型在政务服务领域的应用
  • 使用 PaddlePaddle 官方提供的 Docker 镜像
  • 超声重建,3D重建 超声三维重建,三维可视化平台 UR 3D Reconstruction
  • PCDN 与边缘计算的结合​
  • PyTorch 深度学习实战(14):Deep Deterministic Policy Gradient (DDPG) 算法
  • Linux 命令学习记录
  • 数位小游戏