C语言实验总答案(2)
8、编程实现:输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,如原数为321,则应输出123。 #include \void main() {
int number; //保存输入的整数
int bits = 0; //整数有几位,初值为0 int bit;
printf(\请输入一个不超过5位的正整数:\scanf(\
if(number>=100000 || number < 0) printf(\输入的数字非法\\n\else
{
if(number >= 10000)
bits = 5;
else if(number >= 1000) bits = 4;
else if(number >= 100) bits = 3;
else if(number >= 10) bits = 2; else
bits = 1;
printf(\位数\\n\
switch(bits) {
case 5:
bit = number % 10; number = number/10; printf(\case 4:
bit = number ; number = number/10; printf(\case 3:
bit = number ; number = number/10; printf(\case 2:
bit = number ; number = number/10;
}
printf(\ case 1:
bit = number;
printf(\ } }
实验四 循环结构程序设计参考程序
一、程序调试方法实验
xx2xn???求ex的近似值。找出并改正以下源程序中错误,上机题目:编写程序利用公式:e?1??1!2!n!得出正确的运行结果。
#include
int i;
float a,e,x;
printf(\请输入x的值:\
scanf(\改为 scanf(\ e=0; //改为 e=1; i=0; //改为 i=1; a=1;
while(a>1e-6); //去掉尾部的分号 {
a=a*x/i; e=e+a; i++; }
printf(\循环次数为:%d次,e的%d次方为:%f\\n\
//改为printf(\循环次数为:%d次,e的%.2f次方为:%f\\n\
}
程序正确的运行结果为:
请输入x的值:1.0
循环次数为:11次,e的1.00次方为:2.718282 Press any key to continue
二、编写程序
1、分别利用三种循环语句编程,求1+2+3+?50之和。参照例子4-12 (1)while循环 #include
void main() {
int sum=0,i=1; while(i<=50) {
sum=sum+i; i++; }
printf(\}
(2)do~while循环
#include
int sum=0,i=1; do {
sum=sum+i; i++; }
while(i<=50);
printf(\}
(3)for循环
#include
int sum=0,i;
for(i=1;i<=50;i++) sum=sum+i;
printf(\}
2、编程,输入10个整数,求其中正数的个数及其平均值(精确到小数点后两位)。 #include
float sum=0;
int i,a,count=0;
printf(\请输入10个整数:\for(i=1;i<=10;i++) {
scanf(\ if(a>0) {
count++; sum=sum+a; } }
printf(\整数个数为%d 平均值为%.2f\\n\}
3、编程实现:输入一个不多于5位的整数,要求按逆序输出各位数字,如原数为321,则应输出123。参照例子4-6
#include
int number, count = 0;
printf(\ scanf(\
if (number<0) number = -number; do {
printf(\ count++;
number = number/10; }while( number!=0 );
printf(\}
4、编写一个程序,求两个整数的最小公倍数。参照例子4-4
提示:可以参考“最大公约数”的求法,从两个数中较大的一个出发,找到的第一个能被这两个数整除的数,就是最小公倍数。 #include
int k, m, n;
printf(\请输入2个整数: \ scanf(\ k = m>n? m : n;
while(k%m!=0 || k%n!=0) k++;
printf(\最小公倍数: %d\\n\}
5、统计输入的一串字符中每个元音字母(a,e,i,o,u)出现的次数,当输入#时结束。参照例子5-3 #include
char c;
}
int a=0,e=0,i=0,o=0,u=0; printf(\请输入一串字符以#结束:\c=getchar(); while(c!='#') {
switch(c) {
case 'a': a++; break; case 'e': e++; break; case 'i': i++; break; case 'o': o++; break; case 'u': u++; break; }
c=getchar(); }
printf(\元音字母a的个数为%d\\n\printf(\元音字母e的个数为%d\\n\printf(\元音字母i的个数为%d\\n\printf(\元音字母o的个数为%d\\n\printf(\元音字母u的个数为%d\\n\
也可以将while循环改写(对比两种方法的异同): #include
char c;
int a=0,e=0,i=0,o=0,u=0;
printf(\请输入一串字符以#结束:\while((c=getchar())!='#') {
switch(c) {
case 'a': a++; break; case 'e': e++; break; case 'i': i++; break; case 'o': o++; break; case 'u': u++; break; } }
printf(\元音字母a的个数为%d\\n\printf(\元音字母e的个数为%d\\n\printf(\元音字母i的个数为%d\\n\
…… 此处隐藏:819字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [资格考试]机械振动与噪声学部分答案
- [资格考试]空调工程课后思考题部分整合版
- [资格考试]电信登高模拟试题
- [资格考试]2018年上海市徐汇区中考物理二模试卷(
- [资格考试]坐标转换及方里网的相关问题(椭球体、
- [资格考试]语文教研组活动记录表
- [资格考试]广东省2006年高应变考试试题
- [资格考试]LTE学习总结—后台操作-数据配置步骤很
- [资格考试]北京市医疗美容主诊医师和外籍整形外科
- [资格考试]中学生广播稿400字3篇
- [资格考试]CL800双模站点CDMA主分集RSSI差异过大
- [资格考试]泵与泵站考试复习题
- [资格考试]4个万能和弦搞定尤克里里即兴弹唱(入
- [资格考试]咽喉与经络的关系
- [资格考试]《云南省国家通用语言文字条例》学习心
- [资格考试]标准化第三范式
- [资格考试]GB-50016-2014-建筑设计防火规范2018修
- [资格考试]五年级上册品社复习资料(第二单元)
- [资格考试]2.对XX公司领导班子和班子成员意见建议
- [资格考试]关于市区违法建设情况的调研报告
- 二0一五年下半年经营管理目标考核方案
- 2014年春八年级英语下第三次月考
- 北师大版语文二年级上册第十五单元《松
- 2016国网江苏省电力公司招聘高校毕业生
- 多渠道促家长督导家长共育和谐 - 图文
- 2018 - 2019学年高中数学第2章圆锥曲线
- 竞争比合作更重要( - 辩论准备稿)课
- “案例积淀式”校本研训的实践与探索
- 新闻必须客观vs新闻不必客观一辩稿
- 福师大作业 比较视野下的外国文学
- 新编大学英语第二册1-7单元课文翻译及
- 年产13万吨天然气蛋白项目可行性研究报
- 河南省洛阳市2018届高三第二次统一考试
- 地下车库建筑设计探讨
- 南京大学应用学科教授研究方向汇编
- 2018年八年级物理全册 第6章 第4节 来
- 毕业论文-浅析余华小说的悲悯性 - 以《
- 2019年整理乡镇城乡环境综合治理工作总
- 广西民族大学留学生招生简章越南语版本
- 故宫旧称紫禁城简介




