欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 焦点 > [特殊字符] C语言经典案例整理 | 附完整运行效果

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

2025/3/17 4:41:24 来源:https://blog.csdn.net/weixin_66055196/article/details/146195221  浏览:    关键词:[特殊字符] 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语言实战技巧!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词