fwrite(student,【20】,1,fp);
【参考答案】:
【20】 sizeof(struct st)*50
上机部分
一、填空题
给定程序中,函数fun的功能是:找出N×N矩阵中每列元素中的最大值,并按顺序依次存放于形参b所指的一维数组中。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!
#include< stdio.h="">
#define N 4
void fun(int(*a)[N],int *b)
{
int i,j;
for(i=0; i
{
b[i]= 1 ;
for(j=1;j<>
if(b[i] 2 a[j][i])
b[i]= a[j][i];
}
}
main()
{
int x[N][N]={{12,5,8,7},{6,1,9,3},
{1,2,3,4},{2,8,4,3}},y[N],i,j;
printf('\nThe matrix :\n');
for(i=0;i<>
{
for(j=0; j
printf('%4d',x[i][j]);
printf('\n');
}
fun( 3 );
printf('\nThe result is:');
for(i=0; i
printf('\n');
}
【答案及解析】
(1)b是一维数组,存放N×N矩阵中每列元素中的最大值,循环开始,第i列的b[i]应该首先赋值为每列的第一个元素a[0][i],再循环与本列其他元素比较,最后找出每列元素中的最大值。因此空1中应该填入:a[0][i]。(2)for(j=1;j<><><>< =。(3)空3是调用函数fun,由上下文可知,应该填入:x,="">
二、改错题
给定程序中,函数fun的功能是:求出s所指字符串中最后一次出现的t所指子字符串的地址,通过函数值返回,在主函数中输出从此地址开始的字符串;若未找到,则函数值为NULL。
例如,当字符串中的内容为“abcdabfabcdx”、t中的内容为“ab”时,输出结果应是abcdx。当字符串中的内容为“abcdabfabcdx”、t中的内容为“abd”时,则程序输出未找到信息not be found!。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include< stdio.h="">
#include< string.h="">
char *fun(char *s,char *t)
{
char *p,*r,*a;
a=Null;
while(*s)
{
p=s;r=t;
while(*r)
if(r==p)
{r++;p++;}
else break;
if(*r=='\0') a=s;
s++;
}
return a ;
}
main()
{
char s[100],t[100],*p;
printf('\nPlease enter string S :');
scanf('%s',s);
printf('\nPlease enter substring t :');
scanf('%s',t);
p=fun(s,t);
if(p) printf('\nThe result is :%s\n',p);
else printf('\nNot found !\n');
}
【答案及解析】
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。