为世纪教育www.greatc.cn4月上机考试题库改错题 Int 1, m >data-rando%on S->next=p->next, printf("***** The Original data ****n); p->nexts P-p outresult(a, stdout) printf("n Give the number of the students who have better /**********found***********/ return p, while( m>10) outlink(NODE·h) i printf("\nGive the number of the students who have better NODE "p ") scanf("%d", &m) printf("n\nTHE LIST nn HEAD"); while(p) pOrderfun(a, m); i printf("->%d",p->data); printf("***** THE RESULT*****n"); intf("The for(F=0,<m,计+) printf("n"); printf(" %s %d\n" pOrder[]. num, pOrder[].): i i NODE*head head=Creatlink(8, 22) 29、给定程序MODC中函数fun的功能是:判断一个整 数是否是素数,若是返回1,否则返回0 在mnO函数中,若fn返回1输出YES,若fun返回 0输出NO!。 31、给定程序 MODILC中函数fun的功能是:根据整型形 请改正程序中的错误,使它能得出正确的结果 参n,计算如下公式的值。 注意:不要改动main函数。不得增行或删行,也不得 更改程序的结构! A1=1,A2 #include <stdio. h> 1+A411+A2 1+A1 int fun( int m 例如,若n=10,则应输出:0617977。 i int k=2 请改正程序中的语法错误,使它能得出正确的结果。 while(k<=m &&(m%k)) 注意:不要改动main函数,不得增行或删行,也不得 事幸率布布 更改程序的结构! k++ #include <stdio h> 你率率率布事率事春市 found·事率事春摩率和事 /率率布事率事布* found*本布事率/ if(m=k) int fun( int n) se return 0. 事枣* found*率事事事事春布事率事/ A=1.0(1+A), printf("nPlease enter n: ) scanf( " %d",&n ) if( fun( n))printf("YES In") else printf("NO! \ n"); i int n: printf("plEase enter n: " scanf("%d",&n 30、给定程序 MODILO中的函数 Creatlink的功能是创建带 printf("A%d=%fn,n, fun(n)) 头结点的单向链表,并为各结点数据域赋0到m-1的值。 请改正函数 Creatlink中指定部位的错误,使它能得出 正确的结果 32、给定程序 MODILO中函数fun的功能是:依次取出字 注意:不要改动main函数,不得增行或删行,也不得更符串中所有数字字符,形成新的字符串,并取代原字符串。 改程序的结构 请改正函数fun中指定部位的错误,使它能得出正确的 #include <stdio h> 结果 #include <stdlib. h> 注意:不要改动main函数,不得增行或删行,也不得更 typedef struct a 改程序的结构! i int data #include <stdio h> void fun(char·s) NODE, NODE"Creatlink(int n, int m) t NODE *h=NULL, *p, *s, ifs[=0&&s[=9) Int found事率率率布事事*率/ p=(NODE )malloc(sizeof(NODE)); /率事事事事* found事序*率事事 p->next=NULL, } for(i=1;i<=n;计+) mainO t S=(NODE")malloc(sizeof(NODE)), f char item[80]宏为世纪教育 www.greatc.cn 4 月上机考试题库 改错题 8 int i, m; printf("***** The Original data *****\n"); outresult(a, stdout); printf("\nGive the number of the students who have better score: "); scanf("%d",&m); while( m>10 ) { printf("\nGive the number of the students who have better score: "); scanf("%d",&m); } pOrder=fun(a,m); printf("***** THE RESULT *****\n"); printf("The top :\n"); for(i=0; i<m; i++) printf(" %s %d\n",pOrder[i].num , pOrder[i].s); free(pOrder); } 29、给定程序 MODI1.C 中函数 fun 的功能是:判断一个整 数是否是素数,若是返回 1,否则返回 0。 在 main()函数中,若 fun 返回 1 输出 YES,若 fun 返回 0 输出 NO!。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数。不得增行或删行,也不得 更改程序的结构! #include <stdio.h> int fun ( int m ) { int k = 2; while ( k <= m && (m%k)) /************found************/ k++ /************found************/ if (m = k ) return 1; else return 0; } main( ) { int n; printf( "\nPlease enter n: " ); scanf( "%d", &n ); if ( fun ( n ) ) printf( "YES\n" ); else printf( "NO!\n" ); } 30、给定程序 MODI1.C 中的函数 Creatlink 的功能是创建带 头结点的单向链表, 并为各结点数据域赋 0 到 m-1 的值。 请改正函数 Creatlink 中指定部位的错误, 使它能得出 正确的结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更 改程序的结构! #include <stdio.h> #include <stdlib.h> typedef struct aa { int data; struct aa *next; } NODE; NODE *Creatlink(int n, int m) { NODE *h=NULL, *p, *s; int i; /**********found***********/ p=(NODE )malloc(sizeof(NODE)); h=p; p->next=NULL; for(i=1; i<=n; i++) { s=(NODE *)malloc(sizeof(NODE)); s->data=rand()%m; s->next=p->next; p->next=s; p=p->next; } /**********found***********/ return p; } outlink(NODE *h) { NODE *p; p=h->next; printf("\n\nTHE LIST :\n\n HEAD "); while(p) { printf("->%d ",p->data); p=p->next; } printf("\n"); } main() { NODE *head; head=Creatlink(8,22); outlink(head); } 31、给定程序 MODI1.C 中函数 fun 的功能是:根据整型形 参 n,计算如下公式的值。 例如,若 n=10,则应输出: 0.617977。 请改正程序中的语法错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得 更改程序的结构! #include <stdio.h> /************found************/ int fun ( int n ) { float A=1; int i; /************found************/ for (i=2; i<n; i++) A = 1.0/(1+A); return A ; } main( ) { int n ; printf("\nPlease enter n: ") ; scanf("%d", &n ) ; printf("A%d=%f\n", n, fun(n) ) ; } 32、给定程序 MODI1.C 中函数 fun 的功能是: 依次取出字 符串中所有数字字符, 形成新的字符串, 并取代原字符串。 请改正函数 fun 中指定部位的错误, 使它能得出正确的 结果。 注意: 不要改动 main 函数, 不得增行或删行, 也不得更 改程序的结构! #include <stdio.h> void fun(char *s) { int i,j; for(i=0,j=0; s[i]!='\0'; i++) if(s[i]>='0' && s[i]<='9') /**********found**********/ s[j]=s[i]; /**********found**********/ s[j]="\0"; } main() { char item[80];