问答题

学生的记录由学号和成绩组成,M名学生的数据已在主函数中放人结构体数组stu中,请编写函数proc(),它的功能是:把指定分数范围之外的学生数据放在b所指的数组中,分数范围之外的学生人数由函数值返回。
例如,输入的分数是70和79,则应当把分数低于70和高于79的学生数据输出,不包含70分和79分的学生数据。主函数中把70放在low中,把79放在heigh中。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
#include<stdio.h>
#define M 16
typedef struct
{
char num[10];
int s:
}
STREC;
int proc(STREC*a,STREC*b,int 1,int h)
{ }
void main()
{
STREC stu[M]={{"GA005",55),{"GA003",96},
{"GA002",80),{"GA004",68),
{"GA001",88},{"GA007",74},
{"GA008",85),{"GA006",89},
{"GA015",90),{"GA013”,53),
{"GA012",66},{"GA014”,82),
{"GA011",73},{"GA017",69),
{"GA018",64),{"GA016",86}};
STREC h[M];
int i,n,low,heigh,t;
printf("Enter 2 integer number low&
heigh:");
scanf("%d%d",&low,&heigh);
if(heigh<low) ’
{
t=heigh:
heigh=low;
low=t;
}
n=proc(stu,h,low,heigh);
printf("The student’S data out
%d--%d:\n",low,heigh);
for(i=0;i<n;i++)
printf("%S%4d\n",h[i].num,h[i].s);
//输出指定分数范围内的学生记录
printf("\n");
}

【参考答案】

int proc(STREC*a,STREC*b,int l,int h) {

int i,j=0;

for(i=0;i<M;i++)

if((a[i].s>=0&&a[i].s<1)||(a[i].s>h&&a

[i].s<=l00)) //通过if语句,来判断指定范围

之外的数

b[j++]=a[i];//放到b数组中

return j; //最后把其个数返回到主函数中 } 【解析】题目要求把指定范围之外的数放到b 中,将每一个学生的成绩与指定的成绩相比较,将符合条件的学生成绩放在数组b中,并将符合要求的学生个数返回给主函数。

(↓↓↓ 点击下方‘点击查看答案’看答案解析 ↓↓↓)

相关考题

问答题 请编一个函数void proc(int ttEM][N],int pp[N]),tt 指向一个M行N列的二维数组,求出二维数组每行中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> #include<conio.h> #include<stdlib.h> #define M 3 #define N 4 void proc(int ttrM3rN]。int pp[N]) {} void main() { int str[M][N]={ {34,56,84,78}, {23,84,93,12), {28,38,39,93}}; int p[N],i,j,k; system("CLS"); printf("The riginal data is:\n"); for(i=0;i<M;i++) { for(j=0;j<N;j++) printf("%6d",str[i][j]); printf("\n"); } proc(str,p); printf("\nThe result is:\n");for(k=0:k<M;k++) printf("%4d",p[k]); printf("n");}

问答题 请编写一个函数proc(),它的功能是:求出1~m(含m) 能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。 例如,若传给m的值为70,则程序输出: 7 11 14 21 22 28 33 35 42 44 49 55 56 63 66 70 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。 试题程序: #include<stdlib.h> #include<conio.h> #include<stdio.h> #define N 100 void proc(int m,int*a,int*n) {} void main() { int arr[N],n,k; system("CLS"); proc(70,arr,&n); for(k=0;k<n;k++) if((k+1)%20==0)//每行输出20个数 { printf("%4d",arr[k]); printf("\n"); } else printf("%4d",arr[k]); printf("\n"); }

判断题 动火作业可以不办理动火许可证。( )

问答题 下列给定程序中,函数ptoc()的功能是:利用插入排序法对字符串中的字符按从小到大的顺序进行排序。插入法的基本方法是:先对字符串中的头两个元素进行排序,然后把第3个字符插入前两个字符中,插入后前3个字符依然有序;再把第4个字符插入前三个字符中,待排序的字符串已 在主函数中赋予。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include<strin9.h> #include<stdi0.h> #define M 80 void proc(char*arr) { int i,j,n;char ch; n=strlen(arr): for(i=1;i<n;i++) //****found**** { c=arr[i]; j=i-1; while((j>=o)&&(ch<arr[j])) { arr[j+1]=arr[j]; j--; } arr[j+1]=ch; } } void main() { char a[M]="QWERTYUIOPASDFGHJKLMNBVCXZ"; printf("The original string:%s\n",a); proc(a); printf("The string after sortin9: %s\n\n",a); }

问答题 请编写函数proc(),该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一维数组中,一维数组中数据的个数存放在形参n所指的存储单元中。 例如,若二维数组中的数据为 13 23 33 43 14 24 34 44 15 25 35 45 则一维数组中的内容应该是13 23 33 43 14 24 34 44 15 25 35 45。 注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填入所编写的若干语句。 试题程序: #include<stdio.h> void proc(int(*s)[103,int*b,int*n,int rain.int nn) {} void main() { int arr[10][10]={{33,33,33,33),{44,44,44,44}, {55,55,55,55}),i,j; int a[l00]={o),n=o; printf("The matrix:\n"); for(i=0;i<3;i++) { for(j=0;j<4;j++) printf("%3d",arr[i][j]): printf("\n"); } proc(arr,a,&n,3,4): printf("The A array:\n"); for(i=0;i<n;i++) printf("%3d",a[i]): printf("\n\n"); }

问答题 使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类并不完整,按要求完成下列操作,将类 的定义补充完整,使得程序的输出结果为21。 (1)增加静态私有变量Num,类型为int,请在注释1后添加适当的语句。 (2)增加静态变量Num并初始化为10,请在注释2后添加适当的语句。 (3)完成静态函数get的定义,请在注释3后添加适当的语句。 (4)完成对象obj对静态函数get的调用,使得输出结果 为21,请在注释4后添加适当的语句。 注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。 试题程序: #include<iostream.h> classTC { //********1******** intOwn; public: TC(inti) { Own=i; } //********2******** { returnNum+obj->Own; } }; //********3******** intmain() { TCobj(11); //********4******** cout<<<<endl: return0; }

判断题 建立限期反馈机制,对于数据需求申请,平台管理部门应于3个工作日内完成申请规范性审查,并通过平台回复受理意见,不予受理的应回复原因;由平台直接提供的数据,应于受理后3个工作日内提供;由部门受理的数据,数据提供部门应在受理后10个工作日内完成审批。( )

问答题 使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正其中的错误,使程序正常运行,即使程序在屏幕输出以下类似内容: 0012FF6810012FF3C5 0012FF6C20012FF444 0012FF7030012FF4C3 0023FF7440012FF542 0012FF7850012FF5C1 006AFDCC~006AFDEF数据可能因为机器的不同,程序输出的内容会有差异。只要相差为4的连续地址即可。 注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。 试题程序: #include<iostream> usingnamespacestd; intmain() { int*P,a[5]={1,2,3,4,5}; double*q,b[5]={5.0,4.0,3.0,2.0,1.0); intx; P=a; q=b; //********error******** for(x=0;x<=5;X++) //********error******** cout<<p+X<<""<<(p+x)<<""<<q+X<<""<< (q+x)<<endl; return0; }

判断题 国务院办公厅印发《进一步深化“互联网+政务服务”推进政务服务“一网、一门、一次”改革实施方案》,其中一网是政务服务“一网通办”、一门、一次分别是企业群众办事“只进一扇门”、“最多跑一次”。( )

判断题 当前,我国森林的三大灾害是森林病虫害、乱砍滥伐和森林火灾。( )