恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

C语言第四章

  • 首页
  • 资讯中心
  • /
  • C语言第四章

相关资讯

【Logisim 本地搭建】手动版无符号 8 位乘法器的详细教程 2026/8/14 16:25:43
YOLOv8 电力绝缘子缺陷检测全栈工程|4 类 VOC/YOLO 航拍数据集、PyQt5 可视化 GUI、ONNX 轻量化、全套训练评估曲线落地 2026/8/14 16:25:43
不只是收发 HEX:PcanWork 串口助手的交互终端、多行粘贴与长日志设计 2026/8/14 16:25:43

最新资讯

HackRF频谱分析仪完整评测:从零上手到横向对比,一文搞懂这款开源神器
【企业微信】iPad协议开发客户群操作API设计:支持群生命周期全流程管理与精细化权限控制
RPG Maker MV解密神器上手指南:不用装软件,浏览器一键解锁加密资源
【ORC】如何将 Parquet 文件高效转换为 ORC 格式?有哪些工具或方法?
3分钟搞定3MF导入导出:Blender3mfFormat插件完整上手指南
【PTrade】为什么回测能赚钱,实盘却无法下单?7个排查步骤与诊断代码

今日推荐

青岛煜鹏网站建设公司如何帮助传统企业实现数字化转型破局与增长路径
内蒙古生产建设兵团四师三十四团知青网站:承载岁月记忆与青春荣耀的精神家园
梅州市住房与城乡建设局官网:获取权威建筑信息、政策解读与民生服务的最佳平台入口

本周热门

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁
如何快速生成中国车牌图片:Python开源工具完整指南
当 LLM 遇见大文档:主流开源项目如何处理上下文超限

本月精选

如何用DamaiHelper实现演唱会门票的智能自动化抢购:完整技术解决方案指南
第4篇:59 倍性能差距的索引瓶颈定位——一次教科书级的全表扫描调优
终极歌词批量下载神器:5分钟解决离线音乐库歌词同步难题

C语言第四章

发布时间:2026/8/14 16:30:43
C语言第四章 二十一.循环1.数数几位数程序读入一个4位以下含4位的正整数输出这个整数的位数输入352 输出3计算机通过数的范围来决定位数2.程序实现int x; int n1; scanf(%d,x); if(x999) n4; else if(x99) n3; else if(x9) n2; printf(%d,n);题目明确4位数及以下的正整数因为从高处往下判断所以不需要判断上限反过来不行从高往低判断反之如果都用ifint x; int n1; scanf(%d,x); if(x999){ n4; } if(x99){ n3; } if(x9){ n2; } if(x0){ n1; } printf(%d,n);这样写结果都是13.任意范围的正整数怎么办用判断位数的方法在一定范围内可以做换一个方法想给一个极大的正整数让计算机数数怎样让计算机数数eg三位逆序的题352%10052123456789%10000000023456789但是如何得到100000000如果换一下从右边开始划123456789/1012345678去掉最右边的数不断的划直到没有数可以划0在这个过程中计数计数的结果就是几位数int x; int n0; scanf(%d,x); n; x/10; if(x0){ n; x/10; if(x0){ n; x/10; if ... } } printf(%d\n,n);还是没完没了需要引入一种手段4.whileint x; int n0; scanf(%d,x); n; x/10; while (x0){ n; x/10; } printf(%d\n,n);在4行做一个断点调试程序一直在while循环直到满足x0结束刚才自己用了很大的数试失败因为计算机可以表达的最大的整数是有范围的二十二.while循环和if1.while和if的区别while(x0){x/10;n;}if(x0){x/10;n;}while是反复做if是一次性做循环体内要有能改变条件的机会int x; int n0; scanf(%d,x); n; x/10; while (x0){ n; } printf(%d\n,n);调试发现程序一直在while循环因为缺少x/10;也就是循环体内缺少能改变条件的机会pat系统会判定超时2.while循环如果把while翻译成当那么while循环的意思是当条件满足时不断地重复循环体内的语句循环执行之前判断是否继续循环所以可能循环一次也没有被执行条件成立是循环继续的条件3.验证去掉n; x/10;会怎么样手动验证x3523530n0123测试程序常使用边界数据如有效范围两端的数据、特殊的倍数等个位数、10、0、负数0和负数解决不了目前两个方法解决0加入n; x/10;或加入if-elseint x; int n0; scanf(%d,x); if(x0){ while (x0){ n; x/10; } }else{ n1; } printf(%d\n,n);4.其他调试的方法printf在程序中间插入printfint x; int n0; scanf(%d,x); x352; while (x0){ n; x/10; printf(x%d,n%d\n,x,n); } printf(%d\n,n);二十三.do-while循环1.数位数的算法用户输入x初始化n为0xx/10去掉个位n如果x0回到3否则n就是结果int x; int n0; scanf(%d,x); n; x/10; while (x0){ n; x/10; } printf(%d\n,n);如果去掉了n; x/10;则如果x0回到3是在xx/10去掉个位中运行的能不能做完了再看条件2.do-while循环do{循环体语句}while(循环条件)//记住分号在进入循环的时候不做检查而是在执行完一轮循环体的代码之后再来检查循环的条件是否满足如果满足则继续下一轮循环不满足则结束循环3.两种循环左边do-while右边whiledo-while循环在循环体执行结束的时候才来判断条件无论如何循环都会执行至少一遍然后判断条件和while循环相同的是条件满足时执行循环条件不满足时结束循环int x; scanf(%d,x); int n0; do{ x/10; n; }while(x0);//注意分号 printf(%d\n,n);二十四.猜数1.猜数游戏让计算机来想一个数然后让用户来猜用户每输入一个数就告诉它是大了还是小了直到用户猜中为止最后还要告诉用户它猜了多少次因为需要不断重复让用户猜所以需要用到循环在实际写出程序之前我们可以先用文字描述程序的思路核心重点是循环的条件人们往往会考虑循环终止的条件思路计算机随机想一个数记在变量number里一个负责计次数的变量count初始化为0让用户输入一个数字acount递增加一判断a和number的大小关系如果a大就输出大如果a小就输出小如果a和number是不相等的无论大还是小程序回到第3步否则程序输出猜中和次数然后结束循环的条件是a和number不相等srand(time(0)); int number rand()%1001; int count 0; int a 0; printf(我已经想好了一个1到100之间的数。); do { printf(请猜这个1到100之间数); scanf(%d, a); count; if (a number) { printf(你猜的数大了。); } else if (a number) { printf(你猜的数小了。); } } while (a ! number); printf(太好了你用了%d次就猜到了答案。\n, count);2.随机数每次召唤rand()就得到一个随机的整数#include stdio.h #include stdlib.h//23因为67写的 #include time.h int main() { srand(time(0));//先不管 int a rand(); printf(%d\n, a); return 0; }3.%100x%n的结果是[0,n-1]的一个整数srand(time(0)); int a rand(); a1234; printf(%d\n, a%100);结果是34这样得到一个获得100内随机数的方法7次为什么可以猜出来每次一半一半猜ovo二十五.算平均数1.算平均数让用户输入一系列的正整数最后输入-1为止表示输入结束然后程序计算出这些数字的平均数输出输入的数字的个数和平均数变量-算法-流程图-程序2.变量一个可以记录整数的变量平均数计算每读到一个数加到累加的变量中当全部数据读完再拿这个变量/读到的个数所以还需要两个变量3.算法sum累加的变量和count个数初始化0scanf读入number如果number-1则将number加入sumcount1再回去如果number1则计算并输出sum/count用浮点数因为真正结果可能带小数点4.流程图5.代码int number; int sum; int count; do{ scanf(%d,number); if(number!-1){ sumnumber; count; } }while(number!-1); printf(%f,1.0*sum/count);但是do-while和if有两个语句判断number!-1;怎样修改int number; int sum; int count; scanf(%d,number); while(number!-1){ sumnumber; count; scanf(%d,number);//while循环里面没有改变number!-1的条件加一个scanf } printf(%f,1.0*sum/count);二十六.整数求逆1.整数的分解一个整数是由1至多位数字组成的如何分解出整数的各个位上的·数字然后加以计算整数%10得到个位数整数/10去掉个位数再对步骤3的结果%10得到原整数的十位数…类推2.数的逆序输入一个正整数输出逆序的数结尾的0的处理3.代码有两种情况例如输入700得到7或007得到7int x; //scanf(%d,x); x12345; int digit; int ret0; while(x0){ digitx%10; //printf(%d\n,digit); retret*10digit; printf(x%d,digit%d,ret%d\n,x,digit,ret); x/10; } printf(%d,ret);得到007int x; //scanf(%d,x); x700; int digit; int ret0; while(x0){ digitx%10; printf(%d,digit); retret*10digit; //printf(x%d,digit%d,ret%d\n,x,digit,ret); x/10; } //printf(%d,ret);

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号