湖南网站托管,重庆网站建设哪个平台好,贵州省新闻联播,建设一个网站需要哪方面的费用更多干货推荐可以去牛客网看看#xff0c;他们现在的IT题库内容很丰富#xff0c;属于国内做的很好的了#xff0c;而且是课程刷题面经求职讨论区分享#xff0c;一站式求职学习网站#xff0c;最最最重要的里面的资源全部免费#xff01;#xff01;#xff01;点击进… 更多干货推荐可以去牛客网看看他们现在的IT题库内容很丰富属于国内做的很好的了而且是课程刷题面经求职讨论区分享一站式求职学习网站最最最重要的里面的资源全部免费点击进入--------------》跳转接口 更多干货推荐可以去牛客网看看他们现在的IT题库内容很丰富属于国内做的很好的了而且是课程刷题面经求职讨论区分享一站式求职学习网站最最最重要的里面的资源全部免费点击进入--------------》跳转接口 第97套
函数fun的功能是逆置数组元素中的值。例如若a所指数组中的数据依次为1、2、3、4、5、6、7、8、9则逆置后依次为9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
void fun(int a[], int n)
{ int i,t;
for (i0; i___1___; i)
{
ta[i];
a[i] a[n-1-___2___];
___3___ t;
}
}
main()
{ int b[9]{1,2,3,4,5,6,7,8,9}, i;
printf(\nThe original data :\n);
for (i0; i9; i)
printf(%4d , b[i]);
printf(\n);
fun(b, 9);
printf(\nThe data after invert :\n);
for (i0; i9; i)
printf(%4d , b[i]);
printf(\n);
} 解题思路 第一处利用for循环语句对数组中的各元素进行逆置所以终止值为n/2。 第二处进行交换数组中元素的值由于是依次是首和尾交换所以应填i。 第三处使用中间变量t来交换的所以应填a[n-i-1]。 给定程序MODI1.C中函数fun的功能是将一个由八进制数字字符组成的字符串转换为与其面值相等的十进制整数。规定输入的字符串最多只能包含5位八进制数字字符。 例如若输入77777则输出将是32767。 请改正程序中的错误使它能得出正确结果。 注意不要改动main函数不得增行或删行也不得更改程序的结构。 给定源程序
#include stdio.h
int fun( char *p )
{ int n;
n *P-o;
p;
while( *p!0 ) { nn*8*P-o; p;
}
return n;
}
main()
{ char s[6]; int i; int n;
printf(Enter a string (Ocatal digits): ); gets(s);
if(strlen(s)5){ printf(Error: String too longer !\n\n);exit(0); }
for(i0; s[i]; i)
if(s[i]0||s[i]7)
{ printf(Error: %c not is ocatal digits!\n\n,s[i]);exit(0); }
printf(The original string: ); puts(s);
nfun(s);
printf(\n%s is convered to integer number: %d\n\n,s,n);
} 解题思路 第一和第二处p错写成P‘0’错写成’o’。 学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun,它的功能是函数返回指定学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串给成绩置-1作为函数值返回。用于字符串比较的函数是strcmp。 注意: 部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序
#include stdio.h
#include string.h
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
STREC fun( STREC *a, char *b )
{
}
main()
{ STREC s[N]{{GA005,85},{GA003,76},{GA002,69},{GA004,85}, {GA001,91},{GA007,72},{GA008,64},{GA006,87}, {GA015,85},{GA013,91},{GA012,64},{GA014,91}, {GA011,77},{GA017,64},{GA018,64},{GA016,72}};
STREC h;
char m[10];
int i;FILE *out ;
printf(The original data:\n);
for(i0; iN; i)
{ if(i%40) printf(\n);
printf(%s %3d ,s[i].num,s[i].s);
}
printf(\n\nEnter the number: );gets(m);
hfun( s,m );
printf(The data : );
printf(\n%s %4d\n,h.num,h.s);
printf(\n);
out fopen(c:\\test\\out.dat,w) ;
hfun(s,GA013);
fprintf(out,%s %4d\n,h.num,h.s);
fclose(out);
} 解题思路 本题是从学生记录体中找出给定的学号。具体操作请看答案程序中的说明。 参考答案
STREC fun( STREC *a, char *b )
{
STREC c ;
int i ;
c.num[0] \0 ; /* 置初始空串 */
c.s -1 ; /* 置成绩为-1 */
for(i 0 ; i N ; i)
if(strcmp(a[i].num, b)0) { /* 判断学号是否相等 */
strcpy(c.num, a[i].num) ; /* 相等则对学号进行赋值 */
c.sa[i].s; /* 相等则对成绩进行赋值 */
break ; /* 退出循环体 */
}
return c ; /* 返回结构体变量 */
}