江苏省高校计算机等级考试二级C语言上机真题模拟的答题要点 联系客服

发布时间 : 星期日 文章江苏省高校计算机等级考试二级C语言上机真题模拟的答题要点更新完毕开始阅读

资料仅供参考

b[j]是否num的因子,直到b[j]不能整除num */

{ num=num/b[j]; a[i++]=b[j]; } j++; }

*count=i; } int main()

{ int a[20],n,i,count;

printf(\ scanf(\

if(!prime(n)&&n>0) //原题说明:合数不是质数:!prime(n)&&n>0

{ fun(a,n,&count); //3、函数调用时实参出错:a[20],n,count→a,n,&count,其中a和count调用后要求返回

printf(\ //4、连续输出,错误是printf(\

for(i=1;i

else printf(\

资料仅供参考

getch(); return 0; }

【编程题解题思路】

此题解题思路是熟悉结构体的的操作:结构体赋值与普通变量和普通数组赋值与引用类同,惟一区别的是对结构体成员赋值方式是: a.score=90; strcpy(a.num, \,主函数中引用分别为c[i].num,c[i].name,c[i].score。

注意结构体成员与链式结构体成员赋值方式是有区别的,此时“.”改为“->”。

排序采用简单汽泡升序法,不建议采用选择法、双向汽泡法等。

其次是,需要知道库函数所需要的相应的头文件名,下面一一予以注释。

【编程题解答:myf2.c】

#include

#include //库函数exit(0)需要 #include //库函数getch()需要 #define M 3 #define N 4 struct student

资料仅供参考

{ char num[20],name[20]; /*学号、姓名*/ float score; /*课程成绩*/ };

void merge(struct student a[], int ma, struct student b[], int mb, struct student c[])

{ struct student temp; int i,j,k=0;

for(i=0;i

c[k++]=a[i];

for(i=0;i

c[k++]=b[i];

for(i=0;i<=k-1;i++) //采用简单汽泡排序法进行对结构体数组c升序排列

for(j=0;j

if(c[j].score>c[j+1].score) {temp=c[j];c[j]=c[j+1];c[j+1]=temp; }

}

void main() {

struct

student student

a[M]={\

struct

资料仅供参考

b[N]={\,\

struct student c[10]; FILE *fp; int i;

if((fp=fopen(\ { printf(\open the file!\exit (0);}

merge(a,M,b,N,c); for(i=0;i

printf(\ %f\printf(fp, c[i].score);

printf(\number is:1292340\\n\

fclose(fp); /*操作结束,关闭文件fp 书P334 */ getch(); }

\

%f\