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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言老师所给习题解答.docx

1、C语言老师所给习题解答(本内容由洪文杰同学提供,在此表示感谢!) C语言上机题汇总1.输入三角形两个边长及其夹角(角度值),求第三边边长和三角型面积。#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;扩展:编写已知三角形三边求面积的函数。#include#includeint ma

2、in() float a,b,c,s,area; printf(依次输入a,b,c(空格识别一个数):); scanf(%f%f%f,&a,&b,&c); if(a+bc&a-bc)p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c);printf(三角形面积是:%fn,s);else printf(这不是三角形n);2输入一个字符,若是小写字母,则转换成大写字母输出;若是大写字母,则转换成小写字母输出。#include main()char ch;printf(input:);scanf(%c,&ch);if(ch=a&ch=A&ch=Z) printf(%c,ch+

3、32);else printf(input error!);3输入一个大写字母,输出字母表中它前面的字母和后面的字母。如果输入的字母为A或Z,则分别输出提示信息“没有前面的字母”或“没有后面的字母”。#includevoid main() char ch, c; bool flag= 1;while(flag) printf(请输入一个大写字母:n); scanf(%c%c, &ch, &c);if(ch A & ch Z) printf(%c, %cn, ch-1, ch+1); else if(ch = A) printf(%cn 没有前面的字母n, ch+1); else if(ch =

4、 Z) printf(%cn 没有后面的字母n, ch-1); else if(ch = q) flag= 0; else printf(-输入的为非法字符!n); printf(n); 4编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:能同时被3、5、7整除。能同时被3、5、7中的两个数整除,并输出这两个数。只能被3、5、7中的一个数整除,输出该数。不能被3、5、7中的任何一个数整除。范例1#include int main() int m; scanf(%d,&m); if (m/3=0)&(m/5=0)&(m/7=0) printf(能同时被3,5,7整除);

5、 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整除,); 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整

6、除,); else printf(不能被3,5,7任一个整除); return 0; 范例2#include stdio.hmain()int x,y,z;scanf(d%,x);if (x%3=0 &x%5=0&x%7=0)printf(能同时被3个数整除);else if( (x%3=0&x%5=0&x%7!=0)printf(3,5);else if(x%7=0&x%5=0&x%3!=0) printf(5,7);else if(x%7=0&x%5=0&x%5!=0)printf(3,7);else if(x%3=0&x%5!=0&x%7!=0)printf(3);else if(x%3

7、!=0&x%5=0&x%7!=0)printf(5)else if(x%3!=0&x%5!=0&x%7=0)printf(7);else if (x%3!=0&x%5!=0&x%7!=0)printf(都不能被整除)5已知正整数ABC且A+B+C100,求满足共有多少组,并输出满足条件的组合。#include stdio.hmain()int a,b,c,cout=0; for(c=1;c100;c+) for(b=c+1;b PRECISION | -lastValue PRECISION); printf(s is: %f,totalValue );getch();扩展2:输入一个数X,计

8、算并输出下式S=X+X2/2!+X3/3!+X4/4!.的值,直到最后一项的绝对值小于10的-5次方(保留两位小数)#include#include/fabs()int main() double x,s,a; int i; scanf(%lf,&x); a=x; s=a; for(i=1;i+=2) a*=x*x*(-1)/(i+1)*(i+2); if(fabs(a)1e-7) break; s+=a; printf(%.8fn,s); return 0; 7用迭代法求某数的平方根,已知求平方根的迭代公式为:。取为迭代初值,迭代的结束条件取。#includestdio.h#includem

9、ath.hmain()float a,x0,x1; printf(nInput a:);scanf(%f,&a); if(a1e-6); printf(sqrt(%f)=%fn,a,x1); 8分别输出100以内(不包括100)所有偶数的和与所有奇数的和。#includemain() int x=1,sj=0,so=0; while(x=100) if(x%2=1) sj+=x; if(x%2!=1) so+=x; x+; printf(sj=%dn,sj); printf(so=%d,so);9利用嵌套循环输出以下图形(行与行之间无空行,列与列之间无空列): # # #includeint

10、main()int i,j,k;for(j=1;j=1;k-) printf(“#”);printf(“n”);Return 0;10使用循环找到并输出100以内的所有素数。int i, j, n=100, m=1, temp=1;for(i=2;in;i+) temp = 1; for(j=2;j=5) printf(n); m = 1; m+; 11利用循环找出并输出所有的“水仙花数”。“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。如,所以153是“水仙花数”。C语言的水仙花数代码main() int i,j,k; for(i=1;i10;i+) for(j=0;j10;j+)

11、 for(k=0;k10;k+) if( (i*100+j*10+k)=(i*i*i)+(j*j*j)+(k*k*k) printf(%d%d%d ,i,j,k);getch();C语言的水仙花数代码main() int ge,shi,bai,number; for(number=100;number1000;number+) bai=number/100; shi=(number%100)/10; ge=number%10; if(number=bai*bai*bai+shi*shi*shi+ge*ge*ge)printf(nnumber=%dn,number); getch(); 范例三m

12、ain()int i,x,y,z;for(i=100;i=999;i+)x=i%10;/*个位*/y=(i/10)%10;/*十位*/z=(i/100)%10;/*百位*/if (x*x*x + y*y*y + z*z*z = i) printf(%dn,i);12输出斐波那契数列的前40项。斐波那契数列是个整数数列,其定义为:范例一:#includeint fun(int n) if(n = 1 | n = 2) return 1; else return fun(n-1) + fun(n-2);void main() int i; for(i = 1; i = 40; i+) printf

13、(%dn, fun(i); 范例二:main() long fib40 = 1,1; int i; for(i=2;i40;i+) fibi = fibi-1+fibi-2; for(i=0;i40;i+) printf(F%d=%dn, i, fibi); return 0;13输出100以内所有的“同构数”。所谓“同构数”一个正整数,它出现在其平方数的右边。例如:5是25右边的数,25是625右边的数,5和25都是同构数。#includemain()int i;for(i=1;i=100;i+)if(i*i%10=i)printf(%d,i);14指定一个正整数n,并输入n个整数,用冒泡法

14、将它们由小到大顺序排列并输出。#includeint mainInt I,j,n,temp,a10;Scanf(“%d”,&n);Printf(“ the original numbers:n”);For(i=0;in;i+) Scanf(“%d”,&ai);For(i=0;in-1;i+) For(j=0;jaj) Temp=aj-1aj;aj-1=aj;aj=tempPrintf(“n the sorted number is :n” );For(i=0;jn;i+)Printf(“%d”,ai);Return 0;15利用循环打印下列九九乘法表:1*1= 12*1= 2 2*2= 43*

15、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*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81#includeint mai

16、n() int i; int j; for(i=1;i=9;i+) for(j=1;j=i;j+) printf(%d*%d=%dn,j,i,i*j); return 0;16利用循环打印以下杨辉三角(要求打印7行): 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 11 6 15 20 15 6 1C语言双重循环输出杨辉三角前10行: 直角三角形杨辉三角: #include #define M 10 void main() int aMM, i , j ; for(i=0;iM;i+) for(j=0;j=i;j+) if(i=j|j=0) aij=1;

17、else aij=ai-1j+ai-1j-1; printf(%5d,aij); if(i=j)printf(n); 金字塔型杨辉三角: #include void main() int a1010,i,j; for(i=0;i=i;j-) printf(%2c, );/*两个空格*/ for(j=0;j=i;j+) if(i=j|j=0) aij=1; else aij=ai-1j+ai-1j-1; printf(%3d ,aij); /*%3d后一个空格*/ if(i=j) printf(n); 17利用循环输出下列图形(无空行和空列):*#includeInt main()Int I,j

18、,k;For(i=1;i=1;k-)Printf(“ “#”);Printf(“n”)Return 0;18不使用strcat函数,将两个字符串连接起来。#includeint a20,b20,i=0,j=0;while(ai!=0) i+;while(bi!=0) ai+=bi+;ai=0;printf(%s,a);范例二:#include #include #include int main() char str1 = 123asd456; char str2 = abcdef; int len;len = strlen(str1) + strlen(str2); char *str3 =

19、 (char *)malloc(len+1) * sizeof(char); int i, j = 0, k = 0; for(i = 0; i = len; i+) if (str1j) str3i = str1j+; else if (str2k) str3i = str2k+; else str3i = 0; printf(%sn, str3); return 0;范例二:#includemain() char a100,b100,*p,*q; scanf(%s%s,a,b); p=a; q=b; while(*p) +p; while(*q) *p+=*q+; *p=0; printf

20、(%sn,a);19编写函数,求的值。n的值由键盘获得。#includemain()int i=1,n;double sum=0;scanf(%ld,&n);while(i=n) i;sum=sum+1/i;i+;printf(%fn,sum);20编写函数int fun(char str)并在主函数中调用它。此函数的功能是判别字符串str是否为“回文”,若是,返回1,否则返回0(回文是指正反序相同的字符串,如“13531”、“madam”是回文,“1353”、“mrs”不是回文)。#include #include main()int s(char a20);char a20;int t;

21、gets(a); t=s(a); if(t=1) printf(yes); if(t=0) printf(no); int s(char a20) int m,n,i; n=strlen(a); for (i=0;in/2;i+) if(ai!=an-i-1) return 0; return 1; 21用递归方法计算。扩展:用递归方式计算a!+b!+c!,并要求输出结果#include int fac(int n)/如果n大于十二,改用double或者long long,输出也相应改变 if(n=0) return 1; else return fac(n-1)*n;void main()

22、int a,b,c; int sum; printf(请分别输入a,b,c,并用逗号隔开:n); scanf(%d%d%d,&a,&b,&c); sum=fac(a)+fac(b)+fac(c); printf(%dn,sum);22用静态局部变量法计算。扩展:编写求n的阶乘的函数(用到静态局部变量),调用此函数求多项式之和:1/1!+1/2!+1/3!+1/n!,直到最后两项之差小于10的负5次方。#include double jiecheng(int n) static double num=1; num*=n; return num;void main() int n; double

23、sum=0,temp,item=1; for (n=2;n+) sum+=item; temp=1.0/jiecheng(n); if (item-temp1e-5)break; item=temp; printf(sum=%lfn,sum);23编写函数,求,其中:#include double fun (int n)int i;double sum=0.0;for(i=1;i =n;i+)sum+=1.0/i;return sum;main()int n; double s;printf(n Input n1n2n3n4: ); scanf(%d%d %d %d ,&n1&n2&n 3&n4); s=fun(n1)+fun(n2)+fun(n3)+ fun(n4);printf(%d,s); 扩展范例:请编写函数fun,其功能是:计算并输出下列多项式值:S=1+注意:n的值要求大于1但不大于100。#include double fun (int n)int i, j,k;double sum=0.0, t;for(i=1;i =n;i+) t=0.0; for(j=1;j=i;j+) t+=j;sum+=1.0/t;return sum;

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

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