ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:38.46KB ,
资源ID:4751217      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4751217.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(扬州大学C语言上机作业19整理.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

扬州大学C语言上机作业19整理.docx

1、扬州大学C语言上机作业19整理答案仅供参考实验一4设计main函数实现从键盘上输入两个整型变量a、b的值,交换它们的值并输出。#includevoid main()int a,b,c;printf(enter first integer : );scanf(%d,&a);printf(enter second integer : );scanf(%d,&b);c=a;a=b;b=c;printf(%d,%dn,a,b);getch();5设计main函数实现从键盘上输入两个整型变量a、b的值,并将b的值加入到a中,输出a的值。 #includevoid main()int a,b,c;prin

2、tf(enter first integer : );scanf(%d,&a);printf(enter second integer : );scanf(%d,&b);c=a+b;a=c;printf(a=%d,b=%dn,a,b);getch();6从键盘输入整数x的值,根据公式y=x3+3x2+x-10求y的值,输出x和y的值。#includevoid main()int x,y;printf(enter first integer : );scanf(%d,&x);y=x*x*x+3*x*x+x-10;printf(x=%d,y=%dn,x,y);getch();实验二1编写程序,从键

3、盘上输入一个整数(例如560)表示分钟,将其换算成用小时和分钟表示,然后输出至屏幕。#include void main() int a,b,hour,min; printf(enter first integer : ); scanf(%d,&a); b=60; hour=a/b; min=a%b; printf(hour=%d,min=%dn,hour,min); getch(); 2编写程序,输入两个整数(例如1500和350),求出它们的商和余数并进行输出。#include void main() int a,b,c,d; a=1500,b=350; c=a/b; d=a%b; pri

4、ntf(%d,%d,c,d); getch();3.编写程序,读入3个整数给分别变量a,b,c,然后将a,b,c的值输出到屏幕,再交换它们中的数值,把a中原来的值给b,把b中原来的值赋给c,把c中原来的值赋给a,然后再次输出a,b,c的值到屏幕。#include void main() int a,b,c,d;printf(enter first integer : );scanf(%d,&a);printf(enter second integer : );scanf(%d,&b);printf(enter third integer : );scanf(%d,&c); printf(a=%

5、d,b=%d,c=%dn,a,b,c);d=c;c=b;b=a;a=d;printf(a=%d,b=%d,c=%d,a,b,c);getch();4编写程序,读入3个双精度数,求它们的平均值输出到屏幕。#include void main() double sum=0; double a,b,c,d;printf(enter first integer : );scanf(%lf,&a);printf(enter second integer : );scanf(%lf,&b);printf(enter third integer : );scanf(%lf,&c);sum=a+b+c; d=

6、sum/; printf(d=%lf,d); getch(); 5下列程序中,要求main函数实现如下功能:从键盘上输入3个正整数,求出它们中的最大值。请完善程序,并在程序最后用注释的方式给出你的测试数据及在这组测试数据下的运行结果。#include void main() int a ,b ,c ,d ,max; printf(“Enter three integers:”); scanf(“%d%d%d”,&a,&b,&c); if(ab) max=a; else max=b; if(cmax) max=c; printf(“max of the three numbers is %d”,

7、max);grtch();6. 请编程序:对从键盘上输入的x值,根据以下函数关系计算出相应的y值(设x,y均为整型量)。x值的范围计算y的公式x000=x10x10=x201020=x40-5x+20#include void main() int x,y; printf(x=); scanf(%d ,&x); if (x0) y=0; else if (x=0) y=x; else if (x=10&x=20&x40) y=(-5)*x+20; printf(%d ,y); getch(); 实验三1. 下列程序想求出满足如下条件的三位数n:(1)n除以11(整数相除)所得到的商等于n的各位

8、数字的平方和;(2)n中至少有二位数字相同。如:131除以11的商为11,131各位数字的平方和为11,131中有二位数字相同,故131是所要求出的三位数中的一个;又如550,也是满足条件的三位数。源程序中有些错误,请你改正并最终使程序得到如下的运行结果:131 550 900#include void main() int n , a , b , c;for(n=1; n1000; n+) a=n/100; b=n/10%10; c=n%10;if(n/11=a*a+b*b+c*c&(a=b|a=c|b=c)printf(%dn,n); getch();2. 请编程序,实现从键盘上输入任意一

9、个整数n,求出n的各位数字之和。例如,当n为263时,各位数字之和为11。下面是一个可以实现逐位数字累加功能的程序段,试理解后应用到自己的程序中。k=0;n=263;do k+=n%10;n/=10; while(n);#include void main() int n,k; scanf(%d,&n); k=0; do k+=n%10; n/=10; while(n); printf(%d,k); getch(); 3. 试找出符合下列条件的正整数:(1)该数是一个三位数;(2)该数是37的倍数;(3)该数循环左移后得到的另两个数也是37的倍数。例如148是37的倍数,481和814也是37

10、的倍数。#includevoid main()int n,a,b;for(n=100;n1000;n+)if(n%37=0)a=n/10+n%10*100;b=n/100+n%100*10;if(a%37=0&b%37=0)printf(%dn,n);getch();4请编程序利用下列公式求的近似值。公式为:要求:先求出前2n项的值,再求出2n+2项的值,直至二者之差小于105为止。#includevoid main()int n;float a,b;a=1,b=3;n=1;while(b-a=1e-5)a=b;n+;b=b*4*n*n/(2*n-1)/(2*n+1);printf(%f,%f

11、,2*a,2*b);getch();5. 请编程序求出满足如下条件的四位数n:(1)n的范围为5000,8000;(2)n千位上的数减百位上的数减十位上的数减个位上的数大于零。编程要求:以每行5个输出满足条件的数及该类数的个数。#includevoid main()int n,a,b,c,d,k=0; for(n=5000;n0) printf(%5d,n);k+; if(k%5=0) printf(n); printf(k=%d,k); getch(); 6请编程序求出满足如下条件的一个四位整数,它的9倍恰好是其反序数(例如,1234与4321互为反序数)。#includevoid main

12、()int n,e,a,b,c,d; for(n=1000;n=9999;n+) a=n/1000;b=n/100%10;c=n/10%10;d=n%10;e=d*1000+c*100+b*10+a;if(9*n=e)printf(%d,n);getch();7请编程序求出从键盘上输入的两个正整数a和b的最大公约数和最小公倍数。#include void main() int m,n,r,x; scanf(%d,%d,&m,&n); x=m*n;while(n!=0) r=m%n; m=n; n=r; printf(%d %d,m,x/m);getch();8请编程序计算1!+2!+3!+n!

13、的前10项之和。#include void main() long sum,k; int i,j; sum=0; for(i=1;i=10;i+) for(j=1,k=1;j=i;j+) k*=j; sum+=k; printf(%ldn,sum); getch(); 实验四1. 反序数。例如,123的反序数是321。请设计程序,从键盘上输入一个整数,求其反序数并输出。#include main() int n,k;printf(n=);scanf(%d,&n);k=0;while(n!=0)k=k*10+n%10;n/=10;printf(k=%d,k);getch();2. 完备数。完备数

14、是一些特殊的自然数,它所有的真因子(即除了自身以外的约数)之和恰好等于该数本身。例如,6=1+2+3,故6是一个完备数。请设计程序,找出500以内的所有完备数。#include void main() int n,i,k;for(n=1;n=500;n+) k=0;for(i=1;i=n-1;i+) if(n%i=0) k+=i; if(n=k) printf(%dn,n);getch();3. 回文数。一个数如果正读和倒读(即反序数)相同,称该数是回文数。例如,121、1331均为回文数。请设计程序,找出200300之间的所有回文数,并以每行8个数输出至屏幕。#include void ma

15、in() int n,k,i,m=0; for(n=200;n=300;n+) k=0; i=n; while(i!=0) k=k*10+i%10; i/=10; if(n=k) m+; printf(%8d,n); if(m%8=0) printf(n); getch(); 4. 回文质数。一个数如果是回文数,同时又是质数,则该数被称为回文质数。请设计程序,找出100500之间的所有回文质数,并以每行5个输出至屏幕。#include #include void main() int n,k,i,m;for(n=100;n=500;n+) k=0; i=n; while(i!=0) k=k*1

16、0+i%10; i/=10; if(n=k) for(m=2;msqrt(n) printf(%4d,n);account+;if(account%5=0)printf(“n”); getch();5. 绝对质数。如果一个数和其反序数均为质数,则该数被称为绝对质数。如,13是质数,其反序数31也为质数,则13和31是一对绝对质数。请设计程序,找出200以内的绝对质数。#include #include void main() int n,k,i,m,a; for(n=1;n=200;n+) for(a=2;asqrt(n) i=n,k=0; while(i!=0) k=k*10+i%10; i

17、/=10; for(m=2;msqrt(k) printf(%5d,n); getch(); 6. 平方镜反数。如果一个数的平方数,是其反序数的平方数的反序数,则称该数和其反序数是一对平方镜反数。例如,12的平方数是144,其反序数为21,21的平方数是441,其反序数是12的平方数144,故12和21是一对平方镜反数。请设计程序找出200以内的所有平方镜反数对。#include #include void main() int n,k,i,a,b; for(n=1;n=200;n+) k=0; i=n; while(i!=0) k=k*10+i%10; i/=10; a=k*k; b=0;

18、while(a!=0) b=b*10+a%10; a/=10; if(b=(n*n) printf(%dn,n); getch(); 7黑洞数。黑洞数又称陷阱数,是类具有奇特转换特性的整数。任何一个数字不全相同整数,经有限“重排求差”操作,总会得到某个数,这些数即为黑洞数。“重排求差”操作即把组成该数的数字重排后得到的最大数减去重排后得到的最小数。随便造一个四位数,如a1=1231,先把组成部分1231的四个数字由大到小排列得到a2=3211,再把1231的四个数字由小到大排列得a3=1123,用大的减去小的a2-a1=3211-1123=2088。把2088按上面的方法再作一遍,由大到小排列

19、得8820,由小到大排列得288,相减8820-288=8532。把8532按上面的方法再作一遍,由大到小排列得8532,由 小到大排列得2358,相减8532-2358=6174。如果再往下做,奇迹就出现了!7641-1467=6174,又回到6174。6174便是一个4位黑洞数。请编写程序,用上述方法找出3位黑洞数。暂无答案实验五1. 有一张足够大的纸,厚毫米,问将它对折多少次后可以达到珠穆朗玛峰的高度(8848米)#include void main()double a=9e-2; int n=0;while(a=8848)a=a*2;n+; printf(a=%d,n);getch()

20、;2. 请设计程序采用递推法计算下列级数的近似值,当n取某一值使得|x(2n+1)/n!|= m=-m; p*=(x*x); q+=2; k+; n*=k; sum+=(m*p)/(q*n); printf(%lf,sum); getch(); 3. 请设计程序,根据下列公式计算cos(x)的近似值。精度要求:当通项的绝对值小于等于10-6为止。cos(x)=1-x2/2!+x4/4!-x6/6!+(-1)nx2n/(2n)!#include #include void main() double x,k,sum,term,a,b,m; printf(x=); scanf(%lf,&x); s

21、um=1; m=1; a=0; k=1; b=1; term=1; while(fabs(term) k*=(x*x); m=-m; a+=2; b*=(a*(a-1); sum+=(m*k)/b); term=(m*k)/b; printf(cos(x)=%lf,sum); getch(); 4. 请设计程序采用递推法计算的值。即求-+的值。其中x为键盘输入的一个任意的单精度实数。#include void main()int i,p;float x,m,q,sum;printf(x=);scanf(%f,&x);sum=x;m=x;p=1;q=1;for(i=1;i k*=(x*x); m

22、=-m; a+=2; b*=(a*(a-1); sum+=(m*k)/b); term=(m*k)/b; sum=(-1)*sum*cos(x)/x; sum+=2; printf(%lf,sum); getch(); 实验六3. 水仙花数是指一个3位数,其各位数字的立方和等于该数本身。请完善下列程序中的函数int daffodil(int n),其功能是判断整数n是否为水仙花数,如是,则该函数返回值,否则返回值。注意,不能更改main函数。#include int daffodil(int n) int k=0,m; m=n; do k+=(m%10)*(m%10)*(m%10); m/=1

23、0;while(m); if(n=k) return 1; else return 0;main() int m,i=0; for(m=100;m1000;m+) if(daffodil(m)=1) printf(%5d,m); i+; if(i%5=0)printf(n); getch();4. 请编写程序,找出满足如下条件的整数m:(1)该数在11,999之内;(2) m、m2、m3均为回文数。例如m=11,m2=121,m3=1331,11、121、1331皆为回文数,故m=11是满足条件的一个数。请设计函数int value(long m),其功能是判断m是否是回文数,如是,该函数返回

24、值1,否则返回值0。编写main函数,求出11,999内满足条件的所有整数。#include int value(long m) long s,n; s=0; n=m; while(n) s=s*10+n%10; n/=10; if(s=m) return 1; else return 0;main() long m; for(m=11;m1000;m+) if(value(m)=1&value(m*m)=1&value(m*m*m)=1) printf(%5ld,m); getch();5. 设n0是一个给定的正整数。对于i=0,1,2,定义:若ni是偶数,则ni+1=ni/2;若ni是奇数,则ni+1=3ni+1;若ni是1,则序列结束。用这种方法产生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1