网站制作公司 深圳,成立一个做网站的公司,58同城网站招聘怎么做,甘孜网站建设第25套#xff1a;
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入 结构体数组std中#xff0c;且编号唯一。函数fun的功能是#xff1a;找出指定编号人员的数据#xff0c; 作为函数值返回,由主函数输出,若指定编号不存在#xff0c;返回数据中的…第25套
人员的记录由编号和出生年、月、日组成,N名人员的数据已在主函数中存入 结构体数组std中且编号唯一。函数fun的功能是找出指定编号人员的数据 作为函数值返回,由主函数输出,若指定编号不存在返回数据中的编号为空串。请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include string.h
#define N 8
typedef struct
{ char num[10];
int year,month,day ;
}STU;
___1___ fun(STU *std, char *num)
{ int i; STU a{,9999,99,99};
for (i0; iN; i)
if( strcmp(___2___,num)0 )
return (___3___);
return a;
}
main()
{ STU std[N]{ {111111,1984,2,15},{222222,1983,9,21},{333333,1984,9,1},
{444444,1983,7,15},{555555,1984,9,28},{666666,1983,11,15},
{777777,1983,6,22},{888888,1984,8,19}};
STU p; char n[10]666666;
pfun(std,n);
if(p.num[0]0)
printf(\nNot found !\n);
else
{ printf(\nSucceed !\n );
printf(%s %d-%d-%d\n,p.num,p.year,p.month,p.day);
}
} 解题思路 本题是要求从给定的人员数据中找出编号相同的记录数据。 第一处从返回值来看是返回一个结构型的值所以应填STU。 第二处判断结构变量中的编号num是否相等所以应填stu[i].num。 第三处返回编号相等的记录值所以应填std[i]。 给定程序MODI1.C中函数fun的功能是从s所指字符串中找出与t所指字符串相同的子串的个数作为函数值返回。 例如当s所指字符串中的内容为“abcdabfab”t所指字符串的内容为 “ab”则函数返回整数3。 请改正程序中的错误使它能得出正确的结果。 注意不要改动main 函数不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include string.h
int fun (char *s, char *t)
{
int n; char *p , *r;
n 0;
while ( *s )
{ p s; r t;
while ( *r )
if ( *r *p ) {
r; p
}
else break;
if ( r \0 )
n;
s;
}
return n;
}
main()
{
char s[100], t[100]; int m;
printf(\nPlease enter string S:); scanf(%s, s);
printf(\nPlease enter substring t:); scanf(%s, t);
m fun( s, t);
printf(\nThe result is: m %d\n, m);
} 解题思路 第一处语句后缺少分号。 第二处判断r的当前字符是否是字符串结束符所以应改为if(*r0)。 函数fun的功能是将s所指字符串中ASCII值为偶数的字符删除串中剩余字 符形成一个新串放在t所指的数组中。 例如若s所指字符串中的内容为“ABCDEFG12345”其中字符B的ASCII码值 为偶数、…、字符2的ASCII码值为偶数、… 都应当删除,其它依此类推。最后t所指的数组中的内容应是“ACEG135”。 注意: 部分源程序存在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
#include string.h
void fun(char *s, char t[])
{
}
main()
{
char s[100], t[100];
printf(\nPlease enter string S:); scanf(%s, s);
fun(s, t);
printf(\nThe result is: %s\n, t);
NONO();
} 解题思路 本题是从一个字符串按要求生成另一个新的字符串。我们使用for循环语句来解决这个问题。 参考答案
void fun(char *s, char t[])
{
int i, j 0 ;
for(i 0 ; i strlen(s); i) if(s[i] % 2) t[j] s[i] ;
t[j] 0 ;
}