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

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

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(nInput a,b,c: ); scanf(%d%d%d,&a,&b。

2、,&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、1=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=0,mc=0,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是否互质(即是否有公共的因子)(m1,n1)。方法是: 用2到t(t取m和n中较小的那个数)之间的数分别去除m和n,若m和n能同时被某个数除尽,则m和n不互质;否则它们互质。例如,若输入187和85,则应输出No(表示它们不互质,它们有公因子17)。若输入89和187,则应输出Yes(表示它们互质)。#include int IsTha。

6、t( int m, int n )int k, t, mk=1;t=m;if (mn) t=n;for(k=2;kvoid Trans( int m, int k )int aa20, 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个实数中有多少个正数、多少个负。

7、数、多少个零#include void fun(int *zs,int *fs,int *l,float aa)int i;for(i=0;i0)(*zs)+;if(aaivoid fun()int x,y;for(x=1;xint 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;ivoid fun(int n)int i,j;for(i=1;ifloat fun ( int n )float A=1; int i;for (i=1。

8、; i 3;例如,若输入整数 9,则应输出:47。(不用做)* 18、使用函数的方式,按以下递归公式求函数值10 (n=1)fun(n)=fun(n-1)+2 (n1)例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。(不用做)19、计算并输出当0#include double fun(double x)int n=1;/* 循环计数*/double sn=1;/* 累计数*/double xn=1,xn1=0;/*x的n值,以及x的n-1值;*/while(fabs(xn-xn1)=0.000001)/*绝对值是否合格*/xn=xn*x*(0.5-n+1)/n; /*表达式分。

9、解以后xn=(xn-1)*x*(0.5-n+1)/n*/n+=1;sn+=xn; /*sn累加上xn*/return sn;void main() double x,s;printf(Input x: ); scanf(%lf,&x);s=fun(x);printf(s=%fn,s);20、计算并输出s。x2 x3 xns = 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。

10、/f;for (i=2;iint 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&n#define 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。

11、-c);void main()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(“无法构成三角形”);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;。

12、void main() int n; double s;printf(Input n: ); scanf(%d,&n);s=fun(n);printf(s=%fn,s);26、计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。例如,给定数组中的9个元素依次为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 (。

13、 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=below;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 。

14、*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( nPlease 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)。

15、int i;for(i=1;ivoid fun(int (*s)10, int *b, int *n, int mm, int nn)int x,y;for(x=0;x#define M 4#define N 5int fun ( int aMN )int i, j, sum = 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 = min;void main( ) int t M N =22,45, 56,30,1。

16、9,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=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。

17、,s);printf(Enter index k: ),scanf(%d,&k);printf(Enter number to delete n: );scanf(%d,&n);fun(s,k,n);printf(nThe string after deleted: %sn,s);NONO();39、编写程序,从键盘输入字符串tt,将其中每个单词的首字符改为对应的大写字母,首字符后的字母都改为对应的小写字母。例如,若输入字符串:ab cD bOYxy!,则输出字符串为:Ab Cd Boyxy!。#include #include char* EXUL( char tt )int isfirst。

18、 = 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(i26)ppi=0;i+;for(;*p_tt!=NULL;p_tt+)switch(*p_tt)case a:pp0+;break;case b:pp1+;break;case c:pp2+;break;case d:pp3+;break;case e:pp4+;break;case f:pp5+;break;case g:pp6+;break;case h:pp7+;break;case i:pp8+;break;case j:pp9+;break;case k:pp10+;break;case l:pp11+;break;case m:pp12+;break;case n:pp13+;break;case o:pp14+;break。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值