(1)x (2)n (3)t
【参考答案】计算n的5次方的值(规定n的值大于2且小于8) (1)d=1; (2)s=0; (3)d=d/10;
【参考答案】计算并输出给定数组(长度为9)中每相邻两个元素的平均值
的平方根之和。
double fun(double x[9]) { double sum=0.0; int i,j=1; for(i=0;i<9;i++) if(j<=8) { sum+=sqrt((x[i]+x[i+1])/2.0);j++; /*相邻两个元素之
平均值的平方根之和*/ } return sum; }
二级 C_第23套上机题
【参考答案】若形参ch中是小写英文字母,则转换成对应的大写英文字母
;若ch中是大写英文字母,则转换成对应的小写英文字母; (1)&& (2)'A' (3)ch
【参考答案】例如,输入1、2、3、4,程序运行后输出以下方阵: 4 1 2 3 3 4 1 2 2 3 4 1 1 2 3 4
(1)void fun(int *a) (2)a[j]=a[j-1];
【参考答案】计算并输出给定整数n的所有因子(不包括1与自身)之和 int fun(int n) {
int s=0,i;
for(i=2;i<=n-1;i++) /*将n减1累加*/ if(n%i==0) s+=i; return s; }
二级 C_第24套上机题
【参考答案】从三个形参a、b、c中找出中间的数,并作为函数值返回。
(1) a (2) a (3) b
【参考答案】将大写字母转换为对应小写字母之后的第5个字母 (1)c=c+32; (2)c=c+5;
【参考答案】计算并输出
S=1+(1+20.5)+(1+20.5+30.5)+…+(1+20.5+30.5+…+n0.5) 的值。
double fun(int n) {
int i;
double s=0.0,s1=0.0; for(i=1;i<=n;i++)
{s1=s1+pow(i,0.5); /*求每一项*/ s=s+s1; /*按公式求出s*/ }
return s; }
二级 C_第25套上机题
【参考答案】在形参s所指字符串中寻找与参数c相同的字符,并在其后插
入一个与之相同的字符, (1) '\\0' (2) 0 (3) c 【参考答案】:计算数组元素中所有值为正数的平均值(不包括0)。 (1)double sum=0.0; (2)sum/=c;
【参考答案】若n的值为11时,函数的值为1.833333 float fun(int n) {
int i,s1=0; float s=0.0;
for(i=1;i<=n;i++) {s1=s1+i;
/*求每一项的分母*/
s=s+1.0/s1; /*求多项式的值*/ }
return s; }
二级 C_第26套上机题
【参考答案】从形参ss所指字符串数组中,删除所有串长超过k的字符串
,函数返回剩余字符串的个数 (1) N (2) k (3) ss[i]
【参考答案】逐个比较p、q所指两个字符串对应位置上的字符,并把
ASCII值大或相等的字符依次存放到c所指的数组中 (1) int k=0; (2)while (*p||*q)
【参考答案】除了字符串前导的*号之外,将串中其它*号全部删除。不得
使用C语言提供的字符串函数。 void fun( char *a ) {
int i=0; char *p=a;
while(*p&&*p=='*') { a[i]=*p; i++; p++; }
while(*p) { if(*p!='*') {a[i]=*p;i++;} p++; }
a[i]='\\0'; }
二级 C_第27套上机题
【参考答案】各位上为偶数的数取出,并按原来从高位到低位相反的顺序
组成一个新数,作为函数值返回。 (1)0 (2) 10*x (3)n/10
【参考答案】将长整型数中各位上为奇数的数依次取出,构成一个新数放
在t中。高位仍在高位,低位仍在低位。 (1)*t=0;
(2)if(d%2!=0)或if(d%2==1)
【参考答案】实现两个字符串的连接(不要使用库函数strcat),即把p2所
指的字符串连接到p1所指的字符串的后面。 void fun(char p1[], char p2[]) {
int i,j;
for(i=0;p1[i]!='\\0';i++) ; for(j=0;p2[j]!='\\0';j++) p1[i++]=p2[j]; p1[i]='\\0';
}
二级 C_第28套上机题
【参考答案】有N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均
向右移动m个位置,左位置为0。 (1)i++ (2)m (3)m
【参考答案】计算并输出high以内最大的10个素数的和。high的值由主函
数传给fun函数。
(1)while((high>=2) && (n<10)) (2)yes=0; break;
参考答案】利用下面的简单迭代方法求方程cos(x)-x=0的一个实根。
double fun() {
double x0,x1; x1=0.0; do {
x0=x1; x1=cos(x0);
}while(fabs(x0-x1)>=1e-6); return x1; }
二级 C_第29套上机题
【参考答案】找出形参s所指字符串中出现频率最高的字母(不区分大小写
),并统计出其出现的次数。 (1)*s (2)1 (3)k[n] 【参考答案】求S的值。
S=(22/(1×3))×(42/(3×5))×(62/(5×7))×…×(2k)2/((2k-1)×
(2k+1))
(1)double fun(int k) (2)return s ;
【参考答案】计算并输出下列多项式的值。 S=1/(1×2)+1/(2×3)+…+1/(n×(n+1)) double fun(int n) {
int i;
double s=0.0; for(i=1;i<=n;i++)
s=s+1.0/(i*(i+1));/*求级数的和*/
return s; }
二级 C_第30套上机题
【参考答案】把形参s所指字符串中最右边的n个字符复制到形参t所指字
符数组中,形成一个新串。 (1)t,s (2)s[i] (3)0或'\\0'
【参考答案】找出一个大于给定整数m且紧随m的素数,并作为函数值返回 。
(1)if(i%k==0) (2)if(k==i)
【参考答案】求出能整除x且不是偶数的各整数,并按从小到大的顺序放
在pp所指的数组中
void fun (int x, int pp[], int *n) {
int i,j=0;
for(i=1;i<=x;i=i+2) /*i的初始值为1,步长为2,确保i为奇数*/ if(x%i==0) /*将能整除x的数存入数组pp中*/ pp[j++]=i;
*n=j; /*传回满足条件的数的个数*/ }
二级 C_第31套上机题
【参考答案】将形参s所指字符串中所有ASCII码值小于97的字符存入形参
t所指字符数组中,形成一个新串 (1)*s (2)s++ (3)n 【参考答案】:给定n个实数,输出平均值,并统计平均值以上(含平均值
)的实数个数。
(1) {int j, c=0;float xa=0.0; (2)if (x[j] >= xa)
【参考答案】根据以下公式求P的值,结果由函数值带回。m与n为两个正
整数且要求m>n。 long jc(int m) {
long s=1; int i ;
for(i=1;i<=m;i++) s=s*i ; return s; }
float fun(int m, int n)