c语言程序设计练习题答案,C语言程序设计练习题(含程序及参考答案)

《C语言程序设计练习题(含程序及参考答案)》由会员分享,可在线阅读,更多相关《C语言程序设计练习题(含程序及参考答案)(48页珍藏版)》请在人人文库网上搜索。

1、1、定义一个函数 int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三角形函数返回 3,若能构成等腰 返回2, 般三角形返回1,若不能构成三角形返回 0。#include int fun(int a,int b,int c)if(a+bc & b+ca & a+cb)if(a=b & b=c )return 3;else if(a=b|b=c|a=c)return 2;else return 1;else return 0;void main()int a,b,c,shape;printf(nl 叩ut a,b,c:);scanf(%d%d%d, &a,&。

2、b,&c);printf(na=%d, b=%d, c=%dn,a,b,c);shape =fun(a,b,c);printf(nnThe shape : %dn,shape);2、编写一个程序,将两个变量的值交换,例如变量a中的值 原为3 , b中的值原为8,程序运行后a中的值为8, b中的 值为3。#include void fun(int *x,int *y)int t;t=*x;*x=*y;*y=tvoid main()int a=3,b=8;printf(%d %dn,a,b);fun(&a,b);printf(%d %dn,a,b);3、从键盘输入3个数,将最大值放在变量 a中,最。

3、小值放在 变量c中。例如,输入的数为:55 12 34,输出结果应当是:a=55.0,b=34.0,c=12.0。#include void fun(float *p,float *q,float *s)float k;if (*p#include int fun(int n)int i,s=0;for (i=2;i#include float fun(int n)int i;float s=1.0,h=1;for (i=2;ivoid fun(long s,long *t)int d;long s1=1;*t=0;while (s0)d=s%10;if(d%2!=0)*t=d*s1+*t;s。

4、仁 s1*10;s/=10;main()long s,t;printf(nPlease enter s:);scanf(%ld, &s);fun(s, &t);printf(The result is:%ldn,t);7、计算并输出k以内最大的10个能被13或17整除的自然数之 和。k的值从键盘传入,若k的值为500,则输出4622。#include int fun(int k)int m=O,mc=O,j;while(k=1)&( mc#include double fun(n)double sum,s0,s1,s2,s; int k;sum = 1.0;if(n int fun(int m。

5、)int i,k;for (i=m+1;i+) for (k=2;k=i)return(i);void main()int n;printf(nPlease enter n:);scanf(%d,&n);printf(%dn,fun(n);10、判断两个整数m和n是否互质(即是否有公共的因子) (m 工1,nz 1)。方法是:用2到t (t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,贝Um和n不互质;否则它们互质。例如,若输入187和85,贝U应输出No (表示它们不互质, 它们有公因子17)。若输入89和187,则应输出Yes (表示它 们互质)。#inclu。

6、de int lsThat( int m, int n )int k, t, mk=1;t=m;if (mn) t=n;for(k=2;kv=t;k+)if( m%k=0 & n%k=0 ) mk=0; break; return mk;void main()int m, n;printf( nPlease enter 2 numbers:n);scanf(%d %d, &m, & n);if( lsThat( m, n )printf( Yesn);elseprintf( Non);11、将十进制正整数n转换成k进制数(2void Trans( int m, int k )int aa20,。

7、 i , j;for( i = 0; m; i+ )aai = m%k;m /= k;for( j=i-1; j=0; j-)printf(%d, aaj);void main()int b, n;printf( nPlease enter a number and a base:n ); scanf(%d %d, &n, &b );Trans( n, b );12、统计从键盘输入的50个实数中有多少个正数、多少个负数、多少个零#include void fun(int *zs,int *fs,int *l,float aa)int i;for(i=0;i0)(*zs)+;if(aaivoid。

8、 fun()int x,y;for(x=1;xv=44;x+)for(y=1;yv=44;y+)if(x*x+y*y=1989)printf( “x=%d ,y=%d n ”,x,y);void main()printf( “方程 xA2+yA2=1989 的整数解为:n ”); fun();14、从键盘输入10个整数,求出其中的最大值。#include int fun(int aa)int m,i;m=aa0;for(i=1;im)m=aai;return m; void main()int num10,i;printf(“请从键盘输入10个整数:n ”);for(i=0;i void fu。

9、n(int n)int i,j;for(i=1;ifloat fun ( int n )float A=1; int i;for (i=1; i 3;例如,若输入整数9,则应输出:47(不用做)* 18、使用函数的方式,按以下递归公式求函数值厂 10(n=1)fun(n)=L fun(n-1)+2 (n1)例如,当给n输入5时,函数值为18;当给n输入3时,函 数值为14。(不用做)19、计算并输出当0vxv0.97时下列多项式的值,直到|S(n)-S(n-1)|3!n例如,在主函 数中从键盘给x输入0.21后,输 出为:s=1.100000。#include #include double 。

10、fun(double x)int n=1;/*循环计数*/double sn=1;/* 累计数 */double xn=1,xn仁0; /*x 的 n 值,以及 x 的 n-1 值;*/ while(fabs(xn-xn1)=0.000001)/*绝对值是否合格 */xn=xn*x*(0.5-n+1)/n;/* 表达式分解以后xn=(xn-1)*x*(0.5-n+1)/n*/n+=1;sn+=xn;/*sn 累加上 xn*/return sn;double x,s;printf(l nput x: ); scanf(%lf, &x);s=fu n( x);printf(s=%fn,s);20、。

11、计算并输出s。xA2 xA3xAns = 1 + x + + + + 2!3!n!n,x从键盘输入,例如,当n=10, x=0.3时,函数值为1.349859。#include double fun(double x,int n)int i;double f=1.0,h=x;double s=1;s=s+h/f;for (i=2;i int fun( int high )int sum = 0, n=0, j, yes;while (high = 2) & (n double fun(int n)int i;double sum=0.0;if(n0&nv=100)for (i=1;i#defi。

12、ne N 20fun ( int *a, int n, int *odd, int *even )int i,sum_odd=0,sum_even=0;for(i=0;i#include float fun(int a,int b,int c)float p;p=(a+b+c)/2;return sqrt(p*(p-a)*(p-b)*(p-c);int a,b,c;printf(“请输入三角形三条边:n ”);scanf( “ d%d%d, &a,&b, &d);if(a+bc & b+ca & a+cb)printf(“三角形面积为 2f ” ,fun(a,b,c);elseprintf(“。

13、无法构成三角形”);25、编写程序,求E=1+1/1 ! +1/2 ! +1/n!,要求最后一项的值小于10-4#include double fun(int n)double m=1.0;int i=1;double p=1.0;dom=m+1.0/p;i+;p=p*i; while(1.0/p=1E-4);return m; void main()int n; double s;printf(l 叩 ut n: ); scanf(%d,&n);s=fu n(n);printf(s=%fn,s);26、计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的9个。

14、元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。#include #include double fun(double x9)int i ;double avg=0.0,sum=0.0;for (i=0;i#define M 100void fun ( int m, int *a , int *n )int i,count=0;for(i=1;i#include int fun(int score, int m, int below)int total=0;int average=0;int *p_below=b。

15、elow;int i=0;int j=0;for(i=0;i=0)&(ch#define N 20fun(int *a,int n,int x) int p=0,i;an=x;while(x!=ap)p=p+1;if(p=n)return -1;else for(i=p;i#define M 20void InSort( int *n, int vv, int k )int i=0 , j;while ( k vvi & i i; j- ) vvj = vvj-1;vvi = k;+*n;void main()int aaM, i, k, m;system(cls);printf( nPlea。

16、se enter a number:n);scanf( %d, &m );printf( nPlease enter %d numbers:n, m ); for( i = 0; i void fun ( int *pt )int i,j,flag;*pt=2;*pt+;for(i=3;ivoid fun(int a,int b)int i;for(i=1;imm,intvoid fun(int (*s)10,int *b, int *n, intnn)int x,y;for(x=0;x#define M 4#define N 5int fun ( int aMN)int i, j, sum 。

17、= 0;for (i = 0; i #define M 3#define N 4void fun ( int ttMN, int ppN)int i, j, min;for(i = 0; i ttji)min = ttji;ppi = mi n;void main() int t M N =22,45, 56,30,19,33, 45,38,20,22, 66,40;int p N , i, j, k;system(cls);printf ( The original data is : n);for( i=0; ivoid fun(int a33,int b33)int i,j;for(i=。

18、0;i#define N 80void fun(char *a,int k,int n)int i;i=k;while (ai-1!=0) ai=ai+n;i=i+1;void main() char sN=Hellollo World!;int k,n;printf(nThe original string:%sn,s);printf(Enterindex k:),scanf(%d,&k);printf(Enternumber to delete n:);scanf(%d,&n);fun(s,k,n);printf(nThe string after deleted: %sn,s);NONO。

19、();39、编写程序,从键盘输入字符串tt,将其中每个单词的首字符改为对应的大写字母,首字符后的字母都改为对应的小 写字母。例如,若输入字符串:ab cD bOYxy!,则输出字符串为: Ab Cd Boyxy!。#include #include char* EXUL( char tt)int isfirst = 1;int i, length;length = strlen( tt );for(i = 0; i = a & tti = A & tti void fun(char *tt, int pp)char *p_tt=tt;int i=0;while(i#include #defin。

20、e N 81fun ( char *s )char bN;sprintf(b, %s%c, s + 1, *s);strcpy(s, b);void main()char a N ;printf ( Enter a string : ”); gets ( a );printf ( The original string is : ); puts( a );fun ( a );printf ( The string after modified :);puts ( a );42、编写程序,把字符串中的内容逆置。例如:字符串中原有的内容为:abcdefg,输出:gfedcba #include #。

21、include #define N 81void fun ( char *s )int i ,length;char tmp;length = strlen( s );for (i = 0;i void fun(char *s)int i,j;for(i=0,j=0; si!=0; i+)if(si=O & siv=9)sj+=si;sj=0;void main()char item80;printf(nEnter a string : ”);gets(item);printf(nnThe string is : %sn,item);fun(item);printf(nnThestring of changing is%sn,item。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值