a[mid])
low=mid+1;
else return (mid);
}
return (-1);
}
3程序设计
假定输入的字符串中只包含字母和*号,请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*全部删除。形参p已指
向字符串中最后一个字母。在编写函数时,不得使用C语言提供的字符串函数。 void fun(char *a,char *p)
{
char *q=a;
int j=0;
while(*q&&q=’0’&&s[i]<=’9’)
第2处 while(s[i+1+n]!=0)n++; 第3处 s[j+1]=s[j];
2程序修改
给定程序MODI1.C中函数fun的功能是:根据整形形参m=1,计算如下公式的值。m=1+1/2*2+1/3*3+1/4*4„1/m*m
例如,若m中的值为:5,则应输出1.463611。
double fun(int m)
{ double y=1.0;
int i;
/*******found******/
for(i=2;i<=m;i++)
/*******found******/
y+=1.0/(i*i);
return (y);
}
3程序设计
编写函数fun,函数的功能是:实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。计算结果在main函数中输出。
void fun(int a[3][3],int b[3][3]) {
int c[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{
c[i][j]=a[j][i];
b[i][j]=a[i][j]+c[i][j]; }
}
第82套
1程序填空
给定程序中,函数fun的功能是:找出100,999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然
后输出:符合条件的整数个数作为函数值返回。 第1处while(t<=999) 第2处 s1=t%10;s2=(t/10)%10;s3=t/100;
第3处 if(s1+s2+s3==x) 2程序修改
给定程序MODI1.C中fun函数的功能是:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。高位仍在高位,
低位仍在低位。
/*******found******/ void fun(long s,long *t) { long s1=10;
s/=10;
*t=s%10;
/*******found******/ while(s>0)
{ s=s/100;
*t=s%10*s1+*t;
s1=s1*10;
}
}
3程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列
学生的记录,高分在前。
int fun(STREC a[]) {
STREC tmp;
int i,j;
for(i=0;ib?(b>c?b:(a>c?c:a)):((ac)?c:b));
2程序修改
给定程序MODI1.C中函数fun的功能是:首先将大写字母转换为对应小写字母:若小写字母为a,u,则将其转换为其后的第5个字母;
若小写字母为v,z,使其值减21。转换后的小写字母作为函数值返回。 char fun(char c)
{ if(c>=?A?&&c<=?Z?)
/*******found******/
c=c+32;
if(c>=?a?&&c<=?u?)
/*******found******/
c=c+5;
else
if(c>=?v?&&c<=?z?)
c=c-21;
return c;
}
3程序设计
请编写函数fun,其功能是:计算并输出„„例如,在主函数中从键盘给n输入20后,输出为:s=534.188884。注意:要求n的值大
于1但不大于100。
double fun(int n)
{
int i;
double fac=1.0;
double sum=1.0;
for(i=2;i<=n;i++)
{ fac+=sqrt(i);
sum+=fac;
}
return sum;
}
第85套
1程序填空
给定程序的功能是调用 fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键
盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
第1处int fun(STYPE *std)
第2处 FILE *fp;int i;
第3处 fwrite(&std[i],sizeof(STYPE),1,fp); 2程序修改
给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串的后面。
void fun(char *s,char *t)
{ int i,s1;
s1=strlen(s);
/*******found******/
for(i=0;ic&&b+c>a&&a+c>b){ if(a==b||b==c)
return 3;
else
if(a==b||b==c||a==c) return 2;
/*******found******/ else return 1;
}
else return 0;
}
3程序设计
编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。
double fun(int n)
{
int i,j=0;
double s=0;
for(i=3;i<=n;i++){ for(j=2;j=0;j--) 第3处 ss[i][j]=’*’;
2程序修改
给定程序MODI1.C中fun函数的功能是:计算整数n的阶乘。请改正程序中的错误或在下划线处填上适当的内容并把下划线删除,使
它能计算出正确的结果。
double fun(int n) {
double result=1.0; while(n>1&&n<170) /*******found******/ result*=n--;
/*******found******/ return result;
}
3程序设计
编写函数fun,它的功能是:从s所指的字符串删除给定的字符。同一字母的大、小写按不同字符处理。
int fun(char s[],char c) {
char *p=s;
int i=0;
while(*p){
if(*p!=c)s[i++]=*p; p++;}
s[i]=0;
}
第90套
1程序填空
函数fun的功能是:统计所有小于等于n(n>2)的素数的个数,素数的个数作为函数值返回。
第1处 for(j=2;j=i)
2程序修改
数列中,第一项值为3,后一项都比前一项的值增5;给定程序MODI1.C中函数fun的功能是:计算前n(41&&n<=100)
{ for(i=1;i<=n;i++)
sum+=1.0/(2*i-1)-1.0/(2*i); }
return sum;
}
第91套
1程序填空
给定程序中,函数fun的功能是计算f(x)=1+x+x2/2!+„+xn/n!直到|x/n!|<10-6若x=2.5,函数值为:12.182494。
第1处 f=1.0+x;
第2处 t*=x/n
第3处 f+=t;
2程序修改
给定程序MODI1.C中函数fun的功能是:计算n的5次方的值(规定n的值大于2小于8),通过形参指针传向主函数;并计算该值
的个位、十位、百位上数字之和作为函数值返回。 int fun(int n,int *value) { int d,s,i;
/*******found******/ d=1;s=0;
for(i=1;i<=5;i++)
d=d*n;
*value=d;
for(i=1;i<=3;i++)
{ s=s+d%10;
/*******found******/ d=d/10;
}
return s;
}
3程序设计
编写函数fun,它的功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。
double fun(double x[9]) {
int i;
double avg=0.0,sum=0.0; for(i=0;i<8;i++){
avg=(x[i]+x[i+1])/2; sum+=sqrt(avg);
}
return sum;
}
第92套
1程序填空
给定程序中,函数fun的功能是:计算f(x)=1+x+x2/2!+„+xn/n!的前n项。若x=2.5,函数值为:12.182340。
的前n项。若x=2.5,函数值为:12.182340。 第1处 t=1;
第2处 for(i=1;inext;
第2处 printf(“%d”,t->data); 第3处 free(t);
2程序修改
给定程序MODI1.C中fun函数的功能是:将字符串中的字符按逆序输出,但不改变字符串的内容。
/*******found******/ fun(char *a)
{ if(*a)
{ fun(a+1);
/*******found******/ printf(“%c”,*a);
}
}
3程序设计
编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。
若两个字符串长度相同,则返回第一个字符串。 char *fun(char *s,char *t)
{
int i;
char *p=s,*q=t;
for(i=0;*p&&*q;i++){ p++;q++;
}
if(*p==0&&*q==0)
return s;
if(*p)return s;
else return t;
}
第94套
1程序填空
函数fun的功能是计算f(x)=1+x-2/2!+3/3!-4/4!+„„的前n项和。若x=2.5,n=15时,函数值为1.917914
前n项之和。若x=2,n=5时,函数值为:1.917914。 第1处 f=1;
第2处 t*=(-1)*x/i;
第3处 f+=t;
2程序修改
给定程序MODI1.C中函数fun的功能是:从3个红球,5个白球,6个黑球中任意取出8个作为一组,进行输出。在每组中,可以没
有黑球,但必须要有红球和白球。组合数作为函数值返回。正确的组合数应该是15。程序中i的值代表红球数,j的值代表白球数,k
的值代表黑球数。
int fun()
{ int i,j,k,sum=0; printf(“\nThe result :\n\n”);
/*******found******/ for(i=1;i<=3;i++)
{ for(j=1;j<=5;j++) { k=8-i-j;
/*******found******/ if(k>=0&&k<=6)
{ sum=sum+1;
printf(“red:%4d white:%4d black:%4d\n”,i,j,k); }
}
}
return sum;
}
3程序设计
请编写函数fun,其功能是:计算并输出下列多项式的值:sn=1+1/1!+1/2!+1/3!+1/4!+„1/n!
例如:在主函数中从键盘给n输入15,则输出为:s=2.718282。注意:要求n的值大于1但不大于100。
double fun(int n)
{
double s=1;
long t=1;
int i;
for(i=1;i<=n;i++){
t=t*i;
s+=1.0/t;}
return s;
}
第95套
1程序填空
给定程序中,函数fun的功能是:计算N*N矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加
主对角线元素中的值,然后累加反向对角线元素的值。 第1处 sum=0;
第2处 sum+=t[i][i];
第3处 sum+=t[i][n-i-1]; 2程序修改
给定程序MODI1.C中函数fun和funx的功能是:用二分法求方程2x3-4x2+3x-6=0的一个根,并要求绝对误差不超过0.001。
double fun(double m,double n)
{
/*******found******/ double r;
r=(m+n)/2;
/*******found******/ while(fabs(n-m)>0.001) { if(funx(r)*funx(n)<0) m=r;
esle n=r;
r=(m+n)/2;
}
return r;
}
3程序设计
假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了字符串前导和尾部的*号之外,将串中其他*号全部删除。
形参h已指向字符串中第一个字母,形参p已指向字符串中最后一个字母。在编写函数时,不得使用c语言提供的字符串函数。
void fun(char *a,char *h,char *p)
{
int j=0;
char *q=a;
while(*q&&q=0;j--) 第3处 t[j][N-1]=r[j]; 2程序修改
给定程序MODI1.C中函数fun的功能是:计算s=f(-n)+f(-n+1)+„„+f(0)+f(1)+f(2)+„„+f(n)的值。例如,当n为5时,函数值应为:
10.407143。
/*******found******/ double f(double x)
{
if(x==0.0||x==2.0)
return 0.0;
else if(x<0.0)
return (x-1)/(x-2); else
return (x+1)/(x+2);
}
double fun(int n)
{ int i;double s=0.0,y; for(i=-n;i<=n;i++)
{ y=f(1.0*i);s+=y;}
/*******found******/ return s;
}
3程序设计
编写函数fun,它的功能是计算:s=根号下(ln(1)+ln(2)+ln(3)+„„ln(m))S作为函数返回,在C语言中可调用log(n)函数求ln(n)。log函
数的引用说明是:Double log(double x)例如,若m的值为:20,fun函数值为:6.506583。
double fun(int m)
{
double s=0.0;
int i;
for(i=0;i<=m;i++)
s+=log(1.0*i);
s=sqrt(s);
return s;
}
第97套
1程序填空
函数fun的功能是:逆置数组元素是的值。例如:若a所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则逆置后依次为:
9、8、7、6、5、4、3、2、1。形参n给出数组中数组中数据的个数。 第1处for(i=0;idata==ch)return n; 第3处 k=fun(head,ch);
2程序修改
给定程序MODI1.C中函数fun的功能是:删除p所指字符串的所有空白字符(包括制表符、回车符及换行符)。输入字符串时用‘#’
结束输入。
fun(char *p)
{ int i,t;char c[80]; /*******found******/
for(i=0,t=0;p[i];i++) if(!isspace(*(p+i)))
c[t++]=p[i];
/*******found******/
c[t]=?\0?;
strcpy(p,c);
}
3程序设计
请编写一个函数fun,将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
void fun(char *ss)
{
int i;
for(i=1;i=?a?&&ss[i]<=?z?)
ss[i]-=32;
}
}
第99套
1程序填空
函数fun的功能是:将形参观者工所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个
数,若n为奇数,则中间的元素不动。
第1处 p=(n%2==0)?n/2:n/2+1;
第2处 a[i]=a[p+i];
第3处 a[p+i]=t;
2程序修改
给定程序MODI1.C中函数fun的功能是:把主函数中输入的3个数,最大的放在a中,最小的放在c中,中间的放在b中。
void fun(float *a,float *b,float *c)
{
/*******found******/
float k;
if(*a<*b)
{ k=*a;*a=*b;*b=k;}
/*******found******/ if(*a<*c)
{ k=*a;*a=*c;*c=k;}
if(*b<*c)
{k=*b;*b=*c;*c=k;}
}
3程序设计
学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生
数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
int fun(STREC *a,STREC *b) {
int i,max=a[0].s,n=0; for(i=1;iave = a->ave + a->s[i] ;
a->ave /= N ;
37. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参
n传回,平均分通过函数值返回。
,1,1空*a 2空2 3空i+1
,2,1错 题中为sun=0; 正确答案sum=0;
2错 题中为if(i+1%5==0) 正确答案if((i+1)%5==0)
,3,int i ;double ave = 0.0 ;*n = 0 ;for(i = 0 ; i < N ; i++)
ave = ave + a[i].s ;ave /= N ; for(i = 0 ; i < N ; i++)
if(a[i].s < ave) { b[*n]=a[i] ;(*n)++;} return ave;
38. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:把分数最高的学生数据放在b所指的数组中,注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数。
,1,1空1 2空i 3空a[p+i]
,2,1错 题中为float *k; 正确答案float k;
2错 题中为if(*a>*c) 正确答案if(*c>*a)
,3,int i, max = a[0].s, n=0; for(i = 1; i < N; i++) if(max < a[i].s) max = a[i].s ; for(i = 0; i < N; i++)
if(max==a[i].s) b[n++] = a[i] ; return n;
39. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp,strcmp(a,b)当a和b字符串相等时返回值为0)。
,1,1空n/2 2空i 3空a[n-i-1]
,2,1错 题中为n=*P-’o’; 正确答案n=*p-’0’;
2错 题中为n=n*8+*P-’o’; 正确答案n=n*8+*p-’0’;
,3,STREC c ; int i ;c.num[0] = '\0' ; c.s = -1 ;
for(i = 0 ; i < N ; i++)if(strcmp(a[i].num, b)==0)
{strcpy(c.num, a[i].num) ; c.s=a[i].s; break ; } return c;
40. N 名学生的成绩已在主函数中放入一个带头节点的连接表结构中,h指向链表的头节点。请编写函数fun,它的功能是:求出平均分,由函数值返回。例如,若学生的成绩是:85,76,69,85,91,72,64,87,则平均分应当是:78.625.
,1,1空char 2空ch<=’9’ 3空’0’
,2,1错 题中为b[k]=p; 正确答案b[k]=*p;
2错 题中为b[k++]=” “; 正确答案b[k]=’ ’;k++;
,3,STREC *p=h->next; double av=0.0; int n = 0 ;
while(p!=NULL) { av = av + p->s ; p=p->next;n++;}
return ,av/n,;
52. 学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是:按分数的高低排列学生的记录,高分在前。
,1,1空999 2空t/10 3空x
,2,1错 题中为void fun(long s,long t) 正确答案void fun(long s,long *t)
2错 题中为while(s<0) ) 正确答案while(s>0)
,3,STREC tmp; int i,j;for(i = 0; i < N; i++)
for(j = i+1; j < N; j++)
if(a[i].s < a[j].s) {tmp = a[i];a[i] = a[j];a[j] = tmp;}
62.已知学生的记录有学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,函数的功能是:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分)。 ,1,1空0 2空x[i]/N 3空 j++
,2,1错 题中为fun(int m) 正确答案double fun(int m)
2错 题中为for(i=100,i<=m,i+=100) 正确答案for(i=100; i<=m;i+=100) ,3,int i, min = a[0].s, j = 0; for(i = 1 ; i < N ; i++)
if(min > a[i].s) { j = i ; min = a[i].s ; } *s = a[j] ;
73. m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人数作为函数值返回,将低于平均分的分数放在below所指的数组中。例如,当scorre数组中的数据为:10、20、30、40、50、60、70、80、90时,函数返回的人数应该是4,below中的数据为:10、20、30、40。
,1,1空j; 2空0 3空i++
,2,1错 题中为for(i=2;i>m;i++) 正确答案for(i=2);i<=m;i++)
2错 题中为y-=1/(i*i) 正确答案y-=1.0/i/i;
3,float av=0.0 ; int i, j=0 ;for(i=0; iscore[i]) below[j++]=score[i]; return j;
86.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数
fun,它的功能是:把高于等于平均分的学生数据放在b所指的数组中,高于等于平均分的学生人数
通过形参n传回,平均分通过函数值返回。
,1, 1空sno 2空name 3空&t
,2, 1错 题中为double fun (double a, double) 正确答案double fun (double a, double x0)
2错 题中为if(fabs(x1-x0).>0.0 正确答案if(fabs(x1-x0).>0.00001 ,3,double t=0 ;int i ;*n = 0 ;
for(i = 0 ; i < N ; i++) t = t + a[i].s ;t = t / N ;
for(i = 0 ; i < N ; i++) if(a[i].s > t) b[(*n)++] = a[i] ;
return t ;
87.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数
fun,它的功能是:步分数最低的学生数据放在b所指的数组中,注意:分数最低的学生可能不止一
个,函数返回分数最低的学生的人数。
,1,1空struct student 3空a.name 4空a.score[i]
,2,1错 题中为if(P= =n)return -1; 正确答案if(p= =n)return -1;
2错 题中为a[i+1]=a[i]; 正确答案a[i]=a[i+1];
,3,int i, j = 0, min=a[0].s ;for(i = 0 ; i < N; i++) {
if(min > a[i].s) {j = 0 ; b[j++] = a[i] ; min = a[i].s ;}
else if(min == a[i].s)
b[j++] = a[i] ;}return j ;
89.学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数
fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数有函数值返回。例如,输入的分数是60 69,则应当把分数在60到69的学生数据进行输出,包含60分和
69分的学生数据。主函数中将把60放在low中,把69放在heigh中。
,1,1空struct 2空 student3空n-1 a[i].name,a[j].name
,2,1错 题中为q=p+i 正确答案q=p+i,
2错 题中为while(q>p-) 正确答案while(q>p)
,3,int i,j = 0 ;for(i = 0 ; i < N ; i++)
if(a[i].s >= l && a[i].s <= h) b[j++] = a[i] ;return j ;
90. N名学生的成绩已在主函数中放入一个带头节点的链表结构中,h指向链表的头节点。请编写函数fun,它的功能是:找出学生的最高分,由函数返回。
,1,1空,fp, 2空= = 3空 fp
,2,1错 题中为n=strlen[aa] 正确答案n=strlen(aa)
2错 题中为c=aa[i], 正确答案 ch=aa[i];
,3,double max=h->s;STREC*p; p=h->next; while(p){ if(p->s>max ) max=p->s; p=p->next; }
return max;p=p->next;}
return max;
第三类:字符串,奇偶性,转化或者删除
8. 请编写一个函数fun,它的功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若该位置上不是字母,则不转换)。
例如,若输入”abc4EFg”,则应输出” aBc4EFg”。
,1,1空0 2空n 3空head,ch
,2,1错 题中为 For(i=0,t=0;p[i];i++) 正确答案for(i=0,t=0;p[i];i++)
2错 题中为c[t]=”\0”; 正确答案c[t]=0;
,3,int i; for(i=1;i=’a’&&ss[i]<=’z’) ss[i]-=32;}
71.请编写一个函数fun,其功能是:将ss所指字符串中所有下标为奇数位置上的字母转换为大写(若在位置上不是字母,则不转换)。例如,若输入”abc4EFg”,则应输出”aBc4EFg”。 ,1, 1空K 2空N 3空a[k][i]
,2, 1错 题中为for(i=strlen(t)-1) 正确答案,for(i = strlen ( t )-1; i ; i--)
2错 题中为( t[ j ] t [ j + 1 ])
,3,char *p = ss ; int i = 0 ;while(*p) {
if((i % 2) && (*p >= 'a' && *p <= 'z')) *p - = 32 ;
p++ ; i++ ; } return ss ;
9. 函数fun的功能是:将s所指字符串中除了下标为偶数、同时ASCII值也为偶数的字符外,其余的全都删除;串中剩余字符所形成的一个新串放在t所指的数组中。例如,若s所指字符串中的内容为:”ABCDEFG123456”,其中字符A的ASCII码值也为偶数的字符外,因此应当删除;其中字符B的ASCII码值为偶数,但数组中的下标为奇数,因此也应当删除;其中字符2的ASCII码值为偶数,所在数组中的下标也为偶数,因此不应当删除,其它依此类推。最后t所指的数组中的内容应是:”246”。
,1,1空*n 2空next 3空head
,2,1错 题中为a=NULL; 正确答案a=0;
2错 题中为 if(r= =p) 正确答案if(*r= =*p)
,3,int i,j=0; for,i=0;ij) 正确答案while(i0 正确答案 if (k>0)
2错 题中为 else if(k=0) 正确答案 else if (k= =0) ,3,int i , j; for(i = 0 ; i 3空,2*i+1,
,2,1错 题中为void fun(int n) 正确答案double fun (int n)
2 错 题中为s=s+(Double)a/b, 正确答案s=s+(double)a/b,
,3,int i, j, max=a[0][0];
for(i=0; i<2; i++)
for(j=0; j 正确答案#include “stdio.h
2错 题中为upfst(char p) 正确答案upfst(char *p) ,3,int i, j, n=0; double sum=0; for ( i =0; inext 2空p->next 3空>=
,2,1错 题中为p=h; 正确答案p=h->next;
2错 题中为p=h->next; 正确答案p=p->next;
,3,int i, j, k ;
for(i = 0 ; i < mm ; i++) for(j = 0 ; j < nn ; j++) {
k = i * nn + j ; b[k] = s[i][j] ;} *n = mm * nn ;
93.请编写函数fun,函数的功能是:将M行N列的二维数组中的数据,按列的顺序依次放到一维数组中,函数fun中给出的语句仅供参考。
例如,二维数组中的数据为:
33 33 33 33
44 44 44 44
55 55 55 55
则一维数组中的内容应是:
33 44 55 33 44 55 33 44 55 33 44 55 ,1,1空k = a[i] ; 2空NODE* 3空next
,2,1错 题中为if(i%2&&s[i]%2==0) 正确答案if(i%2|| s [i] %2= =0)
2错 题中为t[j]=’\0’; 正确答案t[j]=0;
,3,for(i = 0 ; i < nn ; i++) for(j = 0 ; j < mm ; j++) {
b[np] = s[j][i] ; np = i * mm + j + 1; }
97. 请编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中。
例如,二维数组中的数据为:
W W W W
S S S S
H H H H
则字符串中的内容应是:WSHWSHWSH
,1,1空FILE* 2空fp 3空ch
,2,1错 题中为s[j] =s[i]; 正确答案s[j++]=s[i] ;
2错 题中为s[j]=”\0” 正确答案s[j]=0;
,3,for(j = 0 ; j < M ; j++) {
b[n] = s[j][i] ;
n = i * M + j + 1;
15. 请编一个函数void fun(int tt[M] [N], int pp[N],tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并依次放入pp所指一维数组中。二维数组中的数已在主函数中赋予。 ,1,1空 *std 2空 std[i].age 3空max.name
,2,1错 题中为void fun ( int a , b) 正确答案void fun ( int *a , int * b)
2错 题中为t=b; b=a;a=t; 正确答案 t=*b; *b=*a; *a=t; ,3,int i , j, min, k=0; for(i=0; i tt[j][i]) { min=tt[j][i]; }
pp[k++]=min;}
第五类:字符串删除‘*’
31. 规定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:将字符串中是前导*号全部删除,中间和尾部的*号不删除。
例如,字符串中的内容为:*******A*BC*DEF*G****,删除后,字符串中的内容应当是:A*BC*DEF*G****。在编写函数时,不得使用C语言提供的字符串函数。
,1,1空 [ N ] 2空 t [i] [j] 3空 t[j] [i]
,2, 1错 题中为 #define FU(m,n)(m/n)正确答案#define FU(m,n) ,,m,/ (n),
2错 题中为Reurn (Value); 正确答案 reurn (value); ,3,int j=0;
char *p = a ;
while(*p == '*') p++ ;
while(*p) {
a[j++] = *p ;
p++;
32. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:除了尾部的*号之外,将字符串中其它*号全部删除。形参p已指向字符串中最后的一个字母。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG*******。
,1,1空 t[][N] 2空i=0; ia[maid]) 正确答案else if(m>a[mid]) ,3,char *q=a;
int j=0;
while(*q && q0.001) ,3, int j=0;
char *q=a;
while(*q && q < h) a[j++] = *q++ ;
while(*h && *p && h < p) {
if(*h != '*') a[j++] = *h ;
h++;,
34. 假定输入的字符串中只包含字母和*号。请编写函数fun,它的功能是:删除字符串中所有的*号。在编写函数时,不得使用C语言提供的字符串函数。
例如,字符串中的内容为:****A*BC*DEF*G*******,删除后,字符串中的内容应当是:ABCDEFG.
,1,1空1 2空j++ 3空j
,2,1错 题中为t=a;b=a;a=t正确答案t=a;a=b;b=t;
2错 题中为return(a); 正确答案return(b);
,3,int j =0 ;
char *p=a;
while(*p) {
if(*p != '*') a[j++]=*p ;
p++ ;,
号。请编写函数fun,它的功能是:使字符串尾部的*号不得35. 假定输入的字符串中只包含字母和*
多余n个;若多余的n号;则删除多余的*号;若少于或等于n个,则什么也不做,字符串中间和前面的*号不删除。
例如。字符串中的内容为:****A*BC*DEF*G*******,若n的值为4,删除后,字符串中的内容应当是:****A*BC*DEF*G****;若n的值为7,则字符串中的内容仍为:****A*BC*DEF*G*******。N的追在主函数中输入。在编写函数时,不得使用C语言提供的字符串函数。
,1,1空a[i]%2 2空a[j] 3空j
,2,1错 题中为fun,n,正确答案fun,int n,
2错 题中为if,n=1,正确答案if,n==1,
,3,char *p=a ,*q=a;int j=0;while(*p) p++; p--;
while(*p == '*') p--;p++;while(j=0&&K<=6) 正确答案if(k>=0&&k<=6)
,3,double s=1 ;long t=1;int i;
for(i=1; i<=n; i++) {
t=t*i; s+=1./t;} return s;
43. 请编写函数fun,其功能是:计算并输出当x<0.97时下列多项是的值,直到Sn-Sn-1|<0.000001为止。
例如,在函数中从键盘给x输入0.21后,输出为:s=1.100000。
,1,1 空x 2空n 3空fabs(t)
,2,1错 题中为for(i=1;i=0.000001)
{double j,a=1,b=1; xn1=xn; for (j=1;j1 && n<=100) {for(i=1; i<=n; i++)
sum+=1.0/(2*i-1)-1.0/(2*i);} return sum;
47. 请编写函数fun,其功能是:计算并输出下列多项式的值:
例如,在主函数中从键盘给n输入50后,输出为:s=1.718282。
注意:要求n的值大于1但补大于100。
,1,1空n%10 2空break 3空break
,2, 1错 题中为if(t=0)正确答案if(t==0)
2错 题中为zero=count;正确答案*zero=count;
,3,int i,j;double sum=0.0,temp;
for(i=1; i<=n; i++){temp=1.0; for(j=1;j<=i;j++)
temp*=1.0/j;sum+=temp;} return sum;
49. 请编写函数fun,其功能是:计算并输出3到n之间(含3和n)所有素数的平方根之和。
例如,在主函数中从键盘给n输入100后,输出为:sum=148.874270。
注意:要求n的值大于2但不大于100。
,1,1空i 2空 t++ 3空 count
,2,1错 题中为void fun(int a,int b int c) 正确答案int fun(int a,int b,int c)
2错 题中为else return 1 正确答案else return 1; ,3,int i,j=0;
double s=0;
for (i=3; i<=n; i++) {
for (j=2; j=eps){ s+=t; n++; t=t*n/(2.0*n+1); }
return (s*2.0);
77. 编写函数fun,功能是:根据以下公式求p的值,结果由函数值带回。M与n为两个正整数且要求m>n。
例如:m=12,n=8时,运行结果为495.000000。
,1,1空*s 2空s++ 3空 n
,2,1错 题中为int j,c=0,double 正确答案int j,c=0; double xa=0.
2错 题中为if(x[j]=>xa) 正确答案if (x[j]>=xa) ,3,float p,jcn=1.0,jcmm=1.0;
int i;
for(i=1;i<=m;i++)jcm*=i;
for(i=1;i<=n;i++)jcn*=i;
for(i=1;i<=m-n;i++)jcmn*=i;
p=1.0*jcm/jcn/jcmn ;
return p;
79. 编写函数fun,它的功能是:计算并输出下列级数和:
例如,当n=10时,函数值为:0.909091。
,1,1空*s 2空1 3空k[n]
,2,1错 题中为void fun,int k, 正确答案float fun,int k,
2错 题中为return s 正确答案return s ,
,3,double s = 0.0 ;
int i ;
for(i = 1 ; i <= n ; i++) s = s + 1.0 / (i * (i + 1)) ;
return s ;
80. 编写函数fun,它的功能是计算下列级数和,和值由函数值返回。
例如,当n=10,x=0.3时,函数值为1.349859。
,1,1空i 2空ps[ j ] 3空tp
,2,1错 题中为fun,int n, 正确答案double fun,int n,
2错 题中为return sum 正确答案return sum,
,3,double s = 1.0, y = x,jc=1.0 ; int i,j ;
for(i = 1 ; i <= n ; i++)
{jc*=i ;s+=y/jc; y *= x ; } return s ;
第七类,数学知识相关的编程
28. 编写函数fun, 它的功能是:利用以下所示的简单迭代方法求方程:
cos(x)-x=0的一个实根。
Xn+1=cos(Xn)
迭代步骤如下:
(1) 取x1初值为0.0;
(2) x0=x1,把x1的值赋给x0;
(3) x1=cos(x0),求出一个新的x1;
(4) 若x0-x1的绝对值小于0.000001,执行步骤(5),否则执行步骤(2); (5) 所求x1就是方程cos(x)-x=0的一个实根,作为函数值返回。
程序输出结果Root=0.739086.
,1,1空i++ 2空m 3空m
,2,1错 题中为while((high >=2) && (n < 10) 正确答案while((2<=high)&&(n<10))
2错 题中为yes=0;break 确答案yes=0;break;
,3, float x0, x1=0.0;
do {
x0=x1;
x1=cos(x0);
} while(fabs(x0-x1)>0.000001);
return x1;
45. 请编写函数fun,其功能是:计算并输出给定数组(长度为9)中每相邻两个元素之平均值的平方根之和。
例如,给定数组中的9个元素依次为12.0、34.0、4.0、23.0、34.0、45.0、18.0、3.0、11.0,输出应为:s=35.951014。
,1,1空x 2空n 3空t
,2,1错 题中为d=0;s=0; 正确答案d=1;s=0;
2错 题中为d=d\10; 正确答案d=d/10;
,3,int i ; double avg=0.0,sum=0.0;
for (i=0;i<8;i++) { avg=(x[i]+x[i+1])/2;
sum+=sqrt(avg);} return sum;
78. 编写函数fun,它的功能是:求小于形参n同时能被3与7整除的所有自然数之和的平方根,并作为函数值返回。
例如若n为1000时,程序输出应为:s=153.909064。
,1,1空48 2空s++ 3空sum
,2,1错 题中为if ,,k%13= = 0, 正确答案 if ,,k%13= = 0,|| ,k%17 = = 0,,
2 错 题中为____ 正确答案 }
,3, double sum=0.0;int i; for(i=21; i<=n; i++)
if((i % 3==0) && (i % 7==0)) sum+=i;
return sqrt(sum) ;
7.请编写一个函数fun,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。例如,若传送给m的值为50,则程序输出: 11 14 21 22 28 33 35 42 44 49 ,1,1空q 2空next 3空next
,2,1错题中为p=j 正确答案p=j;
2错题中为p=j; 正确答案p=i;
,3,int i ;*n=0; for(i=7 ; i<=m; i++)if ( (i % 7 = = 0) || ( i %11 = =0)) a[(*n)++]=i ;
21. 请编写函数fun,其功能是:将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
,1,1空M 2空< 3空k
,2,1错 题中为if((‘a’<=tt[i]) || (tt[i]<=’z’)) 正确却答案if((‘a’<=tt[i])&&(tt[i]<=’z’))
2错 题中为tt[i]+ =32 正确却答案tt[i]-=32,
,3,int j,tag=0,p,q; for(p=2;p=i)
,3,int i; *n=0; for(i=1; i <= x; i++)
if((x % i== 0) && (i % 2)) pp[(*n)++]=i;
75.请编写一个函数fun,它的功能是:将大于形参m且紧靠m的k个素数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,29,31,37.函数fun中给出的语句仅供参考。 ,1,1空s 2空-- 3空return 0
,2,1错 题中为fun(int n) 正确答案 double fun (int n)
2错 题中为c=a;a+=b;b+=c; 正确答案c=a; a+=b; b=c; ,3,for(i = 2 ; i < t; i++) if(t % i==0) break; if(i==t)
{ xx[j-1] = i; j++;} t++;
68. 编写函数fun,它的功能是求出小于或等于1im的所有素数并放在aa数组中,函数返回所求出的素数的个数。函数fun中给出的语句仅供参考。
,1,1空a[0][i] 2空< 3空x,y
,2,1错 题中为void fun(int x,int 正确答案void fun(int *x,int*y)
2错 题中为 t=x;x=y;y=t; 正确答案t=*x;*x=*y;*y=t ,3,for(j = 2 ; j <= (i/2) ; j++)
if(i % j == 0) break;if(j > (i/2)) aa[k++] = i;
第八类,统计个数类
20. 编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。例如,假定输入的字符串为:asd asasdfg asd as zx67 asd mklo,字符串为:as,则应输出6 。 ,1,1空[N] 2空len 3空*n=len
,2,1错 题中为t+=1.0/k正确答案t+=1.0
1错 题中为----- 正确答案return t;
,3,int cnt=0;char *p=str,*q; while(*p){q=strstr(p,substr);
if(q= =NULL) break;p=q+strlen(substr);cnt++;}return cnt;
22. 请编写函数fun ,他的功能是:求出ss所指字符串中指定字符的个数,并返回此值。 例如,若输入字符串:123412132,数入字符为:1,则输出:3 。
,1,1空j++ 2空s[i]=t1[i] 3空j
,2,1错 题中为for(j=i+1,j<6,j++) 正确答案for(j=i+1;j<6;j++)
2错 题中为*(pstr+i)= pstr+j; 正确答案*(pstr+i)=*(pstr+j); ,3,int cnt=0;char *p=ss; while(*p){
if(*p==c) cnt++;p++;} return cnt; 25. 请编写一个函数 void fun(char *tt, int pp [ ] ),统计在tt所指字符串中发’a’到’z’ 26个小写字母各自出现的次数,并依次放在pp所指数组中。
例如,当输入字符串:abcdefgabcdeabc后,程序的输出结果应该是:
3 3 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
,1,1空 1 2空 s[k] 3空 c
,2,1错 题中为long s=0,t=1; 正确答案long s=0,t=0;
2错 题中为t=t%10; 正确答案 t=t/10;
,3,char *p = tt ; int i ; for(i = 0 ; i < 26 ; i++) pp[i] = 0 ;
while(*p) {if(*p >= 'a' && *p <= 'z')
pp[*p - 'a'] += 1 ; p++ ; }
100. 请编写函数fun,函数的功能是:统计一行字符串中单词的个数,作为函数值返回。一行字符串在主函数中输入,规定所偶单词有小写字母组成,单词由若干个空格隔开,一行的开始没有空格。
,1,1空filename 2空fp 3空fp
,2,1错 题中为p=(NODE )malloc(sizeof(NODE));
正确答案p=(NODE*)malloc(sizeof(NODE));
2错 题中为return p;正确答案return h;
,3,int k = 1 ;
while(*s) {
if(*s == ' ') k++ ;
s++ ;,
return k;
98. 请编写函数fun,函数的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10。删除后,数组中的内容应当是:2 3 4 5 6 7 8 9 10。
,1,1空 FILE* 2空 fclose(fp) 2空 fp
,2,1错 题中为t=(STU*)calloc(sizeof(STU),m)
正确答案t=(STU*)calloc(sizeof(STU),m);
2错 题中为t(k)=b(j); 正确答案t[k]=b[j];
,3,int i, j = 1, k = a[0] ;
for(i = 1 ; i < n ; i++)
if(k != a[i]) {
a[j++]=a[i] ;
k = a[i] ;
第九类,字符串类
94. 请编写函数fun,函数的功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),
按顺序合并组成一个新的字符串。函数fun中给出的语句仅供参考。
例如,字符串数组中的M歌字符串为
AAAA
BBBBBBB
CC
则合并后的字符串的内容应是:AAAABBBBBBBCC。
提示:strcat (a,b)的功能是将字符串b复制到字符串a的串尾上,成为一个新串。 ,1,1空 next 2空 0 3空 r
,2,1错 题中为r=p; 正确答案 r=t;
2错 题中为 if(*r=0) 正确答案if(*r==0)
,3,for(i = 0 ; i < M ; i++)
strcat(b, a[i]) ;
96. 请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABDC。
,1, 1空double 2空f 1 3空f 2
,2, 1错 题中为char fun (char *s,char *t)
正确答案char *fun (char *s,char *t)
2错 题中为(*ss)++;正确答案ss++ ;
3错 题中为(*tt)++;正确答案tt++;
,3,int i;
for(i = 0 ; i < m ; i++) fun1(w);
91. 请编写函数fun,函数的功能是:判断字符串是否为回文,若是,函数返回1,主函数中输出:YES,否则返回0,主函数中输出NO。回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
,1,1空double 2空f 1 3空f 2
,2,1错 题中为p=h; 正确答案p=h->next;
2错 题中为p=h->next; 正确答案 p=p->next;
,3,int i, j = strlen(str) ;
for(i = 0 ; i < j / 2 ; i++) if(str[i] != str[j - i - 1])
return 0 ;
return 1 ;
69. 编写一个函数,从num个字符串中找出最长的一个字符串,并通过形参指针max传回该串地址。(注意:主函数中用****作为结束输入的标志,函数fun中给出的语句仅供参考。) ,1,1空[N] 2空i 3空i+1
,2,1错 题中为aa[i]=m/k; 正确答案aa[i]=m%k
2错 题中为printf(%d”,aa[i]);正确答案printf(“%d”,aa[i-1])
,3,if(strlen(a[i]) > maxlen) { maxlen = strlen(a[i]) ; k = i;}
70. 请编写一个函数,函数的功能是删除字符串中的所有空格。
例如,主函数中输入”asd af aa z67”,则输出为”asdafaaz67”。
,1,1空0 2空|| 3空1
,2,1错 题中为t=1.0-1/i 正确答案t-=1.0/i;
2错 题中为____ 正确答案return t
,3,char *p = str ; int i = 0 ; while(*p) {
if(*p != ' ') str[i++] = *p ; p++ ;} str[i] = 0 ;
76.请编写函数fun,其功能是求出数组的最大元素在数组中的下标并存放在k所指的存储单元中。
例如,输出如下整数:876 675 896 101 301 401 980 431 451 777
则输出结果为:6, 980
,1,1空n++, 2空0 3空s++
,2,1错 题中为t=s[k] 正确答案t+=s[k],
2错 题中为 *aver=Ave 正确答案*aver=ave;
,3,int i, pos = 0, max = *s ; for(i = 1 ; i < t ; i++) { if(max < *(s + i)) {max = *(s + i) ; pos = i ;}} *k =
pos ;
95.请编写函数fun,函数的功能是:移动一维数组中的内容;若数组中有n个整数,要求把下标从0到p(含p,p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:1,2,3,4,5,6,7,8,9,10;p的值为3.移到后,一
,10,1,2,3,4. 维数组中的内容为:5,6,7,8,9
,1,填空答案,1空 p->next 2空 q 3空 p->next
,2,1错 题中为while(*s!=’@’) 正确答案while(*s)
2错 题中为(*s)++; 正确答案为s++;
,3,int i, j = 0, b[N] ;
for(i = p + 1 ; i < n ; i++) b[j++] = w[i] ;
for(i = 0 ; i <= p ; i++) b[j++] = w[i] ;
for(i = 0 ; i < n ; i++) w[i]= b[i] ;
18. 编写函数fun,函数的功能是:从s所指的字符串中删除给定的字符。同一字母的大、小写按不同字符处理。
若程序执行使输入字符串为:turbo c ad borlad c++ 如果输入的字符在字符串中不存在,则字符串照原样输出。
,1,1空k 2空len 3空ss[i][j]
,2,1错题中为result*=- -n; 正确答案result*=(double)n- -; ,3,char *p =s;
int i = 0;
while(*p) {
if(*p !=c ) s[i++] =*p; p++;} 19(请编写函数fun,对长度为7个字符串的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。
例如,原来的字符串为CEAedca,排列后输出为CedcEAa.
,1,1空ss[i] 2空n+j 3空1
,2,1错 题中为if(p==’ ’) 正确答案if (*p==’ ’)
2错 题中为*,p-1,=toupper(*,p-1)) 正确答案*(p-1)=toupper,*,p-1,,, ,3,char ch; int i,j; for(i=1;i<6;i++) for(j=i+1;j<6;j++){
if(*(s+i)<*(s+j)){ch=*(s+j);*(s+j)=*(s+i);
*(s+i)=ch;}}
6(请编写一个函数fun,它的功能是:比较两个字符串的长度,(不得调用C语言提供的求字符串长度的函数),函数返回较长的字符串。若两个字符串长度相同,则返回第一字符串。例如,输入beijing shanghai (为回车键),函数将返回shanghai。
,1,1空next 2空t->data 3空 t
,2,1错fun (char *a)// fun (char a)
2错printf(“%c”,*a);// printf(“%c”*a)
,3,int i; char *p=s, *q=t; for(i=0;*p && *q; i++ ){ p++; q++; }
if(*p = =0 && *q = = 0) return s ;If(*p) return s ;
else return t ;
54. 编写一个函数fun,它的功能是:实现两个字符串的连接(不适用库函数strcat), 即把p2所指的字符串连接到p1所指的字符串后。
例如,分别输入下面两个字符串:
FirstString- -
SecondString
程序输出:FirstString- -SecondString
,1,1空0 2空10*x 3空n/10
,2,1错 题中为t=0正确答案*t=0;
2错 题中为if(%d2==0)正确答案if(d%2!=0)
,3,char *p=p1;
while(*p)p++;
while(*p2) *p++=*p2++;
*p=0;
17. 请编一个函数fun(char *s),函数的功能是把s所指字符串中的内容逆置。 例如:字符串中原有的字符串为:abcdefg,
则调用该函数后,串中的内容为:gfedcba.
,1,1空i+1 2空k=j 3空t
,2, 1错 题中为 viod fun (char str, char ch) 正确答案 void fun (char *str, char ch)
2错 题中为 if (*str= =ch) 正确答案if (*str!=ch)
3错 题中为 str [1]=’0’; 正确答案 str[l]=0;
,3,char b[N];int i = 0, j ; memset(b, 0, N);
for (j=strlen(s) – 1 ; j >=0 ; j-- ) b[i++] =s[j];
strcpy(s , b );
26( 请编写一个函数void fun (chai a[ ] , char b [ ] ,int n ), 其功能是:删除一个字符串中指定下标的字符。其中,a指向原字符串,删除指定字符后的字符串存放在b 所指定数组中,n中存放指定的下标。
例如,输入一个字符串:Word,然后输入3,则调用该函数后的结果为:Woed。 ,1,1空t=i 2空i 3空0
,2,1错 题中为 while(t>=num) 正确答案while((fabs(t))>=num)
2错 题中为 t=s%n 正确答案t=s/n
,3,strncpy(b, a, n) ;
b[n] = 0 ;
strcat(b, a + n + 1) ;
第十类,其它
16. 请编写一个函数 unsigned fun ( unsigned w ), w 是一个大于10的无符号整数,若 w 是 n (n?2)位的整数,函数求出w的低 n-1位的数作为函数值返回。
例如:w值为5923,则函数返回923;w值为923 则函数返回23。
,1,1空tt 2空tt.score[i] 3空std
,2,1 错 题中为m=0; 正确答案m=i;
2 错 题中为if ( a [k] > a [m] ) k=m;
正确答案if ( a [k] > a [m] ) m=k;
,3,if(w>1000) w %=1000;
else if( w>1000 ) w %=1000;
else if( w>100 ) w %=100;
else if( w>10 ) w %=10;
return w;
55. 请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。例如输入字符串“-1234’,则函数把它转换为整数值-1234。函数fun中给出的语句仅供参考。
,1,1空10 2空0 3空x
,2,1 错 题中为if n==0 正确答案if (n==0)
2错 题中为result*=n-- 正确答案result *= n--,
,3,while(*p) x = x*10-48+(*p++);
57. 请编写一个函数fun,它的功能是:找出一维整型数组元素中最大的值和它所在的下标,最大的值和它的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。 主函数中x是数组名,n是x中的数据个数,max存放最大值,index存放最大值所在元素的下标。 ,1,1空1 2空2*I 3空,-1,
,2,1错 题中为k++ 正确答案k++,
2错 题中为if(m=k)正确答案if(m==k)
,3,int i ;*max=a[0];*d = 0 ; for(i = 1; i < n; i++)
if(*max < a[i]) { *max = a[i]; *d = i ; }
66. 请编写一个函数fun,函数的功能是使实型数保留2为小数,并对第三位进行四舍五入(规定实型数为正数)。
则函数返回 1234.570000; 例如:实型数为 1234.567 ,
实型数为1234.564, 则函数返回 1234.560000。
,1,1空’0’ 2空s++ 3空ctod(a)+ctod(b)
,2,1错 题中为void 正确答案void fun (char *s,int *a, int*b)
2错 题中为*a=a+1正确答案++(*a)
3错 题中为*b=b+1 正确答++(*b)
,3,long w ;
w = h * 100 + 0.5 ; return (float) w / 100 ;
99. 请编写函数fun,函数的功能是:统计各年龄段的人数。N个年龄通过调用随机还是或得,并放在主函数的age数组中;要求函数吧0至29岁年龄段的人数放在d[0]中,把10至19岁年龄段的人数放在d[1]中,把20至29岁年龄段的人数放在d[2]中,其余依次类推,把100岁(含100)以上年龄的人数都放在d[10]中。结果在主函数中输出。
,1,1空“rb” 2空 > 3空fwrite
,2,1错 题中为s=p; 正确答案p=s ;
2错 题中为while(*p+)正确答案while(*p++)
,3,int i, j ;
for(i = 0 ; i < M ; i++) b[i] = 0 ;
for(i = 0 ; i < N ; i++) {
j = a[i] / 10 ;
if(j > 10) b[M - 1]++ ; else b[j]++ ;}