企业网站建设维护,合肥房产网安居客,公司地址怎么注册定位,唐山建设局网站 存量房 合同更多干货推荐可以去牛客网看看#xff0c;他们现在的IT题库内容很丰富#xff0c;属于国内做的很好的了#xff0c;而且是课程刷题面经求职讨论区分享#xff0c;一站式求职学习网站#xff0c;最最最重要的里面的资源全部免费#xff01;#xff01;#xff01;点击进… 更多干货推荐可以去牛客网看看他们现在的IT题库内容很丰富属于国内做的很好的了而且是课程刷题面经求职讨论区分享一站式求职学习网站最最最重要的里面的资源全部免费点击进入--------------》跳转接口 更多干货推荐可以去牛客网看看他们现在的IT题库内容很丰富属于国内做的很好的了而且是课程刷题面经求职讨论区分享一站式求职学习网站最最最重要的里面的资源全部免费点击进入--------------》跳转接口 第99套
函数fun的功能是将形参a所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n中存放数组中数据的个数若n为奇数则中间的元素不动。 例如若a所指数组中的数据依次为1、2、3、4、5、6、7、8、9则调换后为6、7、8、9、5、1、2、3、4。 请在程序的下划线处填入正确的内容并把下划线删除使程序得出正确的结果。 注意源程序存放在考生文件夹下的BLANK1.C中。 不得增行或删行也不得更改程序的结构 给定源程序
#include stdio.h
#define N 9
void fun(int a[], int n)
{ int i, t, p;
p (n%20)?n/2:n/2___1___;
for (i0; in/2; i)
{
ta[i];
a[i] a[p___2___];
___3___ t;
}
}
main()
{ int b[N]{1,2,3,4,5,6,7,8,9}, i;
printf(\nThe original data :\n);
for (i0; iN; i) printf(%4d , b[i]);
printf(\n);
fun(b, N);
printf(\nThe data after moving :\n);
for (i0; iN; i) printf(%4d , b[i]);
printf(\n);
} 解题思路 第一处如果n是奇数则中间的元素不动所以应填1。 第二处使用for循环语句来交换数组元素的值所以应填i。 第三处使用中间变量t来交换的所以应填t。 给定程序MODI1.C中函数fun的功能是把主函数中输入的3个数最大的放在 a中最小的放在c中中间的放在b中。 例如输入的数为55 12 34 输出结果应当是a55.0 , b34.0 , c12.0。 请改正程序中的错误使它能得出正确结果。 注意不要改动main函数不得增行或删行也不得更改程序的结构。 给定源程序
#include stdio.h
void fun(float *a,float *b,float *c)
{
float *k;
if( *a*b )
{ k*a; *a*b; *bk; }
if( *a*c )
{ k*c; *c*a; *ak; }
if( *b*c )
{ k*b; *b*c; *ck; }
}
main()
{ float a,b,c;
printf(Input a b c: ); scanf(%f%f%f,a,b,c);
printf(a %4.1f, b %4.1f, c %4.1f\n\n,a,b,c);
fun(a,b,c);
printf(a %4.1f, b %4.1f, c %4.1f\n\n,a,b,c);
} 解题思路 第一处在函数fun体中k是一个浮点型变量所以应改为float k;。 第二处三个数比较大小第1个条件是第1个比第2个小则交换。第3个条件是第2个比第3个小则也交换。第2个条件是应该第1和第3个小则交换就符合题意了所以应改为 if(*a*c)。 学生的记录由学号和成绩组成N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun它的功能是把分数最高的学生数据放在b所指的数组中,注意分数最高的学生可能不止一个函数返回分数最高的学生的人数。 注意: 部分源程序在文件PROG1.C中。 请勿改动主函数main和其它函数中的任何内容仅在函数fun的花括号中填入 你编写的若干语句。 给定源程序
#include stdio.h
#define N 16
typedef struct
{ char num[10];
int s;
} STREC;
int fun( STREC *a, STREC *b )
{
}
main()
{ STREC s[N]{{GA05,85},{GA03,76},{GA02,69},{GA04,85}, {GA01,91},{GA07,72},{GA08,64},{GA06,87}, {GA015,85},{GA013,91},{GA012,64},{GA014,91}, {GA011,77},{GA017,64},{GA018,64},{GA016,72}};
STREC h[N];
int i,n;FILE *out ;
nfun( s,h );
printf(The %d highest score :\n,n);
for(i0;in; i)
printf(%s %4d\n,h[i].num,h[i].s);
printf(\n);
out fopen(c:\\test\\out.dat,w) ;
fprintf(out, %d\n,n);
for(i0;in; i)
fprintf(out, %4d\n,h[i].s);
fclose(out);
} 解题思路 本题是找出最高成绩再把N名学生的成绩等于最高成绩的记录存入b所指的数组中。具体 操作请看答案程序中的说明。 参考答案
int fun( STREC *a, STREC *b )
{
int i, max a[0].s, n0;
for(i 1; i N; i)
if(max a[i].s) max a[i].s ; /* 找出最高成绩 */
for(i 0; i N; i)
if(maxa[i].s) b[n] a[i] ; /* 找相等的最高成绩并存入数组b中 */
return n; /* 返回符合条件的人数 */
}