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

C语言从入门到精通100题——(代码+思路)---持续更新中

一阶段基础入门

1.输出hello world

题目:输出Hello, World!

思路:使用标准输出函数 printf 直接打印字符串,C 程序入口为main函数

#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }

2.输入两个整数,计算和

题目:输入两个整数,计算并输出两数之和

思路:定义两个整型变量,scanf接收输入,相加后输出结果

#include <stdio.h> int main() { int a, b, sum; scanf("%d%d", &a, &b); sum = a + b; printf("和:%d\n", sum); return 0; }

3.判断整数奇偶

题目:输入一个整数,判断该数是奇数还是偶数。

思路:利用取模运算 %,数字对 2 取余,余数为 0 是偶数,否则为奇数

#include <stdio.h> int main() { int n; scanf("%d", &n); if (n % 2 == 0) printf("偶数\n"); else printf("奇数\n"); return 0; }

4.输入三个数,输出最大值

题目:输入三个整数,输出其中最大值。

思路:使用if分支依次比较,逐步筛选出最大值

#include <stdio.h> int main() { int a, b, c, max; scanf("%d%d%d", &a, &b, &c); max = a; if (b > max) max = b; if (c > max) max = c; printf("最大值:%d\n", max); return 0; }

5.判断正数、负数、零

题目:输入一个整数,判断是正数、负数还是零。

思路:通过if-else if-else多分支判断数值范围

#include <stdio.h> int main() { int n; scanf("%d", &n); if (n > 0) printf("正数\n"); else if (n < 0) printf("负数\n"); else printf("零\n"); return 0; }

6.计算圆的面积和周长

题目:输入圆的半径,计算并输出圆的周长和面积。

思路:公式:周长2πr,面积πr²,定义常量PI表示圆周率,使用浮点型存储数据

#include <stdio.h> #define PI 3.14159 int main() { double r, c, s; scanf("%lf", &r); c = 2 * PI * r; s = PI * r * r; printf("周长:%.2lf 面积:%.2lf\n", c, s); return 0; }

7.交换两个变量(无临时变量)

题目:不使用临时变量,交换两个整型变量的值。

思路:利用加减法运算实现交换,无需中间变量。

#include <stdio.h> int main() { int a, b; scanf("%d%d", &a, &b); a = a + b; b = a - b; a = a - b; printf("a=%d b=%d\n", a, b); return 0; }

8. 判断闰年

题目:输入年份,判断该年份是否为闰年

思路:闰年规则:能被 4 整除且不能被 100 整除,或能被 400 整除。

#include <stdio.h> int main() { int year; scanf("%d", &year); if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) printf("闰年\n"); else printf("不是闰年\n"); return 0; }

9. 成绩分级(0-100)

题目:输入 0~100 的成绩,按分数划分等级:90 及以上 A,80~89 B,70~79 C,60~69 D,60 以下 E。

思路:按分数区间划分等级:90+A、80-89 B、70-79 C、60-69 D、60 以下 E。

#include <stdio.h> int main() { int score; scanf("%d", &score); if (score >= 90) printf("A\n"); else if (score >= 80) printf("B\n"); else if (score >= 70) printf("C\n"); else if (score >= 60) printf("D\n"); else printf("E\n"); return 0; }

10.判断字符类型(字母-数字-其他)

题目:输入一个字符,判断是大写字母、小写字母、数字还是其他符号。

思路:根据 ASCII 码范围进行判断。

#include <stdio.h> int main() { char ch; scanf(" %c", &ch); if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z')) printf("字母\n"); else if (ch >= '0' && ch <= '9') printf("数字\n"); else printf("符号\n"); return 0; }

11.计算1-100的累加和(for循环)

题目:计算 1 + 2 + 3 + ... + 100 的累加和。

思路:使用for循环遍历1~100,循环累加

#include <stdio.h> int main() { int i, sum = 0; for (i = 1; i <= 100; i++) sum += i; printf("1~100累加和:%d\n", sum); return 0; }

12.两数加减乘除

题目:输入两个整数,实现加、减、乘、除四则运算,除数为 0 时给出提示

思路:接收两个数,依次执行四则运算,除法判断除数是否为 0。

#include <stdio.h> int main() { int a, b; scanf("%d%d", &a, &b); printf("加:%d\n", a+b); printf("减:%d\n", a-b); printf("乘:%d\n", a*b); if (b != 0) printf("除:%.2lf\n", (double)a / b); else printf("除数不能为0\n"); return 0; }

13.求最大公约数(辗转相除法)

题目:输入两个整数,求它们的最大公约数。

思路:辗转相除法:用大数对小数取余,循环直到余数为 0,最后除数就是最大公约数。

#include <stdio.h> int main() { int a, b, t; scanf("%d%d", &a, &b); while (b != 0) { t = a % b; a = b; b = t; } printf("最大公约数:%d\n", a); return 0; }

14.求最小公倍数

题目:输入两个整数,求它们的最小公倍数

思路:公式:最小公倍数 = 两数乘积 / 最大公约数,复用辗转相除法。

#include <stdio.h> int main() { int a, b, t, m, n; scanf("%d%d", &a, &b); m = a; n = b; while (b != 0) { t = a % b; a = b; b = t; } int lcm = m * n / a; printf("最小公倍数:%d\n", lcm); return 0; }

15.判断三边能否构成三角形

题目:输入三条边长,判断能否构成三角形。

思路:三角形规则:任意两边之和大于第三边。

#include <stdio.h> int main() { int a, b, c; scanf("%d%d%d", &a, &b, &c); if (a+b>c && a+c>b && b+c>a) printf("可以构成三角形\n"); else printf("不能构成三角形\n"); return 0; }
http://www.rkmt.cn/news/1419521.html

相关文章:

  • WebSocket + Netty 构建一个简易的聊天软件
  • AI驱动的社交聚合平台:重构信息消费体验,对抗虚假信息
  • 【AI大模型应用开发工程师特训笔记】第04讲(第7章):函数与模块
  • 2026年青岛本地靠谱搬家服务机构推荐:山东臻品老兵搬家有限公司青岛分公司 - 海棠依旧大
  • 高德地图 Flutter 插件:跨 Android / iOS / HarmonyOS 的完整实现
  • 别再死记硬背了!用74LS74和74LS76芯片,手把手教你玩转D、JK、T触发器转换(附波形图分析)
  • Cocos学习笔记:自定义字体、骨骼动画与项目架构
  • 搞定7nm DRC收敛:一份来自Innovus和ICC2实战的避坑清单(附脚本)
  • 告别乱码!实测三款主流Java反编译工具(JD-GUI、Luyten、Jadx)的导出源码对比
  • 用STM32CubeIDE搞定TB6612驱动GB37-520电机:从引脚配置到PWM频率计算全流程
  • fselect:用类SQL语句查找文件
  • AI 告诉你代码安全,它在骗你!
  • PS如何提高照片清晰度?3个方法零基础也能快速搞定高清修图
  • GPT5.5对Gemini3.5对DeepSeekV4编程能力横评
  • 别再死记硬背build.gradle了!用Groovy闭包和DSL思维,5分钟看懂Gradle配置的本质
  • 不只是VMware:开启AMD-V后,你的Win10/Win11还能玩转这些虚拟化工具
  • AI与机器学习驱动的智能运营:从数据到决策的自动化闭环
  • 别再只用洞洞板了!用嘉立创EDA+370电机,低成本搞定POV旋转LED全套硬件
  • 保姆级教空间转录组分析| 01. 绪论
  • 从5篇高温合金文章到16层协议:一个工业AI知识萃取的方法论
  • 用N32G031的TIM1驱动无刷电机:从寄存器配置互补PWM到死区时间实战避坑
  • Elasticsearch聚合分析实战
  • FreeRTOS性能调优利器:用SystemView揪出任务阻塞和中断延迟的元凶
  • 学习导师:从工具模式到感知模式的整合
  • LogAnalyzer实战:除了看系统日志,我这样用它监控Nginx访问和MySQL慢查询
  • AI赋能客户体验:从智能客服到预测性服务的实战指南
  • 别再混淆了!用Python的sklearn手把手教你算多分类的Precision、Recall和Accuracy
  • 164-基于Python的甜点销售数据可视化分析系统
  • ♪苍穹外卖♪Day2 | 项目日记
  • Hermes Agent 完全使用指南:从安装到多平台部署的全流程教程