网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。

请修改程序中的错误,使它能得到正确结果。

注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。

试题程序:


参考答案

更多 “ 下列给定程序中,函数proc()的功能是:对M名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请修改程序中的错误,使它能得到正确结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序: ” 相关考题
考题 下列给定程序中,函数fun()的功能是:对N名学生的学习成绩,按从低到高的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:include <conio.h>include <string.h>include <stdio.h>include <alloc.h>define N 10typedef struct SS{char num[10];int s;}STU;STU *fun(STU a[],int m){STU b[N],*t;int i, j,k;/*************found*************/*t=calloc(m,sizeof(STU));for(i=0;i<N;i++)b[i]=a[i];for(k=0;k<m;k++){/*************found*************/for(i=j=0;i<N;j++)if(b[i].s<b[j],s)j=i;/*************found*************/t[k].s=b[j].s;b[j].s=100;}return t;}outresult(STU a[],FILE *pf){int i;for(i=0;i<N;i++)fprintf(pf,"NO=%S Mark=%d\n",a[i].num,a[i].S);fprintf(pf,"\n\n");}main(){STU a[N]={{“A01”,77},{“A02”,85},{“A03”,96},{“A04”,65},{“A05”,75},{“A06”,96},{“A07”,76},{“A08”,63},{“A09”,69},{“A10”,78}};STU *porder;int i,m;clrscr();printf(“*****THE RESULT*****\n”);outresult(a,stdout);printf(“\nGive the number of the students who have lower score:”);scanf(“%d”,m);while(m>10){printf(“\nGive the number of the students who have lower score:”);scanf(“%d”,m);}porder=fun(a,m);printf(“*****THE RESULT*****\n”);printf(“The low:\n”);for(i=0;i<m;i++)printf(“%s %d\n”,porder[i].num,porder[i].s);free(porder);}

考题 下列给定程序中,函数proc的功能是计算正整数m 各位上数字的平方和。例如,输入498,则输出应该是161。请修改程序中的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。试题程序:includestdlib.hincludestdio.hincludeconio.hlong proc(10ng m){//****found****long sum=1;do{sum+=(m%10)*(m%10);m/=l0;//****found****}while(m)return(sum);}void main{long n;system("CLS");printf("Please enter a number:");scanf("%1d",n);printf("\n%ld\n",proc(n));}

考题 给定程序中,函数proc的功能是:使数组中的元素的值缩小5倍。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: includestdlib.h includestdio.h includeeonio.h float m[10]; //****found**** int proc(void) { int j; printf("In subfunc after calling\n"); for(j=0;j10;j++) { //****found**** printf("%f",m[j]%5); } } void main { int i; printf("In main before calling\n"); for(i=0;i10;i++) { m[i]=i+20; printf("%f",m[i]); } proc; printf("\nln main after calling\n"); for(i=0;i10;i++) printf("%f",m[i]/5); }

考题 下列给定程序中,函数proc的功能是找出100~m(m 不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,个数作为函数值 返回。 请修改程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: includestdio.h define M 1000 int proc(int*S.int n) { int i,j,k,a,b,c; j=0; for(i=100;in;i++) { //****found**** k=n: a=k%10; k/=10; b=k%10; c=k/10; if(a==b+c) //****found**** s[j]=i: } return j; } void main { int a[M],m,num=0,i; do { printf("\nEnter m(=1000):"); scanf("%d",&m); } while(m1000); num=proc(a,m); printf("\n\nThe result:\n"); for(i=0;inum;i++) printf("%5d",a[i]); printf("\n\n"); }

考题 某校按字母A到Z的顺序给班级编号,按班级编号加01、02、03……给每位学生按顺序定学号,若A~K班级人数从15人起每班递增1名,之后每班按编号顺序递减2名,则第256名学生的学号是多少?( )A.M12B.N11C.N10D.M13

考题 给定程序MODll.C中函数fun的功能是:对N名学生的学习成绩,按从高到低的顺序找出前m(m≤10)名学生来,并将这些学生数据存放在一个动态分配的连续存储区中,此存储区的首地址作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

考题 下列给定程序中,函数proc()的功能是:判断一个整数m是否是素数,若是返回1,否则返回0。在main()函数中,若proc()返回1,则输出″YES″;若proc()返回0,则输出″NO″!请修改程序中的错误,使它能得出正确的结果。注意:不要改动main)函数,不得增行或删行,也不得,t更改程序的结构。试题程序:

考题 下列给定程序中,函数proc()的功能是:根据形参m(2≤m≤9)的值,在m行m列的二维数组中存放如下所示的数据,由main()函数输出。请修改程序中的错误,使它能得出正确的结果。注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。试题程序:

考题 某校按字母A到Z的顺序给班级编号,按班级编号加01、02、03,…,给每位学生按顺序定学号,若A-K班级人数从15人起每班递增1名,之后每班按编号顺序递减2名,则第256名学生的学号是多少?( ) A. M12 B. N11 C. N10 D. M13