c语言上机程序设计题库及答案

上传人:第*** 文档编号:56882585 上传时间:2018-10-16 格式:DOCX 页数:83 大小:48.08KB
返回 下载 相关 举报
c语言上机程序设计题库及答案_第1页
第1页 / 共83页
c语言上机程序设计题库及答案_第2页
第2页 / 共83页
c语言上机程序设计题库及答案_第3页
第3页 / 共83页
c语言上机程序设计题库及答案_第4页
第4页 / 共83页
c语言上机程序设计题库及答案_第5页
第5页 / 共83页
点击查看更多>>
资源描述

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

1、C 语言上机语言上机程序设计题库程序设计题库【程序设计】功能:根据整型形参 m,计算如下公式的值:y=sin(m)*10。【参考代码】double y=0;y=sin(m)*10;return(y);功能:若 x、y 为奇数,求 x 到 y 之间的奇数和;若 x、y 为偶数,则求 x 到 y 之间的偶数和。【参考代码】int i,s=0;for(i=x;i0)d=n%10;s+=d*d*d;n/=10;return s;功能:请编一个函数 void fun(int ttMN,int ppN),tt 指向一个 M 行 N 列的二维数组,求出二维数组每列中最小元素,并依次放入 pp 所指一维数组中

2、。二维数组中的数已在主函数中赋予。【参考代码】int i,j;for(j=0;jave)k+;return k;题目:分别统计字符串中字母、数字、空格和其他字符出现的次数(字符长度小于 80) 。【参考代码】int i;for(i=0;ci!=0;i+) if(ci=Areturn(k);功能:求出二维数组周边元素之和,作为函数值返回。二维数组的值在主函数中赋予。【参考代码】int s=0;int i,j;for(i=0;imax) max=ai;else if(aim)m=arri;功能:判断整数 x 是否是同构数。若是同构数,函数返回 1;否则返回 0。x 的值由主函数从键盘读入,要求不大

3、于 100。【参考代码】int k;k=x*x;if(k%10=x)|(k%100=x)return 1;elsereturn 0;功能:编写函数判断一个整数 m 的各位数字之和能否被 7 整除,可以被 7 整除则返回 1,否则返回 0。调用该函数找出100200 之间满足条件的所有数。【参考代码】int k,s=0;dos=s+m%10;m=m/10;while(m!=0);if(s%7=0)k=1;else k=0;return(k);功能:编写函数 fun 对主程序中用户输入的具有 10个数据的数组 a 按由大到小排序,并在主程序中输出排序结果。【参考代码】int k,j,t;for (

4、k=0;kaij)s=aij;return(s);功能:编写函数 fun 计算下列分段函数的值:【参考代码】float y;if (x=0 elsereturn(int)(h*100)/100.0;功能:找出一批正整数中的最大的偶数。【参考代码】int i,amax=-1;for(i=0;iamax) amax=ai;return amax;功能:编写函数 fun 求 s=1k+2k +3k + +Nk 的值,(1 的 K 次方到 N 的 K 次方的累加和) 。【参考代码】long power,sum=0;int i,j;for(i=1;i0)d=n%10;s*=d;n/=10;return

5、s;功能:对任意输入的 x,用下式计算并输出 y 的值。【参考代码】int m;if(n10) z=exp(x);else if(x-3) z=log(x+3);else z=sin(x)/(cos(x)+4);return(z);功能:求 x 到 y 之间的奇数和(包括 x 和 y)。【参考代码】 int i,s=0;for(i=x;i0;i-) s2*i=si;s2*i-1= ;len=strlen(s);slen=0;功能:把 20 个随机数存入一个数组,然后输出该数组中的最小值。其中确定最小值的下标的操作在 fun 函数中实现,请给出该函数的定义。【参考代码】int i,min=0;

6、for(i=1; i listi) min=i; return min;功能:调用函数 fun 判断一个三位数是否是“水仙花数“。在 main 函数中从键盘输入一个三位数,并输出判断结果。请编写 fun 函数。【参考代码】int bw,sw,gw;bw=n/100;sw=(n-bw*100)/10;gw=n%10;if(n=bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;else return 0;功能:找出一个大于给定整数且紧随这个整数的素数,并作为函数值返回。【参考代码】int i,k;for(i=n+1;i+)for(k=2;k=0.000001)e=e+jc;

7、j=1;for(k=1;k 0) s = s/100; t = s%10*sl + t;sl = sl * 10;功能:产生 20 个30,120上的随机整数放入二维数组 a54中,求每行元素的和。【参考代码】int i,j;for(i=0;i4) z=sqrt(x-4);else if(x-4) z=pow(x,8);else if(x-10) z=4/(x*(x+1);else z=fabs(x)+20;return(z);输入 2 个学生 3 门课的成绩,计算学生成绩平均分,课程平均分和最高分. 例如:输入 2 名学生 3 门课的成绩分别为:92,87,6856,92,84 则学生 1

8、平均分:82.33学生 2 平均分:77.33课程 1 平均分:74.00课程 2 平均分:89.50课程 3 平均分:76.00最高分为:92【参考代码】int i,j;float sum;/*计算第 i 个学生平均分*/for(i=0;i=a|*(ptr+i)=A)*(ptr+j)=*(ptr+i);j+;*(ptr+j)=0;return(j);判断 m 是否为素数。【参考代码】int i,k=1;if(m0)return(k*fun(k-1);else if(k=0)return 1L;对长度为 8 个字符的字符串,将 8 个字符按降序排列。例如:原来的字符串为CEAedcab,排序后

9、输出为 edcbaECA。【参考代码】int i,j;char t;for(i=0;i1e-4)4.printf(“pi=%fn“,s*4);功能:给定 n 个实数,输出平均值,并统计在平均值以下(含平均值)的实数个数。【参考答案】float xa=0;for(j=0;j=0 min=maxmin(array,N);功能:统计出若干个学生的平均成绩,最低分以及得最低分的人数。【参考答案】sum+=arrayi;ave=sum/n;if(arrayi=Min) J+;题目:以下函数功能,完成字符串的复制。【参考答案】p1=str;char a20,*p=a;功能:用冒泡法对 10 个整数从小到大

10、排序。【参考答案】void sort(int *x,int n)for(j=0;jai)题目:从键盘输入一个整数给 m,求表达式 y=1-1/2*2-1/3*3-1/4*4-.-1/m*m 为止。【参考答案】double fun(int m)int i=2;y-=1.0/(i*i);题目:输出 fibonacci 数列前 20 项中所有数组元素项中奇数之和。已知前两项的值分别为 1,1。【参考答案】sum=fun(a);for(i=2;i1e-4)4. printf(“pi=%fn“,s*4);功能:用指针作函数参数,编程序求一维数组中的最大和最小的元素值.【参考答案】void maxmin(

11、int arr ,int *pt1,int *pt2,int n)*pt1=*pt2=arr0;if(arri*pt1) *pt1=arri;p1=p2=功能:编写函数 fun 求 1000 以内所有 8 的倍数之和。【参考答案】int s=0,i;for(i=1;i=97功能:将字符串 s 中最后一次出现的子字符串 t1 替换成字符串 t2,所形成的新串放在 w 所指的数组中,在此处,要求 t1 和 t2所指字符串的长度相同。【参考答案】while (*w)if (*r=*p)if (*r=0) a=w;*a=*r;题目:输入一个字符串, 输出其中的小写字符。【参考答案】putchar(pi

12、);n=strlen(str);功能:在一个已按升序排列的数组中插入一个数,插入后,数组元素仍按升序排列。【参考答案】scanf(“%d“,for(i=N-2;i=0;i-)ai+1=ai;break;题目:定义一个 44 的二维数组 b,数组元素的值由键盘输入,输出其中的最大值及所在的行、列下标。【参考答案】int fun(int b44);scanf(“%d“,int i,j,max=b00;if(maxeps)t=t*n/(2*n+1);return 2*s;题目:下列给定程序中函数 fun 的功能是 : 将字符串中的内容按逆序输出 , 但不改变宇符串中的内容。【参考答案】void fu

13、n (char *a)while(i=0 )printf(“%c“,ai);功能:一球从 100 米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第 10 次落地时,共经过多少米?第 10 次反弹多高?【参考答案】float sn=100.0,hn=sn/2;for(n=2;nname,(*p).age);功能:从 m 个学生的成绩中统计出高于和等于平均分的学生人数,此人数由函数值返回。平均分通过形参传回,输入学生成绩时,用-1 结束输入,由程序自动统计学生人数。【参考答案】if ( s i = av ) count+;*aver = av;return count;功能:以下程序

14、把两个数按由大到小的顺序输出来【参考答案】swap( int *p1,int *p2)scanf(“%d%d“,printf(“max=%d,min=%dn“,*p,*q);功能:实现两个字符串的连接【参考答案】while(s1i!=0)i+;while(s2j!=0)s1i=s2j;s1i=0;功能:编写程序, 求矩阵(3 行 3 列)与 5 的乘积【参考答案】int i,j;for(i=0; i max)return max;for(i=0;i1e-4)4、printf(“pi=%fn“,s*4);求 1 到 10 的阶乘的和。for(i=1;iai)用冒泡法对 10 个整数从小到大排序。

15、void sort(int *x,int n)for(j=0;jxj+1) sort(a,n);输入一个字符串,将其首尾互换。若输入 abcdef 输出 fedcba。scanf(“%s“,s1);j=k-1;for(i=0;i=0;i-)ai+1=ai;break;将一个字符串中的大写字母转换成小写字母。例如:输入 aSdFG 输出为 asdfgchar fun(char *c)return *c;char s81,*p=s;putchar(*p)下列给定程序中,将字符串 tt 中的小写字符改成大写字母,其他字符不变。例如:输入“Fac ed“ 输出 “FAC ED“。if(tti=a)return 2*s;八进制转换为十进制。char *p,s6;n=0;while(*(p)!=0)【程序填空】根据下面程序的输出结果, 完善该程序。 (用大写字母 U 代表空格)程序输出结果:s1=C,ASCIIUisU67x=65535,y=12345671:“s1=%c,ASCIIUisU%d“2:“x=%ld,y=%ld“下面程序的输出结果为: a=15,b=10,请完善程序.1:“a=%d,b=%d“任意输入 10 个数,输出其中的最大数;将最大数与第 1 位置上的数互换后,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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