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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言上机题目来源及答案概要.docx

1、C语言上机题目来源及答案概要C 语言”上机题目汇总2012-2013-21.输入三角形两个边长及其夹角(角度值) ,求第三边边长和三角型面 积。(上机指导 P98 3( 2)#include#includefloat pi=3.141592;int main()float a,b,c,v,s;scanf(%f%f%f,&a,&b,&v); c=sqrt(a*a+b*b-2*a*b*cos(v/180*pi);s=a*b*sin(v/180*pi)/2;printf(c=%0.2f,s=%0.2fn,c,s);return 0;(测试通过)2.输入一个字符,若是小写字母,则转换成大写字母输出;若

2、是大写 字母,则转换成小写字母输出。 (上机指导 P101 2(2)#include int main()char ch;printf(input:);scanf(%c,&ch);if(ch=a&ch= A&ch=Z)printf(%c,ch+32);else printf(input error!);return 0;(测试通过)3.输入一个大写字母,输出字母表中它前面的字母和后面的字母。如果输入的 字母为A或乙则分别输出提示信息“没有前面的字母”或“没有后面的 字母”。 (上机指导 P101 2(3)#include int main()char c;printf( 请输入一个大写字母:

3、);scanf(%c,&c);if (cA&cZ)printf(前一个字母是: %c,后一个字母是: c,c-1,c+1);else if(c= A)printf( A的前面没有字母,A的后一个字母是%c,c+1);else if(c=Z)printf(Z的后面没有字母,Z的前一个字母是 %c,c-1);elseprintf(输入有误请重新输入);return 0;(测试通过)4.编写程序,输入一个整数,判断它能否被 3、5、7整除,并根据情况输出下列信息:(上机指导P102 2(6)(1)能同时被3、5、7整除。(2)能同时被3、5、7中的两个数整除,并输出这两个数。(3)只能被3、5、7中

4、的一个数整除,输出该数。(4)不能被3、5、7中的任何一个数整除。#in cludeint mai n()int m;prin tf(pl ease in put:);scan f(%d, &m);if (m%3=0) &(m%5=0) &(m%7=0) printf(能同时被3,5,7整除);else if( (m%3=0) &(m%5=0) &(m%7!=0)printf(能被3和5整除,);else if (m%3=0) &(m%7=0) &(m%5!=0)printf(能被3和7整除,);else if (m%7=0) &(m%5=0) &(m%3!=0)printf(能被7和5整除,

5、);else if (m%7=0) &(m%5!=0) &(m%3!=0)printf(能被 7 整除,);else if (m%7!=0)&(m%5=0) &(m%3!=0)printf(能被 5 整除,);else if (m%7!=0)&(m%5!=0)&(m%3=0)printf(能被 3 整除,);elseprintf(不能被3,5,7任一个整除);return 0;(测试通过)5.已知正整数ABC且A+B+CV100,求满足 2+4=4 共有多少组,并输A2 B2 C2出满足条件的组合。(上机指导P106 2( 3)#in clude int mai n()int a,b,c,co

6、ut=0;for(c=1;c100;c+)for(b=c+1;b100;b+) for(a=b+1;a100) break;else if(1.0/(a*a)+1.0/(b*b)=1.0/(c*c)printf(” A=%d B=%d C=%dn, a,b,c );cout+;prin tf(%dn,cout);return 0;(测试通过)6.求1 + -+- + -+ +的值,直到最后一项的值小于10-5。(上机指2 4 7 11 16 22导 P106 2 (4)#in clude int mai n()int i,a=1;double b=0,s=0;for(i=1;b0.00001;

7、i+)a=i+a;b=1.0/a;s=s+b;prin tf(%f,s);return 0;(测试通过)7.用迭代法求某数a的平方根,已知求平方根的迭代公式为:Xn=(Xn-1+)o2 Xn-1取a为迭代初值,迭代的结束条件取 人-x甘105 o (课本例6-6)28.分别输出100以内(不包括100)所有偶数的和与所有奇数的和。(课本例6-89.利用嵌套循环输出以下图形(行与行之间无空行,列与列之间无空列) :(课本例6-9)#10.使用循环找到并输出 100 以内的所有素数。(课本例 6-11)11.利用循环找出并输出所有的“水仙花数” 。“水仙花数”是一个三位数,其各位数字的立方和等于该

8、数本身。 如153=13+53+33,所以 153 是“水仙花数”。 (课本例 6-19)12.输出斐波那契数列的前 40 项。斐波那契数列是个整数数列,其定义为:13.输出 100 以内所有的“同构数”。所谓“同构数”一个正整数,它出现在其 平方数的右边。例如: 5 是 25 右边的数, 25 是 625 右边的数, 5 和 25 都 是同构数。(做过的习题)#includeint main()int i; for(i=1;i=100;i+)if(i*i%10=i|i*i%100=i) printf(%dn,i);return 0;(测试通过)14.指定一个正整数n,并输入n个整数,用冒泡法

9、将它们由小到大顺序排列并 输出。(课本例 7-4)15.利用循环打印下列九九乘法表: (习题)1*1= 12*1= 2 2*2= 43*1= 3 3*2= 6 3*3= 94*1= 4 4*2= 8 4*3=12 4*4=165*1= 5 5*2=10 5*3=15 5*4=20 5*5=256*1= 6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1= 7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1= 8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=649*1= 9 9*

10、2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81 #includeint main()int i,j,k;printf(nn 九九乘法表: nnn);for(i=1;i=9;i+)for(j=1;j=i;j+)k=i*j;printf(%d*%d=%-3d ,j,i,k); printf(n);return 0;16.利用循环打印以下杨辉三角(要求打印 7 行):(课本 P98 3)11112113311464 1151010 5 11615 20 15 6 1#include#define M 7int main()int aMM,

11、i , j ;for(i=0;iM;i+)for(j=0;j=i;j+)if(i=j|j=0)aij=1;elseaij=ai-1j+ai-1j-1;printf(%5d,aij);if(i=j)printf(n);return 0;17.利用循环输出下列图形(无空行和空列) :( 6-9 变形)*#include int main() int i,j,k;for(i=1;i=4;i+)for(j=1;j=8-i;j+) printf( ); for(j=1;j=2*i-1;j+)prin tf(*); prin tf(n ”); return 0;(测试通过)18.不使用strcat函数,将

12、两个字符串连接起来。(课本例7-13)19.编写函数,求1 + 1 + 1+1+ +1的值。n的值由键盘获得。(课本例8-6)2 3 4 n20.编写函数int fun(char str) 并在主函数中调用它。此函数的功能是判别字符串str是否为“回文”,若是,返回1,否则返回0 (回文是指正反 序相同的字符串,如“ 13531 ”、“madam”是回文,“ 1353”、“mrs”不是 回文)。(课本例8-9)21.用递归方法计算n!。(课本例8-13)22.用静态局部变量法计算n!。#i nclude int mai n()int i;long n ,s;scan f(%d, &n);for

13、(i=s=1;i=n ;i+)s=s*i;prin tf( n!=%ldn,s);return 0;(测试通过,不过我不会用静态局部变量法,就只用了个循环)23.编写函数,求R s= s1 + s2 + s3 + s4,其中:(课本例8-22) 1 11s1 =1+ + -2 350o 1 11s2 = 1 + i+ -2 31001 1s3=1+ +1 + 2 3150 1 11 + 2 320025.编写函数,求出n个a之积。调用该函数,输入两个正整数 n和a,求a+aa+aaa+A +aa$a 之和。(上机指导 P118 2 ( 2)#in clude int fun (i nt a,i

14、 nt n) int i,sum1=0,sum2=0; for(i=0;i n; i+)sum仁sum1*10+a; sum2+=sum1;return sum2;int mai n()int a,n;prin tf(E nter the a and n: ”); scan f(%d%d,&a, &n);prin tf(result: %d,fu n(a, n); return 0;26.编写程序,使用字符指针将字符数组 s1中的字符串拷贝到字符数组 s2中 去。(课本例9-5)27.使用“指向函数的指针”编写函数,求多项式 x4 + x-1当x = 1.5,2.5,3.5,4.5时的值。(课

15、本例9-16)28.编写函数,将直角坐标(x,y)转换为极坐标(r,q)。转换公式为:(课本例9-29)29.编写函数,使用指针参数将字符串ch2复制到字符串ch1的末尾,实现ch1 与ch2的连接。(课本例9-3230.利用指针编写程序,将一个一维数组 a10中的最大元素和首元素换位,最小元素和末元素换位。数组元素由键盘获得。 (上机指导P121 2(4)#i ncludestdio.hvoid mai n()int max,mi n,*p,a10,i; for(i=0;i10;i+) scan f(%d,&ai);p=a;max=a0;for(i=1;i10;i+,p+) if(max*p

16、) max=*p;for(i=1;i10;i+)while(ai=max)ai=aO;aO=max;p=a;min=a9;for(i=1;i*p)mi n=*p;for(i=1;i10;i+)while(ai=mi n)ai=a9;a9=mi n;for(i=0;i10;i+)prin tf(%d,ai);(测试通过)31.试编程序,输入整数a和b,若a2 +b2大于100,则输出a2 b2百位以上(包 括百位)的数字,否则输出两数之和。#i nclude int mai n()int a,b;long s;printf(请输入整数 a,b:);scan f(%d%d,&a, &b);s=a*

17、a+b*b;if(s100)prin tf(%d,s/100);elseprin tf(%d,a+b);return 0;(测试通过)32.试编程序,求一个整数任意次方的最后三位数。即求 xy的最后三位数,要求x,y从键盘输入,使用循环实现,不能使用数学库函数。#i nclude void mai n()int i,x,a;long r=1;printf(输入1个整数:);scan f(%d, &x);printf(输入乘方数:);scan f(%d, &a);for(i=1;i=a;i+)r=r*x%1000;printf(%d 的 %d 次方的后 3 位是 %03ld,x,a,r);(测试

18、通过)33.求99的个、十、百位上数字之和。#i nclude int mai n()int i,m=1,sum=0; for(i=1;i9;i+) m=m*9%1000;while(m) sum+=m%10; m/=10; printf(%dn,sum);return 0;(测试通过)34.输出 100 以内每位数的积大于每位数的和的所有正整数。 #include stdio.h void main ( ) int n,k=1,s=0,m ;for (n=1 ; n=1) k*=m%10; s+=m%10; m=m/10 ;if(ks) printf(%dn,n); (测试通过)35.通过循

19、环按行优先顺序为一个 5X 5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。 (习题)#include int main(void)int a55,k=1,i,j;for(i=0;i5;i+) for(j=0;j5;j+)aij=k;k+; for(i=0;i5;i+) for(j=0;j=i;j+) printf(%d ,aij);printf(n);return 0;(测试通过)36.从键盘输入若干整数(个数小于 30),其值在 0 至 4 的范围内,用 -1 作为输入结束的标志。统计每个整数的个数。#includeint main()int a=0,b=0,c=0,d=0,

20、e=0,num,i;printf( 从键盘输入若干整数 :n);for(i=1;i=30;i+)scanf(%d,&num);if(num=(-1)break;switch(num)case 0: a+;break;case 1: b+;break;case 2: c+;break;case 3: d+;break;case 4: e+;break;printf(0 的个数为 :%dn1 的个数为 :%dn2 的个数为 :%dn,a,b,c);printf(3 的个数为 :%dn4 的个数为 :%dn,d,e);return 0;(测试通过)37.定义一个含有 30个整型元素的数组, 按顺序分

21、别赋予从 2开始的偶数,然 后按顺序每五个数求出一个平均值,放在另一个数组中并输出。#include int main()int a30,b5,i=0,j;while(i30)ai+ =2*(i+1);i=0;while(i5)j=i*6; bi=aj+aj+1+aj+2+aj+3+aj+4+aj+5;bi/=6;i+;i=0;while(i5)printf(%dn,bi+);return 0;(测试通过)38.数组a包括10个整数,把a中所有的后项除以前项之商取整后存入数组 b,并按每行 3 个元素的格式输出数组 b。#include int main()int i,a10;int b10;

22、printf( 请输入 10 个整数 ,其中前 9 个数不能为 0:n);for(i=0;i10;i+)scanf(%d,&ai);for(i=1;i10;i+)bi=ai/ai-1;for(i=1;i10;i+)printf(%dt,bi);if(i%3=0)printf(n); return 0;(测试通过)39.编写函数 sstrcmp ,实现两个字符串的比较(即实现与 strcmp 函数功能相 同的函数)。若两个字符串相等,返回值为 0;若不等,则返回两个对应自 负的 ASCII 码值差值。若前者大,应返回正值,若后者大,应返回负值。 #include#define N 30void main()char s1N,s2N;int i,j=0;puts( 输入字符串 s1:);gets(s1);puts( 输入字符串 s2:);gets(s2);for(i=0;(s1i!=0)&(s2i!=0);i+)j=s1i-s2i;if(s1i=0)&(s2i=0)printf(%dn,j);elseprintf(%dn,s1i-s2i); (测试通过)

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

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