当前位置: 首页 > 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.jsqmd.com/news/908216/

相关文章:

  • 【AI大模型应用开发工程师特训笔记】第04讲(第7章):函数与模块
  • AI驱动的社交聚合平台:重构信息消费体验,对抗虚假信息
  • Elasticsearch实战技巧
  • 别再手动改后缀了!手把手教你从arXiv论文一键导入Overleaf的正确姿势
  • ArduPilot硬件抽象层(HAL)实战解析:以STM32的I2C/SPI传感器驱动为例
  • 高德地图 Flutter 插件:跨 Android / iOS / HarmonyOS 的完整实现
  • 2026年青岛本地靠谱搬家服务机构推荐:山东臻品老兵搬家有限公司青岛分公司 - 海棠依旧大
  • 我用了森优时铁锌维之后再也不用染发了
  • ViTaX:基于形式化验证的可解释AI,为安全关键系统提供可靠决策解释
  • 采购管理系统、费控管理系统、供应商管理系统怎么选?如何选择更优的一体化方案?
  • 别再死记硬背了!用74LS74和74LS76芯片,手把手教你玩转D、JK、T触发器转换(附波形图分析)
  • Cocos学习笔记:自定义字体、骨骼动画与项目架构
  • 开发转兼职DBA(七):不是SQL的锅——从操作系统层面排查数据库问题
  • 达秘助力起量!28天狂揽50万GMV!中式锻打菜刀爆红TikTok美区,户外厨具赛道迎来新风口
  • Go语言项目结构:标准布局与最佳实践
  • 时序逻辑任务下的控制系统能量弹性:量化扰动应对成本
  • Upload-Labs Pass-01 ~ Pass-05 通關記錄:前端校驗、MIME、特殊後綴、.htaccess、大小寫繞過
  • 搞定7nm DRC收敛:一份来自Innovus和ICC2实战的避坑清单(附脚本)
  • 告别乱码!实测三款主流Java反编译工具(JD-GUI、Luyten、Jadx)的导出源码对比
  • 海宁市城镇有机更新专项规划(2024-2035年)
  • 规划师必备:用ArcGIS Pro二次开发5分钟搞定用地合规性检查(避坑指南)
  • MLIR与CGRA编译优化技术解析
  • PS 满屏斜着的透明水印如何制作?两大实操方案,快速做出全屏斜向水印
  • Cloudflare AI Labyrinth:用数字迷宫反制AI爬虫,保护原创内容
  • 用STM32CubeIDE搞定TB6612驱动GB37-520电机:从引脚配置到PWM频率计算全流程
  • AI时代职场竞争力重塑:从工具使用者到AI策展人的思维与实战
  • VUE2_TO_VITE_VUE3
  • 面试官:对话 Agent 上下文窗口不够用怎么办?
  • 从关键词到自然语言_AI搜索时代的搜索意图发生了哪些变化
  • 倾斜摄影测量全流程解析:从采集原理、CC建模到模型修复与土方计算