c语言作业资料(2)

2018-12-04 21:57

实验四:

1.调试示例:输入2个正整数m,n,输出它们的最小公倍数和最大公约数。 修改后的程序:#include void main() { int m,n,j,k;

printf(\:\\n\

while(scanf(\ || n<0); j=m;

while(j%n!=0) j=j+m;

k=(m*n)/j;

printf(\最小公倍数是:%d\\n最大公约数是:%d\\n\}

运行结果: input m n:3 6 最小公倍数是:6

最大公约数是:3

2.编程,输入一批整数,先求出其中的偶数和及奇数和,然后输出偶数和与奇数和的差. 输入输出示例:

输入一批整数:10 11 20 33 Ctrl+Z sub=-14 源程序: #include void main() {

int x,sum1=0,sum2=0,sub=0;

printf(\请输入一批整数:\\n\ while(scanf(\ { if (x%2==0) sum1+=x; else

sum2+=x;

sub=sum1-sum2;

}

printf(\}

运行结果为:

请输入一批整数: 1 2 3 4 Ctrl+Z sum1=6 sum2=4 sub=2

3.编程,输入1个正实数eps,计算并输出下式的值,直到最后一项的绝对值小于eps 源程序如下; #include void main()

{ float f=0,eps,t=1.0; int i=1,sign=1;

printf(\请输入正实数eps的值:\scanf(\输入一个正实数%f\while(abs(t)>eps) {

t=1.0/i*sign; f+=t; sign=-sign; i+=4;

}

printf(\}

运行结果为:

请输入正实数eps的值:0.000001 f=0.878576

4 编程,输入一个整数,求它的各位数字之和及位数。例如123的各位数字之和是6,位数是3.

源程序如下: #include void main() {

int i=0,n,sum=0;

scanf(\ if(n<0) n=-n;

while (n>0) {

sum+=n; n=n/10; i++; }

printf(\位数=%d,各位数之和=%d\\n\

}

运行结果: 134

位数=3;各位数之和=8

5、改错,输入2个整数,分别将其逆向输出。 输入输出示例:

修改后的程序:#include

int fun(int n) { int m,y; y=0;

if(n>0) m=n; else m=-n; while (m>0) { y=y*10+m; m=m/10; }

if(n>=0) return y; else return -y; }

void main()

{ int n,m;

scanf(\%d\

printf(\的逆向是%d\\t\ printf(\的逆向是%d\\t\}

运行结果: 234 -234

234的逆向是432 -234的逆向是-432

6调试示例,输入正整数的个数n,再输入n个正整数,判断它们是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数 修改后的程序: #include #include void main() { int i,j,k,m,n;

printf(\输入正整数的个数n:\ scanf(\

printf(\输入%d个正整数\\n\ k=n;

for(j=0;j

if(i>n)

printf(\是一个素数!\\n\ else

printf(\不是一个素数!\\n\ } }

运行结果:

输入正整数的个数n:3 输入3个正整数:2 5 9 2不是一个素数; 5是一个素数; 9不是一个素数;

7.编程,输出101-115之间不能被3整除的数,每行输出5个。要求使用continue语句。 源程序: #include void main() {

int n,count=0;

for(n=101;n<=115;n++)

if(n%3==0) continue; else

{ printf(\ \ count++; if(count%5==0)

printf(\ } }

运行结果:

101 103 104 106 107 109 110 112 113 115

8.编程,猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天早上将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半多一个。到第10天早上想再吃的时候,见只剩下一个桃子了。求第1天共摘了多少桃子 源程序: #include void main()

{ int day,total,sum=1; for(day=1;day<=9;day++) {

total=(sum+1)*2; sum=total; }

printf(\}

运行结果:1534 方法二

#include void main() {

int day,x; day=9; x=1; while(day>0) {x=(x+1)*2; day--; }

printf(\ }

9.在100-1500内找出所有的亲密数对,并输出每对亲密数对。 输入输出示例:

(220,284)(284,220)(1184,1210)(1210,1184) 源程序: # include int yun(int x); void main() { int a,b;

for (a=100;a<=1500;a++)

{

b=yun(a);

if (b>=100&&b<=1500) {

if ((yun(b)==a)&&(a!=b)) {printf(\ }

} }

int yun(int x) { int i,sum=0;

for(i=1;i

运行结果: ( 220 284) ( 284 220)

( 1184 1210) ( 1210 1184)

Press any key to continue


c语言作业资料(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:小班数活动《鸡妈妈找宝宝》(学本领主题)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: