1、C语言期末考试操作题库2014年榆林学院C语言考试操作题库【程序设计】-功能:求一个四位数的各位数字的立方和。-*/#include void wwjt(); int fun(int n) /*Program*/ int d,s=0;while(n0)d=n%10;s+=d*d*d;n/=10;return s; /* End */*- 【程序改错】-功能:输入10个数,要求输出这10个数的平均值-*/#include double average(double array10) int i; double aver,sum=array0; /*FOUND*/ for(i=1;i10;i+)
2、sum=sum+arrayi; aver=sum/10.0; return(aver);main( ) /*FOUND*/ float score10,aver ; int i; printf(input 10 scores:n); for(i=0;i10;i+) /*FOUND*/ scanf(%f, score+i); printf(n); /*FOUND*/ aver=average(score); printf(average score is %5.2f,aver);/*-【程序填空】-功能:企业发放的奖金根据利润提成。利润(i)低于或等于10万元 时,奖金可提10%;利润高于10万
3、元,低于20万元时,低于 10万元的部分按10%提成,高于10万元的部分,可可提成7.5%-*/#include main() int i; double bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf(%ld,&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i=100000) bonus=i*0.1; /*SPACE*/ els
4、e if(i=200000) bonus=bonus1+(i-100000)*0.075; /*SPACE*/ else if(i=600000) bonus=bonus2+(i-200000)*0.05; /*SPACE*/ else if(i=1000000) bonus=bonus4+(i-400000)*0.03; else if(i=1000000) bonus=bonus6+(i-600000)*0.015; else bonus=bonus10+(i-1000000)*0.01; /*SPACE*/ printf(bonus=%f,bonus);*-【程序设计】-功能:能计算从1
5、开始到n的自然数的和,n由键盘输入, 并在main()函数中输出。-*/#include void wwjt(); int fun(int n) /*Program*/ int sum,i; sum=0; if(i=1;i=n;i+) sum=sum+i; return sum; /* End */ /*- 【程序改错】-功能:给定n个实数,输出平均值,并统计在平均值以下(含平 均值)的实数个数。例如:n=6时,输入23.5, 45.67, 12.1, 6.4,58.9, 98.4所得 平均值为40.828335,在平均值以下的实数个数应为3。-*/#include int fun(doubl
6、e x,int n) int j,c=0; /*FOUND*/ float xa=0; /*FOUND*/ for(j=0;jn;j+) xa+=xj; xa=xa/n; printf(ave=%fn,xa); /*FOUND*/ for(j=0;jn;j+) if(xj=xa) c+; /*FOUND*/ return c;main() double x=23.5,45.67,12.1,6.4,58.9,98.4; printf(%dn,fun(x,6);/*-给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指
7、字符串数组中共有N个字符串,且串长小于M。 请在程序中填入正确的内容并使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: - */#include #include #define N 5 #define M 10 /*SPACE*/void fun(char (*ss) M, int k) int i=0 ; /*SPACE*/while(i N) /*SPACE*/ssik= 0; i+; main() char xNM=Create,Modify,Sort,skip,Delete; int i; printf(nThe original stringnn); f
8、or(i=0;iN;i+)puts(xi); printf(n); fun(x,4); printf(nThe string after deleted :nn); for(i=0; iN; i+) puts(xi); printf(n); *-【程序设计】-功能:对任意输入的 x,用下式计算并输出 y 的值。 5 x10-*/#includevoid wwjt();int fun(int n) /*Program*/int m;if(m=10) if(n10)m=-5;else m=0;else m=5;return m;/* End */ /*- 【程序改错】-功能:将s所指字符串中的字母
9、转换为按字母序列的后续字母(但 Z转换为A, z转换为a),其它字符不变。-*/#include #include #include void fun (char *s) /*FOUND*/ while(*s!=0) if(*s=A & *s = a & *s=z) if(*s=Z) *s=A; else if(*s=z) *s=a; else /*FOUND*/ *s += 1; /*FOUND*/ s+; main() char s80; printf(n Enter a string with length 80. :nn ); gets(s); printf(n The string
10、: nn ); puts(s); fun ( s ); printf (nn The Cords :nn ); puts(s);/*-给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去 除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回 所指变量。 例如,输入一个数:27638496,新的数:为739。 请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序: -*/#include void fun(unsigned long *n) unsigned long x=0, i; i
11、nt t; i=1; while(*n) /*SPACE*/ t=*n % 10; /*SPACE*/if(t%2!= 0) x=x+t*i; i=i*10; *n =*n /10; /*SPACE*/*n=x; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); fun(&n); printf(nThe result is: %ldn,n); /*- 给定程序中,函/*-【程序设计】-功能:根据整型形参m,计算如下公式的值: y=1/5+1/61/
12、71/81/9+1/10.1/(m+5)例如:若m=9,则应输出:1.168229-*/#include void wwjt(); double fun(int m) /*Program*/ double y=0;int i;for(i=0;im;i+)y+=1.0/(i+5);return y; /* End */【程序改错】-功能:实现两个字符串的连接。例如:输入dfdfqe和12345时,则输出dfdfqe12345.-*/#include main() char s180,s280; void scat(char s1,char s2); gets(s1); gets(s2); sca
13、t(s1,s2); puts(s1);void scat (char s1,char s2) int i=0,j=0; /*FOUND*/ while(s1i !=0) i+; /*FOUND*/ while(s2j !=0) /*FOUND*/ S1i=s2j; i+; j+; /*FOUND*/ S1id=0;数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,将其余字符串右边用字符*补齐,使其与最长的字符串等长。ss所指字符串数组中共有M个字符串,且串长N。 请在程序中填入正确的内容并使程序得出正确的结果。 不得增行或删行,也不得更改程序的结构! 给定源程序:- */ #in
14、clude #include #define M 5 #define N 20 void fun(char (*ss)N) int i, j, n, len=0; for(i=0; in)n=len; for(i=0; iM; i+) /*SPACE*/ n=strlen(ssi); for(j=0; jlen-n; j+)/*SPACE*/ ssi n+j=*; /*SPACE*/ ssin+j+ 1=0; main() char ssMN=shanghai,guangzhou,beijing,tianjing,cchongqing; int i; printf(The original s
15、trings are :n); for(i=0; iM; i+) printf(%sn,ssi); printf(n); fun(ss); printf(The result is :n); for(i=0; iM; i+) printf(%sn,ssi); /*- 【程序改错】-功能:编写函数fun生成一个对角线元素为5,上三角元素为0, 下三角元素为1的3*3的二维数组。-*/#include fun(int arr3) /*FOUND*/ int i,j; /*FOUND*/ for(i=0;i3;i+) for(j=0;ji) arrij=0; else arrij=1;main()
16、int a33,i,j; fun(a); for(i=0;i3;i+) for(j=0;j3;j+) printf(%d ,aij); printf(n); #include /*-【程序设计】-题目:用while语句求1100的累计和。-*/void wwjt(); int fun(int n) /*Program*/int i=1, sum=0;while(i=n) sum=sum+i;i+;return sum; /* End */ /*- 【程序改错】-功能:编写函数求2!+4!+6!+8!+10!+12!+14!。-*/#include long sum(int n) /*FOUND
17、*/ int i,j; long t,s=0; /*FOUND*/ for(i=2;i=n;i=i+2) t=1; for(j=1;j=i;j+) t=t*j; s=s+t; /*FOUND*/ return(s);main() printf(this sum=%ldn,sum(14);【程序填空】-功能:计算圆周率的近似值。-*/#include #include main() int s,n; /*SPACE*/ double pi,t; t=1;pi=0;n=1;s=1; /*SPACE*/ while(fabs(t)=2e-6) pi+=t;n+=2;s=-s;t=s/n; /*SPACE*/ pi*=4; printf(pi=%.6fn,pi);#include /*-【程序设计】-