欢迎来到第一文库网! | 帮助中心 第一文库网-每个人都是第一
第一文库网
全部分类
  • 研究报告>
  • 学术论文>
  • 全科教育>
  • 应用文档>
  • 行业资料>
  • 企业管理>
  • 技术资料>
  • 生活休闲>
  • ImageVerifierCode 换一换
    首页 第一文库网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    C语言程序设计函数练习题及参考答案.docx

    • 资源ID:220611       资源大小:98.22KB        全文页数:51页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录 微博登录
    二维码
    扫码关注公众号登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    C语言程序设计函数练习题及参考答案.docx

    C语言程序设计练习题及参考答案1、定义一个函数intfun(inta,intb,intc),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。#inc1ude<stdio.h>intfun(inta,intb,intc)if(a+b>c&&b+c>a&&a+c>b)if(a=b&&b=c)return3;e1seif(a=bb=ca=c)return2;e1sereturn1;)e1sereturn0;)voidmain()(inta,b,c,shape;printf(z,n1puta,b,c:);scanf("%d%d%c,&a,&b,&c);printf(zzna=%d,b=%d,c=%dn”,a,b,c);shape=fun(a,b,c);printf(z,Theshape:%dnz,shape);2、编写一个程序,将两个变量的值交换,例如变量a中的值原为3,b中的值原为8,程序运行后a中的值为8,b中的值为3。inc1ude<stdio.h>voidfun(int*x,int*y)intt;t=*x;*x=*y;*y=t)voidmain()(inta=3,b=8;printf(z,%d%dn”,a,b);fun(&a,b);printf(,z%d%dn,a,b);3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量C中。例如,输入的数为:551234,输出结果应当是:a=55.O,b=34.0,c=12.Ooftinc1ude<stdio.h>voidfun(f1oat*p,f1oat*q,f1oat*s)(f1oatk;if(*p<*q)k=*p;*p=*q;*q=k;if(*q<*s)k=*s;*s=*p;*p=k;if(*p<*q)k=*p;*p=*q;*q=k;voidmain()f1oata,b,c;printf(zzInputabc:);SCanf("%f%f%f”,&a,&b,&c);printfC,a=%4.If,b=%4.If,c=%4.1fnnz,a,b,c);fun(&a,&b,&c);printf(z,a=%4.If,b=%4.If,c=%4.1fnn”,a,b,c);4、编写函数fun(intn),它的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。例如:n=120时,函数值为239。inc1ude<stdio.h>#inc1ude<std1ib.h>intfun(intn)(inti,s=0;for(i=2;i<n;i+)if(n%i=0)s=s+i;returns;voidmain()*主函数*/(voidNONO();printf(z,%dzz,fun(120);NONO();voidNONO()*请在此函数内打开文件,输入测试数据,调用fun函数,输出数据,关闭文件。*/FI1E*wf;wf二fopen(,a30.outzz,w);fprintf(wf,zr%d,>fun(120);fc1ose(wf);5、计算s,并输出1S=I+1+21+2+31+2+3+n1.833333n通过键盘输入,例如:若n的值为11时,则函数值为:#inc1ude<stdio.h>#inc1ude<std1ib.h>f1oatfun(intn)(inti;f1oats=1.0,h=1;for(i=2;i<=n;i+)h=h+i;s=s+1.0/h;)returns;voidmainO(intn;f1oats;printf(z,P1aseenterN:);SCanf(%d,&n);s=fun(n);printf(,ztheresu1tis:%f/z,s);6、将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当S中的数为:87653142时,t中的数为:7531inc1ude<stdio.h>voidfun(1ongs,1ong*t)intd;1ongs1=1;*t=0;whi1e(s>0)(d=s%10;if(d%2!=0)(*t=d*s1+*t;s1=s1*10;)s=10;main()(1ongs,t;printf(,P1aseenters:);scanf(zz%1dz,&s);fun(s,&t);printf(zzTheresu1tis:%1dn/z,t);7、计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值从键盘传入,若k的值为500,则输出4622。inc1ude<stdio.h>intfun(intk)intm=0,mc=0,j;whi1e(k>=1)A(mc<10)(if(k%13=0)II(k%17=0)(m=m+k;me+;k-;)returnm;voidmain()printf(/,%dn,fun(500);8、已知一个数列的前三项分别为O,O,1以后的各项都是其相邻的前三项之和,计算并输出该数列前n项的平方根之和SUm。例如,当n=10时,程序的输出结果应为:23.197745oftinc1ude<stdio.h>inc1ude<math.h>doub1efun(n)(doub1esum,s,si,s2,s;intk;sum=1.0;if(n<=2)sum=0.0;s=0.0;si=0.0;s2=1.0;for(k=4;k<=n;k+)s=s+si+s2;sum+=sqrt(s);s=si;si=s2;s2=s;returnsum;voidmain()intn;PrintfCInputN=);scanf("%d",&n);printf(z/%f,fun(n);9、编写一个程序,从键盘输入叫输出大于m且紧随m的素数。#inc1ude<stdio.h>intfun(intm)inti,k;for(i=m+1;i+)for(k=2;k<i;k+)if(i%k=0)break;if(k>=i)return(i);voidmain()(intn;printf(,P1aseentern:);scanf("%d",&n);printf(z,%dnz,fun(n);10、判断两个整数m和n是否互质(即是否有公共的因子)(m1,n1)o方法是:用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,贝IJn1和n不互质;否则它们互质。例如,若输入187和85,则应输出NO(表示它们不互质,它们有公因子17)。若输入89和187,则应输出YeS(表示它们互质)。inc1ude<stdio.h>intIsThat(intm,intn)(intk,t,mk=1;t=m;if(m>n)t=n;for(k=2;k<=t;k+)if(m%k=0&&n%k=O)mk=0;break;returnmk;voidmain()(intm,n;printf("nP1easeenter2numbers:nz,);scanf(/,%d%dzz,&m,&n);if(IsThat(m,n)printf(z,Yesn,z);e1seprintf(Non);11、将十进制正整数m转换成k进制数(2k9)并输出(m,k从键盘输入)。例如,若输入8和2,则应输出IOOO(即十进制数8转换成二进制表示是1000)。#inc1ude<stdio.h>voidTrans(intm,intk)intaa20,i,j;for(i=0;m;i+)(aai=m%k;m/=k;for(j=i-1;j>=0;j)printf%d*,aaj);voidmain()(intb,n;printf(,znP1easeenteranumberandabase:,z);scanf(z,%d%d",&n,&b);Trans(n,b);12、统计从键盘输入的50个实数中有多少个正数、多少个负数、多少个零ftinc1ude<stdio.h>voidfun(int*zs,int*fs,int*1,f1oataa)(inti;for(i=0;i<50;i+)(if(aai>0)(*zs)+÷if(aai<0)(*fs)+;if(aai=0)(*1)+;voidmain()(f1oatnum50;inti,czs,cfs,c1;czs=cfs=c1=0;printf(z,P1easeenter50f1oatnumbers:n);for(i=0;i<50;i+)scanf(ii%fff,&numi);fun(fcczs,&cfs,&c1,num);Printf(n正数:%d,负数:%d,零:%dn,z,czs,cfs,c1);13、计算并输出方程2+2=i989的所有整数解#inc1ude<stdio.h>voidfunOintx,y;for(x=1;x<=44;x+)for(y=1;y<=44;y÷+)if(x*x+y*y=1989)printf(iix=%d,y=%dn”,x,y);voidmainO(Printf(“方程屋2+/2=1989的整数解为:n");fun();14、从键盘输入10个整数,求出其中的最大值。#inc1ude<stdio.h>intfun(intaa)intm,i;m=aa0;for(i=1;i<10;i+)if(aai>m)m=aai;returnm;voidmain()(intnum10,i;Printf("请从键盘输入10个整数:n");for(i=0;i<10;i+)scanf(ii%dff,numi);Printf("n最大的数是:dn",fun(num);12345112341112311112I111115、从键盘输入n值,输出如右图形。(例如n=5时)#inc1ude<stdio.h>voidfun(intn)inti,j;for(i=1;i<=n;i+)for(j=1;j<=i;j+)printf(a%3df9,1);for(j=2;j<=n+1-i;j+)printf("%3d”,j);printf(itnff);voidmain()(intn;Printf("n请输入图形的行数:”);scanf("%d",&n);fun(n);16、使用函数的方式,计算如下公式

    注意事项

    本文(C语言程序设计函数练习题及参考答案.docx)为本站会员(lao****ou)主动上传,第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知第一文库网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 001doc.com网站版权所有   

    经营许可证编号:宁ICP备2022001085号

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有,必要时第一文库网拥有上传用户文档的转载和下载权。第一文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第一文库网,我们立即给予删除!



    收起
    展开