2022年江西计算机省二级试题及答案二级C语言上机题库 .pdf
二级 C 语言上机考试复习资料,共有50 套题目一、程序填空题1、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun 的功能是对形参b 所指结构体变量中的数据进行修改 ,最后在主函数中输出修改后的数据。例如 : b 所指变量 t 中的学号、 姓名、和三门课的成绩依次是: 10002、ZhangQi 、93、85、87,修改后输出t 中的数据应为: 10004、 LiJie 、93、85、87。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include struct student long sno; char name10; float score3; ; void fun( struct student *b) /*found*/ b_1_ = 10004; /*found*/ strcpy(b_2_, LiJie); main() struct student t=10002,ZhangQi, 93, 85, 87; int i; printf(nnThe original data :n); printf(nNo: %ld Name: %snScores: ,t.sno, t.name); for (i=0; i3; i+) printf(%6.2f , t.scorei); printf(n); /*found*/ fun(_3_); printf(nThe data after modified :n); printf(nNo: %ld Name: %snScores: ,t.sno, t.name); for (i=0; i3; i+) printf(%6.2f , t.scorei); printf(n); 2、给定程序中,函数fun 的功能是计算下式例如,若形参e的值为 1e-3,函数的返回值2.985678。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(double e) int i; double s, x; /*found*/ s=0; i=_1_; x=1.0; while(xe) /*found*/ _2_; /*found*/ x=(2.0*i-1)/(_3_)*(2.0*i); s=s+x; return s; main() double e=1e-3; printf(nThe result is: %fn,fun(e); 3、给定程序中,函数fun 的功能是 : 将 s 所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。例如,形参s 所指的字符串为:def35adh3kjsdf7 。执行结果为: defadhkjsdf3537 。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int i, j=0, k=0; char t180, t280; for(i=0; si!=0; i+) if(si=0 & si=9) /*found*/ t2j=si; _1_; else t1k+=si; t2j=0; t1k=0; /*found*/ for(i=0; ik; i+) _2_; /*found*/ for(i=0; i_3_; i+) sk+i=t2i; main() char s80=ba3a54j7sd567sdffs; printf(nThe original string is : %sn,s); fun(s); printf(nThe result is : %sn,s); 4、给定程序中,函数fun 的功能是 :有 NN 矩阵,以主对角线为对称线,对称元素相加并将结果存放在左下三角元素中,右上三角元素置为 0。例如,若N=3,有下列矩阵:1 2 3 4 5 6 7 8 9 计算结果为1 0 0 6 5 0 10 14 9 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 4 /*found*/ void fun(int (*t)_1_ ) int i, j; for(i=1; iN; i+) for(j=0; ji; j+) /*found*/ _2_ =tij+tji; /*found*/ _3_ =0; main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j; printf(nThe original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); fun(t); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); 5、给定程序中,函数fun 的功能是:对形参s所指字符串中下标为奇数的字符按ASCII 码大小递增排序, 并将排序后下标为奇数的字符取出,存入形参p 所指字符数组中,形成一个新串。例如,形参s 所指的字符串为:baawrskjghzlicda,执行后 p 所指字符数组中的字符串应为:aachjlsw。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 33 页不得增行或删行,也不得更改程序的结构!#include void fun(char *s, char *p) int i, j, n, x, t; n=0; for(i=0; si!=0; i+) n+; for(i=1; in-2; i=i+2) /*found*/ _1_; /*found*/ for(j=_2_+2 ; jsj) t=j; if(t!=i) x=si; si=st; st=x; for(i=1,j=0; in; i=i+2, j+) pj=si; /*found*/ pj=_3_; main() char s80=baawrskjghzlicda, p50; printf(nThe original string is : %sn,s); fun(s,p); printf(nThe result is : %sn,p); 6、给定程序中已建立一个带有头结点的单向链表,在 main 函数中将多次调用fun 函数 ,每调用一次fun 函数,输出链表尾部结点中的数据,并释放该结点,使链表缩短。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #define N 8 typedef struct list int data; struct list *next; SLIST; void fun( SLIST *p) SLIST *t, *s; t=p-next; s=p; while(t-next != NULL) s=t; /*found*/ t=t-_1_; /*found*/ printf( %d ,_2_); s-next=NULL; /*found*/ free(_3_); SLIST *creatlist(int *a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(i=0; idata=ai; p-next=q; p=q; p-next=0; return h; void outlist(SLIST *h) SLIST *p; p=h-next; if (p=NULL) printf(nThe list is NULL!n); else printf(nHead); do printf(-%d,p-data); p=p-next; while(p!=NULL); printf(-Endn); main() SLIST *head; int aN=11,12,15,18,19,22,25,29; head=creatlist(a); printf(nOutput from head:n); outlist(head); printf(nOutput from tail: n); while (head-next != NULL) fun(head); printf(nn); printf(nOutput from head again :n); outlist(head); 7、给定程序中,函数fun 的功能是 :计算 NN 矩阵的主对角线元素和反向对角线元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。例如,若N=3,有下列矩阵:1 2 3 4 5 6 7 8 9fun 函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 4 fun(int tN, int n) int i, sum; /*found*/ _1_; for(i=0; in; i+) /*found*/ sum+=_2_ ; for(i=0; in; i+) /*found*/ sum+= tin-i-_3_ ; return sum; main() int tN=21,2,13,24,25,16,47,38,29,11,32,54,42,21,3,10,i,j; printf(nThe original data:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%4d,tij); printf(n); printf(The result is: %d,fun(t,N); 8、给定程序中,函数fun 的功能是:找出100999 之间(含100和 999)所有整数中各位上数字之和为x(x 为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如,当 x 值为 5 时, 100999 之间各位上数字之和为5 的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有 15 个。当 x 值为 27 时,各位数字之和为27 的整数是:999。只有 1 个。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include int fun(int x) int n, s1, s2, s3, t; n=0; t=100; /*found*/ while(t=_1_) /*found*/ s1=t%10; s2=(_2_)%10; s3=t/100; /*found*/ if(s1+s2+s3=_3_) printf(%d ,t); n+; t+; return n; main() int x=-1; while(x0): ); scanf(%d,&x); printf(nThe result is: %dn,fun(x); 9、给定程序中,函数fun 的功能是:将形参n 所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n 传回所指变量。例如,输入一个数:27638496,新的数:为739。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(unsigned long *n) unsigned long x=0, i; int t; i=1; while(*n) /*found*/ t=*n % _1_; /*found*/ if(t%2!= _2_) x=x+t*i; i=i*10; *n =*n /10; /*found*/ *n=_3_; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); fun(&n); printf(nThe result is: %ldn,n); 10、给定程序中,函数fun 的功能是:将形参n 中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函数值返回。例如,输入一个整数:27638496,函数返回值为:64862。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include unsigned long fun(unsigned long n) unsigned long x=0; int t; while(n) t=n%10; /*found*/ if(t%2=_1_) /*found*/ x=_2_+t; /*found*/ n=_3_; return x; main() unsigned long n=-1; while(n99999999|n0) printf(Please input(0n100000000): ); scanf(%ld,&n); printf(nThe result is: %ldn,fun(n); 11、函数 fun 的功能是:把形参a 所指数组中的奇数按原顺序依次存放到 a0、a1、a2、中,把偶数从数组中删除,奇数个数通过函数值返回。 例如: 若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a 所指数组中的数据为:9、1、3、5、7,返回值为 5。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 9 int fun(int a, int n) int i,j; j = 0; for (i=0; in; i+) /*found*/ if (ai%2=_1_) /*found*/ aj = ai; _2_; /*found*/ return _3_; main() int bN=9,1,4,2,3,6,5,8,7, i, n; printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); n = fun(b, N); printf(nThe number of odd : %d n, n); printf(nThe odd number :n); for (i=0; in; i+) printf(%4d , bi); printf(n); 12、给定程序中, 函数 fun 的功能是 :求 ss所指字符串数组中长度最短的字符串所在的行下标,作为函数值返回, 并把其串长放在形参n 所指变量中。 ss所指字符串数组中共有M 个字符串,且串长N。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #define M 5 #define N 20 int fun(char (*ss)N, int *n) int i, k=0, len= N; /*found*/ for(i=0; i_1_; i+) len=strlen(ssi); if(i=0) *n=len; /*found*/ if(len _2_ *n) *n=len; k=i; /*found*/ return(_3_); main() char ssMN=shanghai,guangzhou,beijing,tianjing,chongqing; int n,k,i; printf(nThe original strings are :n); for(i=0;iM;i+)puts(ssi); k=fun(ss,&n); printf(nThe length of shortest string is : %dn,n); printf(nThe shortest string is : %sn,ssk); 13、给定程序的功能是:从键盘输入若干行文本(每行不超过80个字符),写到文件myfile4.txt 中,用-1 作为字符串输入结束的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和 WriteText 实现。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #include void WriteText(FILE *); void ReadText(FILE *); main() FILE *fp; if(fp=fopen(myfile4.txt,w)=NULL) printf( open fail!n); exit(0); WriteText(fp); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 3 页,共 33 页fclose(fp); if(fp=fopen(myfile4.txt,r)=NULL) printf( open fail!n); exit(0); ReadText(fp); fclose(fp); /*found*/ void WriteText(FILE _1_) char str81; printf(nEnter string with -1 to end :n); gets(str); while(strcmp(str,-1)!=0) /*found*/ fputs(_2_,fw); fputs(n,fw); gets(str); void ReadText(FILE *fr) char str81; printf(nRead file and output to screen :n); fgets(str,81,fr); while( !feof(fr) ) /*found*/ printf(%s,_3_); fgets(str,81,fr); 14、函数 fun 的功能是:将形参a 所指数组中的前半部分元素中的值和后半部分元素中的值对换。形参n 中存放数组中数据的个数,若n为奇数,则中间的元素不动。例如:若a 所指数组中的数据依次为:1、2、3、4、5、6、7、8、9,则调换后为: 6、7、8、 9、5、1、2、3、4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 9 void fun(int a, int n) int i, t, p; /*found*/ p = (n%2=0)?n/2:n/2+_1_; for (i=0; in/2; i+) t=ai; /*found*/ ai = ap+_2_; /*found*/ _3_ = t; main() int bN=1,2,3,4,5,6,7,8,9, i; printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); fun(b, N); printf(nThe data after moving :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); 15、给定程序中,函数fun 的功能是 :在形参 ss所指字符串数组中,删除所有串长超过k 的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N 个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #define N 5 #define M 10 int fun(char (*ss)M, int k) int i,j=0,len; /*found*/ for(i=0; i _1_ ; i+) len=strlen(ssi); /*found*/ if(len= _2_) /*found*/ strcpy(ssj+,_3_); return j; main() char xNM=Beijing,Shanghai,Tianjing,Nanjing,Wuhan; int i,f; printf(nThe original stringnn); for(i=0;iN;i+)puts(xi); printf(n); f=fun(x,7); printf(The string witch length is less than or equal to 7 :n); for(i=0; if; i+) puts(xi);printf(n); 16、给定程序中,函数fun 的功能是计算下式例如:若形参e 的值为 1e-3,函数的返回值为0.551690。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(double e) int i, k; double s, t, x; s=0; k=1; i=2; /*found*/ x=_1_/4; /*found*/ while(x _2_ e) s=s+k*x; k=k* (-1); t=2*i; /*found*/ x=_3_/(t*t); i+; return s; main() double e=1e-3; printf(nThe result is: %fn,fun(e); 17、给定程序中,函数fun 的功能是:统计形参s 所指字符串中数字字符出现的次数,并存放在形参t 所指的变量中,最后在主函数中输出。例如,形参s所指的字符串为:abcdef35adgh3kjsdf7。输出结果为:4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s, int *t) int i, n; n=0; /*found*/ for(i=0; _1_ !=0; i+) /*found*/ if(si=0&si= _2_ ) n+; /*found*/ _3_ ; main() char s80=abcdef35adgh3kjsdf7; int t; printf(nThe original string is : %sn,s); fun(s,&t); printf(nThe result is : %dn,t); 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 4 页,共 33 页18、 函数 fun 的功能是:把形参 a 所指数组中的最小值放在元素a0中,接着把形参a 所指数组中的最大值放在a1元素中;再把a 所指数组元素中的次小值放在a2中,把 a 所指数组元素中的次大值放在a3;其余以此类推。例如:若a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7;则按规则移动后,数据排列为:1、9、2、8、3、7、4、6、5。形参 n 中存放 a 所指数组中数据的个数。注意:规定 fun 函数中的 max 存放当前所找的最大值,px 存放当前所找最大值的下标。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!# include #define N 9 void fun(int a, int n) int i,j, max, min, px, pn, t; for (i=0; in-1; i+=2) /*found*/ max = min = _1_; px = pn = i; for (j=i+1; jn; j+) /*found*/ if (max_3_) min = aj; pn = j; if (pn != i) t = ai; ai = min; apn = t; if (px = i) px =pn; if (px != i+1) t = ai+1; ai+1 = max; apx = t; main() int bN=9,1,4,2,3,6,5,8,7, i; printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); fun(b, N); printf(nThe data after moving :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); 19、给定程序中,函数fun 的功能是:找出100 至 x(x999)之间各位上的数字之和为15 的所有整数,然后输出;符合条件的整数个数作为函数值返回。例如,当n 值为 500 时,各位数字之和为15 的整数有: 159、168、177、186、195、249、258、267、276、285、294、339、348、357、366、375、384、393、429、438、447、456、465、474、483、492。共有26个。请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include int fun(int x) int n, s1, s2, s3, t; /*found*/ n=_1_; t=100; /*found*/ while(t999|x0) printf(Please input(0 x=999): ); scanf(%d,&x); printf(nThe result is: %dn,fun(x); 20、给定程序中,函数fun 的功能是:有NN 矩阵,根据给定的m(m=N )值,将每行元素中的值均右移m 个位置, 左边置为 0。例如,N=3,m=2,有下列矩阵1 2 3 4 5 6 7 8 9 程序执行结果为0 0 1 0 0 4 0 0 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 4 void fun(int (*t)N, int m) int i, j; /*found*/ for(i=0; i=0; j-) /*found*/ tij+_2_ =tij; /*found*/ for(j=0; j_3_; j+) tij=0; main() int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10, i, j, m; printf(nThe original array:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); printf(Input m (m=%d): ,N);scanf(%d,&m); fun(t,m); printf(nThe result is:n); for(i=0; iN; i+) for(j=0; jN; j+) printf(%2d ,tij); printf(n); 21、函数 fun 的功能是:把形参a 所指数组中的偶数按原顺序依次存放到 a0、a1、a2、中,把奇数从数组中删除,偶数个数通过函数值返回。 例如: 若 a 所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除奇数后a 所指数组中的数据为:4、2、6、8,返回值为 4。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #define N 9 int fun(int a, int n) int i,j; j = 0; for (i=0; in; i+) /*found*/ if (_1_= 0) /*found*/ _2_ = ai; j+; /*found*/ return _3_; main() int bN=9,1,4,2,3,6,5,8,7, i, n; 精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 5 页,共 33 页printf(nThe original data :n); for (i=0; iN; i+) printf(%4d , bi); printf(n); n = fun(b, N); printf(nThe number of even :%dn, n); printf(nThe even :n); for (i=0; in; i+) printf(%4d , bi); printf(n); 22、给定程序中,函数fun 的功能是:将形参s 所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例 如 , s所 指 字 符 串 为 :asd123fgh543df, 处 理 后 新 字 符 串为:asdfghdf123543。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #include char *fun(char *s) int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char); p=(char*)malloc(n*sizeof(char); j=0; k=0; for(i=0; i=a)&(si=A)&(si=Z) /*found*/ tj=_1_; j+; else pk=si; k+; /*found*/ for(i=0; i_2_; i+) tj+i=pi; /*found*/ tj+k= _3_; return t; main() char s80; printf(Please input: ); scanf(%s,s); printf(nThe result is: %sn,fun(s); 23、给定程序中,函数fun 的功能是:计算下式前n 项的和作为函数值返回。例如,当形参n 的值为 10 时,函数返回: 9.612558。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include double fun(int n) int i; double s, t; /*found*/ s=_1_; /*found*/ for(i=1; i=_2_; i+) t=2.0*i; /*found*/ s=s+(2.0*i-1)*(2.0*i+1)/_3_; return s; main() int n=-1; while(n0): ); scanf(%d,&n); printf(nThe result is: %fn,fun(n); 24、给定程序中,函数fun 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于 2) 。 例如,形参 s所指的字符串为: abcdefgh, 执行结果为: ahcbedgf。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include void fun(char *s) int i, n, k; char c; n=0; for(i=0; si!=0; i+) n+; /*found*/ if(n%2=0) k=n-_1_ ; else k=n-2; /*found*/ c=_2_ ; for(i=k-2; i=1; i=i-2) si+2=si; /*found*/ s1=_3_ ; main() char s80=abcdefgh; printf(nThe original string is : %sn,s); fun(s); printf(nThe result is : %sn,s); 25、 给定程序中 ,函数 fun 的功能是 :统计出带有头结点的单向链表中结点的个数 ,存放在形参n 所指的存储单元中。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#include #include #define N 8 typedef struct list int data; struct list *next; SLIST; SLIST *creatlist(int *a); void outlist(SLIST *); void fun( SLIST *h, int *n) SLIST *p; /*found*/ _1_=0; p=h-next; while(p) (*n)+; /*found*/ p=p-_2_; main() SLIST *head; int aN=12,87,45,32,91,16,20,48, num; head=creatlist(a); outlist(head); /*found*/ fun(_3_, &num); printf(nnumber=%dn,num); SLIST *creatlist(int a) SLIST *h,*p,*q; int i; h=p=(SLIST *)malloc(sizeof(SLIST); for(