资源描述:
《c语言程序设计练习题(含程序及参考答案)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C语言练习题(所提供的源程序均采用自定义函数方式解决,如不采用函数方式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能一一验证,仅供参考使用)1、定义一个函数intfun(inta,intb,intc),它的功能是:若a,b,c能构成等边三角形函数返回3,若能构成等腰三角形函数返回2,若能构成一般三角形函数返回1,若不能构成三角形函数返回0。#includeintfun(inta,intb,intc){if(a+b>c&&b+c>a&&a+c>b){if(a==b&&b==c)return3
2、;
elseif(a==b
3、
4、b==c
5、
6、a==c)return2;elsereturn1;
}elsereturn0;}voidmain(){inta,b,c,shape;printf("Inputa,b,c:");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);shape=fun(a,b,c);printf("Theshape:%d",shape);}2、编写一个程序,将两个变量的值交换,例如变量a中的值原为3,b中的值原为8,程序运行
7、后a中的值为8,b中的值为3。#includevoidfun(int*x,int*y){intt;t=*x;*x=*y;*y=t}voidmain(){inta=3,b=8;printf("%d%d",a,b);fun(&a,b);printf("%d%d",a,b);}3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量c中。例如,输入的数为:551234,输出结果应当是:a=55.0,b=34.0,c=12.0。#includevoidfun(float*p,float*q
8、,float*s){floatk;
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(){floata,b,c;printf("Inputabc:");scanf("%f%f%f",&a,&b,&c);printf("a=%4.1f,b=%4.1f,c=%4.1f",a,b,c);fun(&a,&b,&c);printf("a=%4.1f,b=%4.1f,c=%4.1f",a,b
9、,c);}4、编写函数fun(intn),它的功能是:计算正整数n的所有因子(1和n除外)之和作为函数值返回。例如:n=120时,函数值为239。#include#includeintfun(intn){inti,s=0;for(i=2;i10、un函数,输出数据,关闭文件。*/FILE*wf;wf=fopen("a30.out","w");fprintf(wf,"%d",fun(120));fclose(wf);}5、计算s,并输出111S=1+──+───+……+──────1+2 1+2+3 1+2+3+…+nn通过键盘输入,例如:若n的值为11时,则函数值为:1.833333#include#includefloatfun(intn){inti;floats=1.0,h=1;for(i=2;i<=n;i++){h=
11、h+i;s=s+1.0/h;}returns;}voidmain(){intn;floats;printf("PleaseenterN:");scanf("%d",&n);s=fun(n);printf("theresultis:%f",s);}6、将一个整数中的每一位上为奇数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:7531。#includevoidfun(longs,long*t){intd;longs1=1;*t=0;whil
12、e(s>0){d=s%10;if(d%2!=0){*t=d*s1+*t;s1=s1*10;}s/=10;}}main(){longs,t;printf("Pleaseenters:");scanf("%ld",&s);fun(s,&t);printf("Theresult