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

上传人:第*** 文档编号:31071439 上传时间:2018-02-04 格式:DOC 页数:47 大小:128KB
返回 下载 相关 举报
c语言程序设计练习题(含程序及参考答案)_第1页
第1页 / 共47页
c语言程序设计练习题(含程序及参考答案)_第2页
第2页 / 共47页
c语言程序设计练习题(含程序及参考答案)_第3页
第3页 / 共47页
c语言程序设计练习题(含程序及参考答案)_第4页
第4页 / 共47页
c语言程序设计练习题(含程序及参考答案)_第5页
第5页 / 共47页
点击查看更多>>
资源描述

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

1、2010-2011 C语言程序试题及答案第 1 页 共 47 页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;prin

2、tf(nInput a,b,c: ); scanf(%d%d%d,printf(na=%d, b=%d, c=%dn,a,b,c);shape =fun(a,b,c);printf(nnThe shape : %dn,shape);2、编写一个程序,将两个变量的值交换, 例如变量a中的2010-2011 C语言程序试题及答案第 2 页 共 47 页值原为 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,

3、a,b);fun(printf(%d %dn,a,b);3、从键盘输入3个数,将最大值放在变量a中,最小值放在变量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)2010-2011 C语言程序试题及答案第 5 页 共 47 页 int i;float s=1.0,h=1;for (i=2;i

4、void fun(long s,long *t) int d;2010-2011 C语言程序试题及答案第 6 页 共 47 页long s1=1;*t=0;while (s0) d=s%10;if(d%2!=0)*t=d*s1+*t;s1=s1*10;s/=10;main() long s,t;printf(nPlease enter s:);scanf(%ld,fun(s,printf(The result is:%ldn,t);7、计算并输出k以内最大的10个能被13或17整除的自然数之和。k的值从键盘传入,若k的值为500,则输出4622。#include 2010-2011 C语言程序

5、试题及答案第 7 页 共 47 页int fun(int k)int m=0,mc=0,j;while(k=1)&(mc#include double fun(n) 2010-2011 C语言程序试题及答案第 8 页 共 47 页double sum,s0,s1,s2,s; int k;sum = 1.0;if(n int fun(int m) 2010-2011 C语言程序试题及答案第 9 页 共 47 页int i,k;for (i=m+1;i+) for (k=2;k=i)return(i);void main()int n;printf(nPlease enter n:);scanf(

6、%d,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 2010-2011 C语言程序试题及答案第 10 页 共 47 页int IsThat( int m, int n )int k, t, mk=1;t=m;if (mn) t=n;for(k=2;kvoid Tra

7、ns( 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, Trans( n, b );12、统计从键盘输入的 50个实数中有多少个正数、多少个负数、多少个零2010-2011 C语言程序试题及答案第 12 页 共 47 页#include void fun(int *zs,int *fs,

8、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; i 3;例如,若输入整数 9,则应输出:47。(不用做)* 18、使用函数

9、的方式,按以下递归公式求函数值10 (n=1)fun(n)=fun(n-1)+2 (n1)例如,当给n输入5时,函数值为18;当给n输入3时,函数值为14。2010-2011 C语言程序试题及答案第 17 页 共 47 页(不用做)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; /*表达式分

10、解以后 xn=(xn-1)*x*(0.5-n+1)/n*/n+=1;sn+=xn; /*sn累加上 xn*/return sn;2010-2011 C语言程序试题及答案第 18 页 共 47 页void main() double x,s;printf(Input x: ); scanf(%lf,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;

11、double f=1.0,h=x;double s=1;s=s+h/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+

12、c)/2;2010-2011 C语言程序试题及答案第 23 页 共 47 页return sqrt(p*(p-a)*(p-b)*(p-c);void main()int a,b,c;printf(“请输入三角形三条边:n”);scanf(“%d%d%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;doub

13、le p=1.0;dom=m+1.0/p;i+;p=p*i;2010-2011 C语言程序试题及答案第 24 页 共 47 页 while(1.0/p=1E-4);return m;void main() int n; double s;printf(Input n: ); scanf(%d,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 #incl

14、ude 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;2010-2011 C语言程序试题及答案第 26 页 共 47 页for(i=1;i#include 2010-2011 C语言程序试题及答案第 27 页 共 47 页int fun(int score, int m, int below)int total=0;int average=0;int *p_below=below;int i=0;

15、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;2010-2011 C语言程序试题及答案第 30 页 共 47 页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 if ( ii; j- ) vvj = vvj-1;vvi = k;+*n;void main()int aaM, i, k, m;system(cls);printf( nPlease enter a number:n );scanf( %d, printf(

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号