j=i;
max=a[i].s;
}
*s=a[j];
}
第十三套
填空:
给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。
函数fun的功能是将该学生的各科成绩都乘以一个系数a。
1、STU2、score[i]3、&std
改错:
给定程序MODI1.C中函数fun的功能是:
求k!
(k<13),所求阶乘的值作为函数值返回。
1、ifk>0改为if(k>0)
2、elseif(k=0)改为elseif(k==0)
程序设计:
程序定义了N×N的二维数组,并在主函数中自动赋值。
请编写函数fun(inta[][N],intn),函数的功能是:
使数组左下三角元素中的值乘以n。
{
inti,j;
for(i=0;ifor(j=0;j<=i;j++)
a[i][j]*=n;
}
第十四套
填空:
给定程序中,函数fun的功能是:
将形参指针所指结构体数组中的三个元素按num成员进行升序排列。
1、*std2、PERSON3、std
改错:
给定程序MODI1.C的功能是:
将m(1≤m≤10)个字符串连接起来,组成一个新串,放在pt所指存储区中。
1、Intk,q,i;改为intk,q,i;
2、pt[i]=str[k,i];改为pt[i]=str[k][i];
程序设计题:
程序定义了N×N的二维数组,并在主函数中自动赋值。
请编写函数fun(inta[][N]),函数的功能是:
使数组左下三角元素中的值全部置成0。
{
inti,j;
for(i=0;ifor(j=0;j<=i;j++)
a[i][j]=0;
}
第十五套
填空:
给定程序中,函数fun的功能是:
将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
1、*std2、std[i].age3、max.name
改错:
给定程序MODI1.C的功能是:
实现两个整数的交换。
1、voidfun(inta,intb)改为
voidfun(int*a,int*b)
2、t=b;b=a;a=t;改为
t=*b;*b=*a;*a=t;
程序设计题:
请编一个函数voidfun(inttt[M][N],intpp[N]),tt指向一个M行N列的二维数组,求出二维数组每列中最小元素,并以此放入pp所指一维数组中。
二维数组中的数已在主函数中赋予。
{
inti,j,min,k;
for(i=0;i{min=tt[0][i];k=0;
for(j=1;jif(min>tt[j][i])
{min=tt[j][i];
k=j;
}
pp[i]=tt[k][i];
}
}
第十六套
填空:
程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的信息。
函数fun的功能是输出这名学生的信息。
1、tt2、tt.score[i]3、std
改错:
给定程序MODI1.C中函数fun的功能是:
求出数组中最大数和次最大数,并把最大数和a[0]中的数对调、次最大数和a[1]中的数对调。
1、m=0;改为m=i;
2、if(a[k]>a[m])k=m;改为if(a[k]>a[m])m=k;
程序设计题:
请编写一个函数unsignedfun(unsignedw),w是一个大于10的无符号整数,若w是n(n≥2)位的整数,函数求出w的低n-1位的数作为函数值返回。
{
inti;
for(i=1;i<=w;i*=10);
return(w%(i/10));
}
第十七套
填空:
给定程序中,函数fun的功能是:
对形参ss所指字符串中的M个字符串按长度由短到长进行排序。
ss所指字符串数组中共有M个字符串,且串长1、i+12、k=j3、t
改错:
给定程序MODI1.C中函数fun的功能是:
判断ch中的字符是否与str所指串中的某个字符相同;若相同,什么也不做,若不同,则将其插在串的最后。
1、voidfun(charstr,charch)改为
voidfun(char*str,charch)
2、if(*str==ch)改为if(*str!
=ch)
3、str[1]='0';改为str[1]=0;
程序设计题:
请编一个函数fun(char*s),函数的功能是把s所指字符串中的内容逆置。
{
charb[N];
inti=0,j;
for(j=strlen(s)-1;j>=0;j--)
b[i++]=s[j];
strcpy(s,b);
}
第十八套
填空:
给定程序中,函数fun的功能是:
求出形参ss中最长字符串的长度,其余字符串用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M个字符串,且串长1、k2、len3、ss[i][j]
改错:
给定程序MODI1.C中函数fun的功能是:
计算整数n的阶乘。
1、result*=--n;改为result*=n--;
2、return_____;改为returnresult;
程序设计题:
编写函数fun,函数的功能是:
从s所指的字符串中删除给定的字符。
同一字母的大、小写按不同字符处理。
如果输入的字符在字符串中不存在,则字符串照原样输出。
{char*p=s;
inti=0;
while(*p){
if(*p!
=c)s[i++]=*p;
p++;
}
s[i]=0;
}
第十九套
填空:
给定程序中,函数fun的功能是:
求出形参ss中最长字符串的长度,将其余字符串用字符*补齐,使其与最长的字符串等长。
ss所指字符串数组中共有M个字符串,且串长1、ss[i]2、n+j3、1
改错:
给定程序MODI1.C中fun函数的功能是:
将p所指字符串中的每个单词的最后一个字母改成大写。
(这里的“单词”是指由空格隔开的字符串)。
1、if(p=='')改为if(*p=='')
2、*(p-1)=toupper(*(p-1))改为
*(p-1)=toupper(*(p-1));
程序设计题:
请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。
{charch;
inti,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;
}
}
}
第二十套
填空:
给定程序中,函数fun的功能是:
求ss所指字符串数组中长度最长的字符串所在的行下标,作为返回值返回,并把其串长放在形参n所指变量中。
Ss所指字符串数组中共有M个字符串,且串长1、[N]2、len3、*n=len
改错:
给定程序MODI1.C中fun函数的功能是:
根据形参m,计算如下公式的值。
t=1+1/2+1/3+1/4+……+1/m
1、t+=1.0/k;改为t+=1.0/i;
2、________改为returnt;
程序设计题:
编写一个函数,该函数可以统计一个长度为2的字符串在另一个字符串中出现的次数。
{
intcnt=0;
char*p=str,*q;
while(*p){
q=strstr(p,substr);
if(q==NULL)break;
p=q+strlen(substr);
cnt++;
}
returncnt;
}
第二十一套
填空:
给定程序中,函数fun的功能是:
求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回,并把其串长放在形参n所指变量中。
Ss所指字符串数组中共有M个字符串,且串长1、M2、<3、k
改错:
给定程序MODI1.C中fun函数的功能是:
tt所指字符串中的小写字母都改为对应的大写字母,其他字符不变。
1、if((‘a’<=tt[i])||(tt[i]<=‘z’))改为
if((‘a’<=tt[i])&&(tt[i]<=‘z’))
2、tt[i]+=32;改为tt[i]-=32;
程序设计题:
请编写函数fun,其功能是:
将所有大于1小于整数m的非素数存入xx所指数组中,非素数的个数通过k传回。
voidfun(intm,int*k,intxx[])
{
inti,j;
*k=0;
for(i=2;i{for(j=2;j
if(i%j==0)
break;
if(i==j)
xx[(*k)++]=i;
}
第二十二套
填空:
给定程序中,函数fun的功能是:
将s所指字符串中的所有数字字符移动到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。
1、j++2、s[i]=t1[i]3、j
改错:
给定程序MODI1.C中fun函数的功能是:
用冒泡法对6个字符串按由小到大的顺序进行排序。
1、for(j=i+1,j<6,j++)改为
for(j=i+1;j<6;j++)
2、*(pstr+i)=pstr+j;改为
*(pstr+i)=*(pstr+j);
程序设计题:
请编写函数fun,它的功能是:
求出ss所指字符串中指定字符的个数,并返回此值。
{
intcnt=0;
char*p=ss;
while(*p){
if(*p==c)cnt++;
p++;
}
returncnt;
}
第二十三套
填空:
给定程序中,函数fun的功能是:
在形参s所指字符串中的每个数字字符之后插入一个*号。
1、&&2、03、s[j]
改错:
给定程序MODI1.C中函数fun的功能是:
根据整型形参m,计算如下公式的值。
y=1+1/(2*2)+1/(3*3)+1/(4*4)+……+1/(m*m)
1、for(i=2;ifor(i=2;i<=m;i++)
2y+=1/(i*i);改为y+=1.0/(i*i);
程序设计题:
请编写函数fun,函数的功能是:
实现B=A+A’,即把矩阵A加上A的转置,存放在矩阵B中。
计算结果在main函数中输出。
{
intc[3][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++){
c