教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 资格考试 >

C语言实验总答案(2)

来源:网络收集 时间:2026-05-14
导读: 8、编程实现:输入一个不多于5位的正整数,要求:(1)输出它是几位数,(2)按逆序输出各位数字,如原数为321,则应输出123。 #include \void main() { int number; //保存输入的整数 int bits = 0; //整数有几位

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 void main() {

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 void main() {

int sum=0,i=1; do {

sum=sum+i; i++; }

while(i<=50);

printf(\}

(3)for循环

#include void main() {

int sum=0,i;

for(i=1;i<=50;i++) sum=sum+i;

printf(\}

2、编程,输入10个整数,求其中正数的个数及其平均值(精确到小数点后两位)。 #include void main() {

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 void main(void) {

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 void main() {

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 void main() {

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 void main() {

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字,全部文档内容请下载后查看。喜欢就下载吧 ……
C语言实验总答案(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/412690.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)