发布时间 : 星期日 文章江苏省高校计算机等级考试二级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 资料仅供参考 { 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\