首页/新闻资讯/正文详情

6.习题课1

发布时间:2026/9/26 10:23:59 来源:云帆数科 栏目:资讯中心
6.习题课1
一、基础输出与判断★入门无循环巩固输入输出 if题 1 控制台输出 Hello C 语言#includestdio.h int main() { printf(Hello C语言); return 0; }解析printf 原样打印双引号内字符串main 是程序唯一入口return 0 代表程序正常结束。题 2 a25,b10输出和差积商余数#includestdio.h int main() { int a 25, b 10; printf(和%d\n, a b); printf(差%d\n, a - b); printf(积%d\n, a * b); printf(商%d\n, a / b); printf(余数%d\n, a % b); return 0; }解析 - * / %为算术运算符整数除法直接舍弃小数不是四舍五入%仅整数可用用来计算相除后的余数。题 3 输入两个整数输出较大数#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int a, b; printf(输入两个整数); scanf(%d%d, a, b); if (a b) printf(最大值%d, a); else printf(最大值%d, b); return 0; }解析双分支 if 实现二选一判断是大于关系运算符scanf 读取普通变量时变量前面必须加取地址不加会程序崩溃。题 4 输入分数≥60 及格否则不及格#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int score; printf(输入分数); scanf(%d, score); if (score 60) printf(及格); else printf(不及格); return 0; }解析代表大于等于搭配 if else 完成简单二分支条件判断。二、单层循环练习★★基础循环for/while 基础用法题 5 for 循环输出 1~10#includestdio.h int main() { for (int i 1; i 10; i) { printf(%d , i); } return 0; }解析for 循环三要素拆分初始化i1循环条件i10更新i自增适合循环次数固定场景。题 6 while 倒序输出 10~1#includestdio.h int main() { int i 10; while (i 1) { printf(%d , i); i--; } return 0; }解析while 循环先判断条件条件成立才执行循环体i--自减数字不断减小直到 i0 条件不成立退出循环。题 7 循环输出大写 A~Z#includestdio.h int main() { char c A; while (c Z) { printf(%c , c); c; } return 0; }解析字符底层存储 ASCII 数字A65Z90小写a97z122字符变量可以直接自增%c打印字符%d打印对应 ASCII 数字。题 8 输入 n打印 1~n#define _CRT_SECURE_NO_WARNINGS #includestdio.h { int n; printf(输入n); scanf(%d, n); for (int i 1; i n; i) { printf(%d , i); } return 0; }解析循环终止条件由用户输入变量 n 控制灵活适配任意数字范围。题 9 打印 1~100 所有 7 的倍数#includestdio.h int main() { for (int i 1; i 100; i) { if (i % 7 0) { printf(%d , i); } } return 0; }解析i%70表示数字除以 7 余数为 0满足该等式的数字就是 7 的倍数单层循环搭配简单 if 判断。三、循环嵌套 if 判断★★★多条件、数字拆分算法题 10 打印 1~100 同时是 3 和 7 倍数的数字#includestdio.h int main() { for (int i 1; i 100; i) { if (i % 3 0 i % 7 0) { printf(%d , i); } } return 0; }解析逻辑与运算符前后两个条件必须同时成立数字既要被 3 整除、也要被 7 整除。题 11 逢 7 过输出 1~100 中 7 的倍数或数字包含 7 的数#includestdio.h int main() { for (int i 1; i 100; i) { if (i % 7 0 || i % 10 7 || i / 10 7) { printf(%d , i); } } return 0; }解析||逻辑或运算符满足任意一个条件即可i%10取数字个位i/10取数字十位整数除法自动舍去小数。补充示例拆分四位数 1234 每一位#includestdio.h int main() { int i 1234; for (; i ! 0; i / 10) { int num i % 10; printf(%d,num); } return 0; }解析%取出数字最后一位/去掉数字最后一位循环直到数字变为 0 结束可拆分任意位数整数。题 12 输入整数判断是否为素数素数定义大于 1 的自然数只能被 1 和自身整除约数只有 2 个#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; printf(输入整数); scanf(%d, n); // 素数必须大于1小于等于1直接不是素数 if(n 1) { printf(不是素数); return 0; } int count 0; for (int i 1; i n; i) { if (n % i 0) count; } if(count 2) printf(是素数); else printf(不是素数); return 0; }解析循环统计能整除 n 的数字个数个数等于 2 则为素数。备注此写法适合新手理解原理缺点是循环次数多工程优化只需循环到sqrt(n)。题 13 判断三位数是否为水仙花数水仙花数定义三位数各位数字立方和等于自身例 153 1³ 5³ 3³#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; printf(输入三位数); scanf(%d, n); // 增加输入范围校验 if(n 100 || n 999) { printf(请输入三位数); return 0; } int sum 0; for (int i n; i ! 0; i / 10) { int num i % 10; sum num * num * num; } if (sum n) printf(是水仙花数); else printf(不是水仙花数); return 0; }解析利用/和%拆分数字每一位累加各位立方最后对比立方和与原数字是否相等。四、累加累乘计算题★★★★双层循环、统计求和题 15 计算 1~100 累加和#includestdio.h int main() { int sum 0; for (int i 1; i 100; i) { sum i; } printf(1~100总和%d, sum); return 0; }解析sum 作为累加容器初始值必须为 0sum i等价完整写法sum sum i。题 16 求 n 的阶乘 n! 1 * 2 * 3...*n#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; long long jc 1; printf(输入n); scanf(%d, n); if(n 0) { printf(负数没有阶乘); return 0; } for (int i 1; i n; i) { jc * i; } printf(%d的阶乘%lld, n, jc); return 0; }解析累乘变量初始值必须为 1初始写 0 会导致所有相乘结果为 0大数使用 long long 类型存储打印占位符%lld。题 17 计算 1! 2! ... n!#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; long long total 0; printf(输入n); scanf(%d, n); if(n 0) { printf(负数无阶乘); return 0; } for (int i 1; i n; i) { long long jc 1; for (int j 1; j i; j) { jc * j; } total jc; } printf(阶乘累加和%lld, total); return 0; }解析双层循环结构内层循环单独计算单个数字阶乘外层循环把所有阶乘结果累加。备注双层循环便于理解优化写法复用前一次阶乘结果减少循环次数。题 18 输出 m~n 区间每个数字的阶乘#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int m, n; printf(输入m,n(mn)); scanf(%d%d, m, n); if(m 0 || n 0 || m n) { printf(输入不合法请保证mn且非负); return 0; } for (int i m; i n; i) { long long jc 1; for (int j 1; j i; j) { jc * j; } printf(%d! %lld\n, i, jc); } return 0; }解析外层循环遍历自定义数字区间 m~n内层循环逐个计算每个数字的阶乘并打印输出。题 19 计算 100~999 所有水仙花数总和#includestdio.h int main() { int total 0; for (int i 100; i 999; i) { int sum 0; for (int k i; k ! 0; k / 10) { int num k % 10; sum num * num * num; } if(sum i) total sum; } printf(所有三位水仙花数总和%d, total); return 0; }解析外层循环遍历全部三位数内层循环判断当前数字是否为水仙花数符合条件则累加进总和。题 20 计算 100~999 所有素数总和#includestdio.h int main() { int sum 0; for (int num 100; num 999; num) { int cnt 0; for (int i 1; i num; i) { if (num % i 0) cnt; } if(cnt 2) sum num; } printf(100~999区间素数总和%d, sum); return 0; }解析双层循环外层遍历全部三位数内层循环判断数字是否为素数是素数就累加至总和。备注暴力遍历写法适合入门理解实际可以优化循环终止条件。题 25 输出 m~n 区间 3 的倍数统计符合条件数字总个数#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int m, n, count 0; printf(输入m n); scanf(%d%d, m, n); printf(区间内3的倍数); for (int i m; i n; i) { if (i % 3 0) { printf(%d , i); count; } } printf(\n总共有%d个, count); return 0; }解析count 作为计数器变量每找到一个符合条件数字就自增 1循环结束输出计数器数值。五、数字反转、回文数特殊题型★★★★★笔试高频算法题 21 数字反转输入 123 输出 321#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; printf(输入数字); scanf(%d, n); int rev 0; for (int i n; i ! 0; i / 10) { int num i % 10; rev rev * 10 num; } printf(反转结果%d, rev); return 0; }解析循环每次取出数字个位反转数字先 ×10 空出个位再加上新取出的个位完成数字整体反转。题 22 判断回文数反转数字与原数相等即为回文#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; printf(输入数字); scanf(%d, n); int temp n; int rev 0; for (int i temp; i ! 0; i / 10) { int num i % 10; rev rev * 10 num; } if (rev n) printf(是回文数); else printf(不是回文数); return 0; }解析先用临时变量保存原始数字避免丢失完成数字反转后对比反转结果和原始数字相等则为回文数。题 23 特殊四位数前后两位和的平方等于自身例 202520 25 4545² 2025#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; printf(输入四位数); scanf(%d, n); if(n 1000 || n 9999) { printf(请输入四位数); return 0; } int front n / 100; int back n % 100; if ((front back) * (front back) n) printf(符合条件); else printf(不符合条件); return 0; }解析四位数除以 100 丢掉后两位取出前两位模 100 只保留后两位求和后平方对比平方结果和原数字。六、综合交互循环★★★★★实战交互程序break 关键字题 24 无限输入求阶乘输入 -1 结束程序#define _CRT_SECURE_NO_WARNINGS #includestdio.h int main() { int n; while (1) { printf(输入数字输入-1退出); scanf(%d, n); if (n -1) { break; } if(n 0) { printf(负数没有阶乘请重新输入\n); continue; } long long jc 1; for (int i 1; i n; i) { jc * i; } printf(%d的阶乘%lld\n, n, jc); } printf(程序结束); return 0; }解析while (1)构建永久死循环break 关键字直接终止当前循环实现手动输入指定数字退出程序属于人机交互综合题型。增加负数判断避免错误输出负数阶乘。

相关推荐

GitHub Desktop 的 TypeScript 代码风格指南:命名约定、JSDoc、Dispatcher 可见性与异步 API 实践
GitHub Desktop 的 TypeScript 代码风格指南:命名约定、JSDoc、Dispatcher 可见性与异步 API 实践

开发工具桌面应用 【免费下载链接】desktop Fork of GitHub Desktop to support various Linux distributions 项目地址: https://gitcode.com/gh_mirrors/des/desktop 点击查看 免费下载 本指南以 GitHub Desktop 仓库(本仓库为其面向多种 Linux 发行版… · 2026/9/26 10:23:59

MCP+Agent+工作流:用 TaoToken 统一 Key 打通 Function Calling 与 A2A 配置骨架
MCP+Agent+工作流:用 TaoToken 统一 Key 打通 Function Calling 与 A2A 配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 10:23:52

MATLAB卷积神经网络图像分类实战:从数据准备到模型部署
MATLAB卷积神经网络图像分类实战:从数据准备到模型部署

简介:这份资源是一套基于MATLAB实现的卷积神经网络图像分类完整项目源码,面向刚接触深度学习的新手以及希望快速复现CNN流程的开发人员,帮助读者绕开环境配置与代码调试的坑,直接跑通从数据加载、网络搭建到训练测试的全过程。压缩… · 2026/9/26 10:23:52

基于MediaPipe Holistic的八段锦动作识别:75个关键点与DTW匹配实战
基于MediaPipe Holistic的八段锦动作识别:75个关键点与DTW匹配实战

简介:基于计算机视觉的八段锦智能辅助训练系统选用MediaPipe Holistic模型,可同时检测33个身体关键点和42个手部关键点,在自建测试集上对8个标准动作的识别准确率达92%。资源面向动作识别与姿态估计方向的开发者、科研人员,可落地… · 2026/9/26 11:37:15

基于STM32的智能鸽子驯养系统:从定时器到状态机的嵌入式实战解析
基于STM32的智能鸽子驯养系统:从定时器到状态机的嵌入式实战解析

如果你的课题或者自己的小项目恰好是“基于STM32的智能鸽子驯养系统”,先别急着把它当成一个冷门的养殖设备。我做完这个项目最大的感受是:它本质上是一个把STM32核心外设几乎全用上的综合嵌入式练习。定时器、PWM、输入捕获、编码器模式、通信接口、电源… · 2026/9/26 11:37:08

dalle3 图像生成实战:用 TaoToken 统一 Key 打通 better captions 工作流
dalle3 图像生成实战:用 TaoToken 统一 Key 打通 better captions 工作流

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:37:08

CUDA版PyTorch安装实战:驱动检查、版本选择与验证排坑全指南
CUDA版PyTorch安装实战:驱动检查、版本选择与验证排坑全指南

很多人看到“CUDA版PyTorch”这串词,第一反应就是安装过程复杂、变量太多。我在Windows笔记本和Linux服务器上反复装过十几遍环境之后想告诉你,真正费时间的不是安装动作本身,而是几个特别容易让人卡住的概念——比如驱动和CUDA到底什么关系、… · 2026/9/26 11:37:08

PX4固件体系结构深度解析:从实时操作系统到uORB中间件
PX4固件体系结构深度解析:从实时操作系统到uORB中间件

1. 先搞清楚PX4到底是个什么东西我最早接触PX4的时候,跟很多人一样,以为它就是一套飞控固件,烧进Pixhawk里就能飞。后来真正开始看源码、改代码、调参,才发现事情没那么简单——PX4不是一个“程序”,而是一整套软件体系… · 2026/9/26 11:37:02

kubectl资源管理命令实战:从排查故障到集群运维的完整指南
kubectl资源管理命令实战:从排查故障到集群运维的完整指南

1. 为什么资源管理命令值得系统性掌握 1.1 从一次"排查半小时"的真实经历说起 大概两年前的一个工作日下午,集群告警突然嗡嗡响起来,某核心服务连续三次健康检查失败。我当时的反应和大多数刚上手 Kubernetes 的运维一样,先 kube… · 2026/9/26 11:36:56

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码