问答题已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数fun,该函数的功能是:找出成绩最高的学生记录,通过形参返回主函数(规定只有一个最高分)。已给出函数的首部,请完成该函数。注意:部分源程序给出如下。请勿改动主函数main和其他函救个的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:
问答题下列给定程序中,函数fun()的功能是:用选择法对数组中的n个元素按从小到大的顺序进行排序。 请改正程序中的错误,使它能得到正确结果。 [注意] 不要改动main函数,不得增行或删行,也不得更改程序的结构。 [试题源程序] #include<stdio.h> #define N 20 void fun(int a[], int n) int i, j, t, p; for(j=0; j<n-1; j++) /***********found***********/ p=j for(i=j; i<n; i++) if(a[i]<a[p]) /***********found***********/ p=j; t=a[P]; a[p]=a[j]; a[j]=t; msin() int a [N]=(9, 6, 8, 3, -1), i, m=5; printf("排序前的数据:”); for(i=0; i<m; i++) printf("%d", a[i]); printf("/n"); fun(a, m); printf("排序后的数据:"); for(i=0; i<m; i++) printf("%d", a[i]); printf("/n");
问答题请编写函数fun,对长度为7个字符的字符串,除首、尾字符外,将其余5个字符按ASCII码降序排列。例如,原来的字符串为“CEAedca”,排序后输出为“CedcEAa”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#include<ctype.h>
#include<string.h>
void fun(char*s,int num)
{
}
main()
{
char s[10];
printf("输入7个字符的字符串:");
gets(s);
fun(s,7);
printf("%s",s);
}
问答题下列给定程序中,函数fun的功能是:求出如下分数列的前n项之和。和值通过函数值返回main函数。例如,若n=5,则应输出8.391667。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include<conio.h>#include<stdio.h>/********found********/fun(intn){inta,b,c,k;doubles;S=0.0;a=2;b=1;for(k=1;k<=n;k++){/********found********/s=s+(double)a/b;c=a;a=a+b;b=c;}returns;}main(){intn=5;printf("/nThevalueoffunctionis"%lf/n",fun(n));}
问答题给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
例如,有10个正数:46 30 32 40 6 17 45 1548 26,平均值为:30.500000
主函数中输出:46 32 40 45 48
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#define N 10
double fun (double x [] ,double *y)
{ int i,j; double av;
/*********found**********/
av=____1____ ;
for (i=0; iav) y [____3____] = x [i] ;
return av;
}
main ( )
{ int i; double x[Nlry[Nl;
for (i=0; i=0; 1++) printf
printf ("/n") ;
}
问答题给定程序MODI1.C中函数fun的功能是: 对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来, 并将这些学生数据存放在一个动态分配的连续存储区中, 此存储区的首地址作为函数值返回。
请改正函数fun中指定部位的错误, 使它能得出正确的结果。
注意: 不要改动main函数, 不得增行或删行, 也不得更改程序的结构!
给定源程序:
#include
#include
#include
#define N 10
typedef struct ss
{ char num[10];
int s;
} STU;
STU *fun(STU a[], int m)
{ STU b[N], *t;
int i,j,k;
t=(STU *)calloc(sizeof(STU),m)
for(i=0; i b[j].s) j=i;
t(k)=b(j);
b[j].s=0;
}
return t;
}
outresult(STU a[], FILE *pf)
{ int i;
for(i=0; i10 )
{ printf("\nGive the number of the students who have better score: ");
scanf("%d",
}
pOrder=fun(a,m);
printf("***** THE RESULT *****\n");
printf("The top :\n");
for(i=0; i
问答题请编一个函数fun,函数的功能是使实型数保留2位小数,并对第三位进行四舍五入 (规定实型数为正数)。
例如:实型数为 1234.567, 则函数返回 1234.570000;
实型数为 1234.564, 则函数返回 1234.560000。
注意: 部分源程序存在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include
float fun ( float h )
{
}
main( )
{ float a;
printf ("Enter a: "); scanf ( "%f",
printf ( "The original data is : " );
printf ( "%f /n/n", a );
printf ( "The result : %f/n", fun ( a ) );
NONO( );
}
问答题请编写函数fun,功能是:判断形参n中的正整数是几位数(输入数据的位数不超过4位),并将结果通过函数值返回。
例如:若输入的数据为123,则输出结果为:输入的数字是3位。
注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include
void NONO () ;
int fun (int n)
{
}
main()
{int n,place ;
do{
printf("请输入一个4位以内的正整数:");
scanf("%d",
for( i=0; 1<10; 1++ )
f fscanf( fp, "%d ",&n);
place= fun (n);
fprintf (wf, "%d/n",place);
}
fclose( fp) ;
fclose (wf) ;
}
问答题请编写函数fun,其功能是:计算并输出当xn
一S
n-1
| #include double fun(double x) { } NONO() {/* 请在此函数内打开文件,输入测试数 据,调用fun函数,输出数据,关闭文件。 */ FILE *rf, *wf; int i; double s, x; rf = fopen("in.dat","r"); wf = fopen("out.dat","w"); for(i = 0 ; i
问答题给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText和WriteText实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
#include
#include
#include
void WriteText(FILE *) ;
void ReadText(FILE *);
main ()
{FILE *fp;
if( (fp=fopen("myfile4.txt","w"))
==NULL)
{ printf(" open fail!!/n");
exit(0);}
WriteText(fp);
fclose (fp);
if( (fp=fopen("myfile4.txt",
"r"))==NULL)
{printf(" open fail!!/n");exit(0);}
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE 【1】)
{ char str[81];
printf("/nEnter string with -1
to end :/n");
gets(str);
while(strcmp(str,"-1")!=0) {
/********** found* *********/
fputs (【2】, fw) ;
fputs("/n",fw);
gets (str);
}
}
void ReadText(FILE *fr)
{ char str[81];
printf("/nRead file and output
to screen :/n");
fgets(str, 81,fr) ;
while(!feof(fr)) {
/********* found**********/
printf ("%s",【3】) ;
fgets(str,81,fr);
}
}
问答题
给定程序MODI1.C的功能是:读入一个整数k(2≤k≤10000),打印它的所有质因子(即所有为素数的因子)。
例如,若输入整数:2310,则应输出:2、3、5、7、11。
请改正程序中的语法错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include<stdio.h>
/**********found**********/
IsPrime(int n);
{ int i, m;
m=1;
for(i=2; i<n; i++)
/**********found**********/
if !(n%i)
{m=0; break; 1
return(m);
}
main()
{ int j, k;
printf("/nPlease enter an integer number between 2 and 10000:"); seanf("%d",
printf("/n/nThe prime factor(s)of %d is(are):", k);
for(j=2; j<=k; j++)
if((!(k%j))
printf("/n");
}
问答题给定程序中,函数fun的功能是:将形参std所指结构体数组中年龄最大者的数据作为函数值返回,并在main函数中输出。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!
给定源程序:
#include
typedef struct
{ char name[10];
int age;
}STD;
STD fun(STD std[], int n)
{ STD max; int i;
/**********found**********/
max= ___1___;
for(i=1; i
/**********found**********/
if(max.age<___2___) max=std[i];
return max;
}
main( )
{ STD std[5]={"aaa",17,"bbb",16,"ccc",18,"ddd",17,"eee",15 };
STD max;
max=fun(std,5);
printf("/nThe result: /n");
/**********found**********/
printf("/nName : %s, Age : %d/n", ___3___,max.age);
}
问答题给定程序MODI1.C中函数fun的功能是:将长整型数中每一位上为偶数的数依次取出,构成一个新数放在t中。高位仍在高位,低位仍在低位。例如,当s中的数为:87653142时,t中的数为:8642。请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!给定源程序:
问答题编写函数fun,其功能是:求出1~1000中能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。 注意:部分源程序已给出。 请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> void fun(int*a,int*n) void main() int aa[1000],n,k; system("CLS"); fun(aa,&n); for(k=0;k<n;k++) if((k+1)%10==0) printf("%5d",aa[k]);printf("/n");/*一行写9个数*/ else printf("%5d",aa[k]); printf("/n");
问答题请编写函数fun,该函数的功能是:将s所指字符串中ASCII码值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。例如,若s所指字符串中的内容为“ABCDEFGL2345”,其中字符B的ASCII码值为偶数,字符2的ASCII码值为偶数,都应当删除,其他依此类推。最后t所指的数组中的内容应是“ACEGl35”。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。试题程序:#include<stdlib.h>#include<stclio.h>#include<string.h>#include<conio.h>void fun(char*s,char t[]){)void main(){ char s[100],t[100]; system("CLS"); printf("\nPlease enter string S:"); scanf("%s",s), fun(s,t); printf("\nThe result is:%s\n",t);}
问答题下列给定程序中,函数fun的功能是:从低位开始依次取出长整型变量s中偶数位上的数,构成一个新数存放在t中。高位仍在高位,低位仍在低位。例如,当S中的数为7654321时,t中的数为642。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MOD11.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>/**********found**********/void fun(10ng s,long t){long s1=10;s=s/10;*t=s%10:while(s>0){s=s/100;*t=s%10*s1+*t;/**********found**********/s1=s1*100;}}main(){long s,t;printf(''\nPlease enter s:'');scanf(''%1d'',&s);fun(s,&t);printf(''Ihe result is:%ld\n'',t); }
问答题请编写函数fun,其功能是:将放在字符串数组中的M个字符串(每串的长度不超过N),按顺序合并组成一个新的字符串。 例如,若字符串数组中的M个字符串为{“AAAA”,“BBBBBBB”,“CC”},则合并后的字符串内容应该是“AAAABBBBBBBCC”。 注意:部分源程序给出如下。 请勿改动主函数maln和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。 试题程序:#include < stdio.h >#include < conio.h >#de fine M 3#define N 20void fun (char a[M][N],char *b){}void main(){ char W[M][N]={"AAAA","BBBBBBB","CC"); char a[100]:{"#################"); int i; printf("The string:/n"); for(i=0;i < M;i++) puts(w[i]); printf("/n"); fun(w,a); printf("The A string:/n"); printf("%s",a); printf("/n/n"); }
问答题请编写函数fun,其功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从0~p(含p,p小于等于n-1)的数组元素平移到数组的最后。
例如,一维数组中的原始内容为:1、2、3、4、5、6、7、8、9、10;p的值为3。移动后,一维数组中的内容应为:5、6、7、8、9、10、1、2、3、4。
注意
:部分源程序给出如下。
请勿改动主函数main和其他函数中的内容,仅在函数fun的花括号中填入你编写的若干语句。
试题程序:
#include<stdio.h>
#define N 80
void fun(int *w,int p,int n)
{
}
main()
{int a[N]={1,2,3,4,5,6,7,8,9,10,11,12, 13,14,15};
int i,p,n=15;
printf("The original data:/n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("/n/nEnter p:");
scanf("%d",
fun(a,p,n);
printf("/nThe data after moving:/n");
for(i:0;i=n;i++)
printf("%3d",a[i]);
printf("/n/n");
}
问答题改正下列程序中不正确的语句。
main( )
{ int a;
scanf(“%d”, a); if (a = 1) printf(“One\n”) ; }
问答题请编写函数fun,函数的功能是:移动字符串中的内容,移动的规则如下:把第1到第m个字符,平移到字符串的最后,把第m+1到最后的字符移到字符串的前部。
例如,字符串中原有的内容为:ABCDEFGHIJK,m的值为3,则移动后,字符串中的内容应该是:DEFGHIJKABC。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
给定源程序:
#include<stdio.h>
#include<string.h>
#define N 80
void fun1(char*w)/*本函数的功能是将字符串中字符循环左移一个位置*/
{
int i;chart;
t=w[0];
for(i=0;i<(int)strlen(w)-1;i++)
w[i]=w[i+1];
w[strlen(w)-1]=t;
}
void fun(char*w,int m)/*可调用fun1函数左移字符*/
{
}
main()
{char a[N]="ABCDEFGHIJK";
int m;
printf("The original string:/n");puts(a);
printf("/n/nEnter m:");scanf("%d",
fun(a,m);
printf(“/nThe string after moving:/n");puts(a);
printf("/n/n");
}