深圳网站建设公司收费标准,高速建设材料在哪个网站购买,asp.net做报名网站,网站建设 启象科技第30套#xff1a;
程序通过定义学生结构体变量#xff0c;存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b#xff0c;并修改b中的学号和姓名#xff0c;最后输出修改后的数据。例如#xff1a;a所指变量中…第30套
程序通过定义学生结构体变量存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b并修改b中的学号和姓名最后输出修改后的数据。例如a所指变量中的学号、姓名、和三门课的成绩依次是10001、“ZhangSan”、95、80、88则修改后输出b中的数据应为10002、“LiSi”、95、80、88。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#include string.h
struct student {
long sno;
char name[10];
float score[3];
};
void fun(struct student a)
{ struct student b; int i;
b __1__;
b.sno 10002;
strcpy(__2__, LiSi);
printf(\nThe data after modified :\n);
printf(\nNo: %ld Name: %s\nScores: ,b.sno, b.name);
for (i0; i3; i) printf(%6.2f , b.__3__);
printf(\n);
}
main()
{ struct student s{10001,ZhangSan, 95, 80, 88};
int i;
printf(\n\nThe original data :\n);
printf(\nNo: %ld Name: %s\nScores: ,s.sno, s.name);
for (i0; i3; i) printf(%6.2f , s.score[i]);
printf(\n);
fun(s);
} 解题思路 本题是对结构体变量中的值进行修改。 第一处要修改的结构体变量是由形参a来传递的所以应填a。 第二处对结构体中的成员name进行替换所以应填b.name。 第三处分别输出结构体中的成绩所以应填score[i]。 给定程序MODI1.C中函数fun的功能是从s所指字符串中删除所有小写字母c。 请改正程序中的错误使它能计算出正确的结果。 注意不要改动 main 函数不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
void fun( char *s )
{ int i,j;
for(ij0; s[i]!\0; i)
if(s[i]!c)
s[j]s[i];
s[i]\0;
}
main()
{ char s[80];
printf(Enter a string: ); gets(s);
printf(The original string: ); puts(s);
fun(s);
printf(The string after deleted : ); puts(s);printf(\n\n);
} 解题思路 第一处: 新字符串的位置值是由变量j来控制的但程序中字符赋值后没有对j进行增量的语句所以应改为s[j]s[i];。 第二处: 对新字符串添加字符串结束符由于程序中使用变量j对新字符串来控制的所以应改为s[j]0;。 假定输入的字符串中只包含字母和号。请编写函数fun它的功能是将字 符串中的前导号全部移到字符串的尾部。函数fun中给出的语句仅供参考。 例如字符串中的内容为ABCDEFG移动后,字符串中的内 容应当是ABCDEF*G***********。在编写函数时, 不得使用C语言提供的字符串函数。 注意: 部分源程序在文件PROG1.C文件中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入你编写的若干语句。 给定源程序
#include stdio.h
void fun( char *a )
{
char *p,*q;
int n0;
pa;
while(*p*) /* 统计串头*个数n */
{n; p;}
qa;
/* 向前复制字符串请填写相应的语句完成其功能 */
for(;n0;n--) /* 在串尾补n个* */
*q*;
*q\0;
}
main()
{ char s[81],*p; int n0;
printf(Enter a string:\n);gets(s);
fun( s );
printf(The string after moveing:\n);puts(s);
NONO();
} 解题思路 本题是考察字符串的移动。具体操作请看参考源程序。 参考答案
void fun( char *a )
{
char *p,*q;
int n0;
pa;
while(*p*) /* 统计串头*个数n */
{n; p;}
qa;
/* 向前复制字符串请填写相应的语句完成其功能 */
while(*p) {
*q*p;
p;q;
}
for(;n0;n--) /* 在串尾补n个* */
*q*;
*q\0;
}