![全国计算机二级C语言程序设计题-((-100%全中必过)_第1页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/f94ddfcf-6833-4245-afdd-f6d296fc3884/f94ddfcf-6833-4245-afdd-f6d296fc38841.gif)
![全国计算机二级C语言程序设计题-((-100%全中必过)_第2页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/f94ddfcf-6833-4245-afdd-f6d296fc3884/f94ddfcf-6833-4245-afdd-f6d296fc38842.gif)
![全国计算机二级C语言程序设计题-((-100%全中必过)_第3页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/f94ddfcf-6833-4245-afdd-f6d296fc3884/f94ddfcf-6833-4245-afdd-f6d296fc38843.gif)
![全国计算机二级C语言程序设计题-((-100%全中必过)_第4页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/f94ddfcf-6833-4245-afdd-f6d296fc3884/f94ddfcf-6833-4245-afdd-f6d296fc38844.gif)
![全国计算机二级C语言程序设计题-((-100%全中必过)_第5页](http://file2.renrendoc.com/fileroot_temp3/2021-11/20/f94ddfcf-6833-4245-afdd-f6d296fc3884/f94ddfcf-6833-4245-afdd-f6d296fc38845.gif)
kok电子竞技权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
kok电子竞技:文档简介
1、全国计算机二级C语言程序设计 题-(-100%全中必过)目录题目一 “回文”字符串 题目二迭代法求给定多项式的值 题目三迭代法求给定方程的根. 题目四二维数组三角元素操作1题目四二维数组三角元素操作2题目四二维数组三角元素操作3# Mtg <题目六二维数组周边元素1 题目六二维数组周边元素2. 题目七二维数组转一维数组1题目七二维数组转一维数组2题目七二维数组转一维数组3题目七二维数组转一维数组4 题目八结构体数组排序1题目八结构体数组排序2题目八结构体数组排序3题目八结构体数组排序4 题目九结构体数组求最值1 题且九结构体数组求最值2题目九结构体数组求最值3题目九结构体数组求最值434
2、4567889101112131414151617181819题目十结构体数组筛选题目十一结构体数组字符串比较 题目十二矩阵操作1 题目十二矩阵操作2 题目十三类似素数判断1 题目十三类似素数判断2 题目十四累加累乘求和1题目十四累加累乘求和2 题目十四累加累乘求和3 题目十四累加累乘求和4 题目十四累加累乘求和5U!题目十四累加累乘求和6题目十四累加累乘求和7题目十四累加累乘求和8 题目十四累加累乘求和9题目十四累加累乘求和10题目十四累加累乘求和11题目十四累加累乘求和12题目十四累加累乘求和13 题目十四累加累乘求和14题目十四累加累乘求和15题目十四累加累乘求和161920212223
3、2323242425252627272828292930303131题目十五链表1题目十五链表2题m±>o 位某数位Ill帶串中指定字符1修串中指定字符2.帶串中指定字符3.修串中指定字符4.符串中指定字符5.帶串中指定字符6.符串中指定字符7.修串中指定字符8.帶串中指定字符9.题目十七删除字符串中指定字符10题目十七删除字彳题目十七删除字彳题目十七删除字夕题目十七删除字彳题目十七删除字彳题目十七删除字彳题目十七删除字彳题目十七删除字夕Ill题目十七删除字符串中指定字符11 题目十七删除字符串中指定字符12 符串中指定字符13 符串中指定字符14 修串中指定字符15 帶串中指
4、定字符16 修串中指定字符17 符串中指定字符18 脣串转整数1Ill«'1题目十七删除字彳题目十七删除字彳题目十七删除字彳 题目十七删除字彳 题目十七删除字彳IllIll题目十七删除字幺题目十八数字字彳32333434353536363737383839394041414243434445题目十八数字字符串转整数2题目十九素数判定1题目二十一小数位操作题目二十二一维数组元素的筛选4题目二十二一维数组元素的筛选5题目二七K组最值求彬题目二十五一维数组最值求解3题目二十六移动问题145464647484849505051515252535454555556575758题目十九素
5、数判定2 题目十九素数判定3 题目二十统计问题.题目二十二一维数组或字符串排序1 题目二十二一维数组或字符串排序2 题目二十二一维数组元素的筛选1. 题目二十二一维数组元素的筛选2. 题目二十二一维数组元素的筛选3题目二十二一维数组元素的筛选6 题目二七二22»组元素的施选7 题目二十二一维数组元素的筛选8 题目二十二一维数组元素的筛选9 题目二十三一维数组元素筛选. 题目二十五一维数组最值求解1585959606060616162626263646465666667题目二十六移动问题2题目二十七整数合并1题目二十七整数合并2 题目二十七整数合并4 题目二十七整数合并5 题目二十七整
6、数合并6 题目二十七整数合并7 题目二十七整数合并8 题目二十八字符串长度比较1题目二十八字符串长度比较2题目二十九字符串的逆置.题目三十字符串计数题目三十一字符串连接1题目三十一字符串连接2题目三十一字符串连接3题目三十二字符串中指定字符查找 题目三十三字母大小的判断及转换题目一 “回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YESS否则返回0,主函数中输NOffo回文是指顺读和倒读都一样的字符串o例如,字符串LEVEL是回文,而字符串123312就 不是回文。tticlude O#define N 80int fun
7、(Char *str)int i,n=0,fg=l;Char *=str;WhiIe (*p)/*将指针P置位到字符串末尾,并统计字将数Mp+÷for(i=0; i<n2; i÷÷)”循环比较字符*/if (str 订=StInT-i) ;/* 相同,什么都不作 */else/*不同,直接琳出循环/fg=O;break;return fg; main()Char SN;FlLE *out;Char*test = w123432, n12342, tr12332, ,abc dCBA,;int i;Printf("Enter a String :&q
8、uot;); gets(s);Printf (rr nn);PUtS(S);辻(fu(s)Printf(MYESn);elsePrintf (N0nfr);OUt=fopen("", HWfr); for(i=0;i<4;i+)if(fun(testi) fprintf (out, ,YESnH);elsefprintf (out, ,fNOn,f); fclose(oUt);题目二迭代法求给定多项式的值3编写函数fun,其功能是:根据以下公式求 次的值(要求精度,即某项小于时停止迭代)。 .11×21×2×31×2×
9、3×41×2××?=1 I111-H;23 3×5 3×5×7 3×5×7×93×5××(2 + l)程序 运行后,若输入精度,则程序应输出为。include <>ffinclude Odouble fun ( double eps)double s=tsl=;int n=l;Wh订e(sl>=eps)*当某项大于精度要求时,继续求下一项*/sl=sl*n/ (2*n+l):/車求多项式的每一项拿/s=s+sl;/* 求和 */n+;return
10、2*s;Inain() double x;VOid NONO ();Printf (,rInput eps: R);scanf(w%lfwx) ; Printf("neps = %lft PI=%lfn*, Xt fun(x);NONO ();题目三迭代法求给定方程的根3.编写函数fun,其功能長:利用下面的简单 迭代方法求方程COS (x) -X = O的一个实根。X,+ =COS(Xrl)迭代步骤如下:(1) 取Xl初值为;(2) x0=xl,将xl的值赋给xO;(3) xl=COS(x),求出一个新的xl;(4) 若XO-Xl的绝对值小于,执行步聚(5),否 则执行步聚(2);
11、(5) 所求xl就是方程CoS (x) x=0的一个实 根,作为函数值返回。程序将输出结果ROOt = Oinclude Ottinclude Odouble fun()double x,xl;x=xl;XI=COS (x)Swh 订 e(fabs(Xo-X1)>=1-6); return xl;main OVOid NONO ();Printf (WROOt -%fnf, ,fun();NONO ();题目四二维数组三角元素操作3.程序定义了NXN的二维数组,并在主函数中自动赋值。请编写函数fun(int aN, int ),该函数的功能是:使数组左下半三角元素中 的值乘以n。例如,若
12、n的值为3, a数组中的值为:197'a= 238456则返回主程序后a数组中的值应为:397698121518ftinclude includeinclude Odefine N 5VOid fm(int a N, int n)int i,j;for(i=0;i<N;i+)for(j=0;j<=i;j+) ai j=ai j*;main Oint aNN,n, i,j;FlLE *out;Pri ntf (J* The array *n); for(i=0; i<N; i+)for(j=0; j<N; j+)ai j=rand()%10;Printf (%4d
13、tl, ai j);Printf (n);n=rand () %4;Printf(nn=%4dn,n);fun (a, n);Printf(K*THE RESULT*n); for(i=0; i<N; i+)for (j=0; j<N; j+)Printf (tr%4d,ai j);Printf (wn);OUt=f open (",%"); for(i=0;i<N;i+) for(j=0; j<N; j+) ai j=i*j+l;fun (a, 9);for(i=0;i<N;i+)for(j=0; j<N; j+)fprintf (ou
14、t, %4d,ai j);fprintf (out,t,);fclose(oUt);题目四二维数组三角元素操作23.下列程序定义了NXN的二维数组,并在主 函数中自动赋值。请编写函数fun(inta N), 该函数的功能是:将数组左下半三角元素中的值 全部置成0。例如a数组中的值为:1 9 72 3 84 5 6则返回主程序后a数组中的值应为:0 9 70 0 80 0 0 tticlude O ftinclude O ftinclude OPrintf(H%4d ai j); Printf (wnH);fun (a);Printf(WTHE RESULTn);for(i=0;i<N;i
15、+) for(j=0;j<N;j+)Printf(w%4dw,aij);Printf(Wn);wf=fopen(rrr, rrw);fun (b); for(i=0;i<N;i+) for(j=0;j<N;j+) fprintf(wf,"%4d",bij); fprintf (wf, nf);fclose(wf);题目四二维数组三角元素操作33.下列程序定义了NxN的二维数组,并在主 函数中自动赋值。请编写函数fun(int a N, it m),该函数的功能是使数组右上半三角元素 中的值乘以m。例如,若In的值为2, a数组中的值为:197a= 2384
16、56则返回主程序后a数组中的值应为:218 14_2 6 164512tticlude Oftinclude Oinclude Oinclude Odefine N 5VOid fun(int a N t int m)int i J;for(j=0; j<N5j÷+)for(i=0;i<=j;i+)aij=aij *m;*右上半三角元素中的值乘以m*/main ()int aNN,m, i, j;FlLE *out;PriIltf ("*The array*n);for(i=0;i<N;i+) for(j=0; j<N; j+)ai j=rand()
17、%20;Printf(f,%4d, aij); Printf(Wn);m=rand () %4;Printf (m=%4dn, m);fun(a,m);Printf(WTHE RESULTntt); for(i=0;i<N;i+) for(j=0;j<N;j+)Printf(H%4d,aij);Printf(h);for(j=0;j<M;j÷÷)if(max<aij)max=aij;return max;main() int arr2 M = 5,8t3,45t76t-4t 12t82 ;Void NONO 0;Printf ("max 二
18、dnlt. fun(arr);NONO();VOid NoNO 0/女本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。/FILE *wf ;int arrM=5,8i3t90f76-4,12t82:Wf = fopen;fprintf (wf, wmax=%dnl,l fun (arr);fclose(wf);题目六二维数组周边元素1若a数组中的值为:1933.下列程序定义了NXN的二维数组,并在主函数 中赋值。请编写函数fun,函数的功能是:求出 数组周边元素的平均值并作为函数值返回给主 函数中的s。例如,0124 5 6 8 25 9 14 1则返回主程序后S的值应为。ftic
19、lude<>WincludeOSincludeOttdefine N 5double fun (int wN)int i,jtk=O;double av=;for(i=Oji<Nji÷÷)for(j=0; j<N; j)If(I=OlIi=N-IlIj=OlIj=N-I) /拿只要下标中有一个为O或N-1,则它一定是周边元素拿/av=av+wij;/*将周边元素求和*/k÷÷return av/k;/*求周边元素的平均值*/VOid main ()FlLE *wf;intaN N = 0,l,2,7,9,l,9,7,4,5,2,3
20、,8,3,1,4, 5,6,&2,5,9,1,4,1;int i, j;double s;SyStem(nCLSf,);Printf("*The array*n "); for (i=0; i<N; i+) for (j=0;j<N;j+)printf (tr%4d ,ai j); Printf(Wn ");s=fun(a);Printf (*THE RESULT*r ',); Prirrtf (The SUnl is : %lfn fr, s);Wf=fopen ("","w"); fprint
21、f (wf,%lfw,S); fclose(wf);题目六二维数组周边元素2s.请编写函数fun,该函数的功能是:求出二 维数组周边元素之和,作为函数值返回。二维数 组中的值在主函数中赋予。例如,若二维数组中的值为:1 3 5 7 9299946 999813570则函数值为61。WincludeOSincludeOftinclude<>define M 4ttdefine N 5int fun( int a M N)int i,jrsum=0;for(i=0;i<M;i+)for(j=0;j<N;j+÷)if(i=OI i=M-l Ij=Ol Ij=N-I)
22、 *只要下标中有一个为O或M-I或N-l则它一艮是周边元素*/SUm=SUm÷ai j;/拿将周边元素相加拿/return sum;VOid main ()FlLE Wf ;intaaM N = l,3,5,7,9, 2,9,9,9,4, 6,9,9, 9,8,l,3,5,7,0;int i, j, y;SyStem(nCLSf,);Printf (HThe OriginaI data is : n tf); for(i=0; i<M;i+)for (j=0; j<N;j+)Printf (tr%6d n,aai j);Printf(nn ")Jy=fun(aa
23、);Printf(nThe sun: %dn ",y);Printf(n W);wf=fopen(t, "w"); fprintf (wf,"%d",y); fclose(wf);题目七二维数组转一维数组13.请编写函数fun,该函数的功能是:将M行N 列的二维数组中的数据,按列的顺序依次放到一 维数组中。一维数组中数据的个数存放在形参n 所指的存储单元中。例如,若二维数组中的数据为33 33 33 3344 44 44 4455 55 55 55则一维数组中的内容应是33 44 55 33 44 55 33 44 55 33 44 55inc
24、lude OVOid fun(int (*s) 10, int *b, iIrt *n, int mm,int Im)int i,j;for (j=0; j<nn; j+)*将二维数组中的数据按列的顺序依次放入一维数组中*/for (i=0; i<un; i+)b*n=*(*(s+i)+j);*n=*n+l ;/*通过指针返回元素个数权VOid main ()intw1010=33,33,33,33,44,44,44,44, 55,55,55,55, i, j;int a100 = 0 ,n=O ;FlLE *out;Printf (,The Inatrix: ntt); for
25、(i=0; i<3; i+)for (j=0;j<4;j+)Printf (,r%3d,wi j);Printf (,rn,f);fun(w,a,&n,3,4);out=fopen(, WWfr);Printf ("The A array: nf,); for(i=0; i<n; i+) Printf(%3dw,ai);fprintf (out, r,%d,ai);Printf(Mnntt); fclose (OUt);【目七二维数组转一维数组23请编写函数fun,该函数的功能是:将M行N 列的二维数组中的字符数据,按列的顺序依次放 到一个字符串中。例如,若
26、二维数组中的数据为WWWWSSSSHHHH则字符串中的内容应是:WSHWSHWSHWSHO ftinclude<>Sdefine M 3 define N 4VOid fun (Char (*s)N,Char *b)int i,j,k=0;/*按列的顺序依for (i=0;i<N;i+) 次放到一个字符串中*/ for(j=0; j<M; j+) bk+=sj i; bk = 'O'VOid main ()FILE *wf;Char a100,wMN= ,Wr, ,W, lW, 'W', 's', S, S, 'S
27、',H', 'H, ,H', ,H,;int i,j;Printf(WThe matrix:n); for(i=0;i<M;i+) for(j=0;j<N;j+)Printf(W%3c,wij)JPrintf(nn);fun (w, a);PriIrtf ("The A String: n,f);PUtS (a);Printf (nn);wf=fopen("", r,w,r); fprintf (wf, w%sw, a); fclose(wf);题目七二维数组转一维数组3 1.请编一个函数VOid fun(int ttM
28、N, intppN),tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入PP所指的一维数组中。二维数组中的数已在主函数中给出。include Offinclude <>include Odefine M 3Wefine N 4VOid fun(int ttMN,int PPN)int i,j,max; for(j=0; j<N; j+) 比最大值大,则将这个更大的元素看作当前该列 中最大元素*/max=tt0 j; 个元素最大*/for (i=0; i<M; i+)if (tt i j>max)*假设各列中的第一/*如果各列中的元素max=tt
29、i j;ppj=max; /*将各列的最大值依 次放入PP数组中*/main()VOid NONO();int tMN = 6& 32, 54, 12, 14, 24, 88. 58t42, 22, 44, 56;int p N t i9 j, k;Printf ( wThe OriginaI data is : nf,);for( i=0; i<M; i+ )for( j=05 j<N; j+ )Printf ( "%6dRt tij);Printf(n");fun ( t, P );Printf( *nTh result is:nR );for (
30、k = 0; k < N; k÷+ ) Printf ( lr %4d S p k );Printf(Hnt,);NONO();VOid NONO()*请在此函数内打开文件,输入测试数据,调用fun函数, 输出数据,关闭丈件。/int it jt k, m9 tMN. pN:FILE *rf, *wf :rf = fopen(*t U ;Wf = fopen(,rw*) Jfor(m = 0 J m < 10 ; m÷÷) for( i=0; i<M; i+ )for( j=0; j<N; j÷+ )fscanf (rft w%6
31、dtf &tij);fun ( tf p );for ( k = 0; k < N; k+ ) fprintf (Wft " %4d r, p k ); fprintf (wfr l,nw);fclose (rf);fclose(wf);题目七二维数组转一维数组43请编写函数fun,该函数的功能是:将M行N列的二维数组中的数据,按行的顺序依次放到一 维数组中,一维数组中数据的个数存放在形参n 所指的存储单元中。例如,若二维数组中的数据为:333333334444444455555555则一维数组中的内容应该是:33 33 33 3344 44 44 44 55 55 5
32、5 55 ottinclude OVOid fun (int (*s)10, int *b. int *nt int mm. int nn)int i,j,k=O;for(i=0u<5i÷÷)/*将二维数组S中的数据按行的顺序依次放到一维数组b中柠for(j=0;j<nn;j+)bk+=si j;*n=k;/*通过指针返回元素个数权void main()FlLE *wf;intw1010 = 33,33,33,33,44,44,44,44, 5 5,55,55,55, i, j;int a100 = 0 ,n=0 ;Printf (l,The Inatrix:
33、nw);for (i=0; i<3; i+)for (j=0;j<4;j+)Printf(M%3dw,wi j);Printf (,n);fun(w,a,fen,3,4);Printf ("The A array: nf,);for(i=0; i<n; i+)Printf(%3d,ai);Printf (,nntl);wf=fopen(", HWrf); for(i=0; i< i+)fprintf(wf,"%3d",ai); fclose(wf);题目八结构体数组排序11.学生的记录由学号和成绩组成,N名学生的数据已放入主函数中
34、 的结构体数组S中,请编写函数fun,其功能是:按分数降序排列学生的记录,高分在前, 低分在后。include O ftdefine N 16tyPedef Struet Char numL10;int s; STREC;VOid fun( STREC a)it i,j;STREC t;for (i=l;i<N;i+)*用冒泡法进行排序,进行Nl次比较*/ 比较中要进行N1次两两比较*/for(j=0;j<N-l;j+)/*在每一次if (aj. s<aEj+l. S)t=aj ;aj=aj+l;aj+l=t;/*按分数的高低排列学生的记录,高分在前*/main ()STRE
35、CsN=HGAOO5,85,ffGA003n,76,wGA002w, 69,wGA004w,85,wGA00,91,wGA007w,72,HGAOO8ff,64,ffGA006w,87,wGA015h,85,HGA013H,91, HGAOI264, wGA014w,91,tfGAOll",66, "GA017,r, 64, UGAOI8lf, 64, CGAol6" ,72;int i;FILE *oUt ;fun ( s );Printf("The data after SOrted :nw);for(i=0;i<N; i+) if( (i)%
36、4=0 )printf(,f,);Printf(n%s%4d",si num, Si S);Printf (nrr);OUt = fopeC,", "wn);for (i=0; i<N; i+) 辻(i)%4=0 && i) fprintf(out, "n");fprintf(out, "%4d",si. S);fprintf(out,nw);fclose(oUt); 题目八结构体数组排序2 3学生的记录由学号和成绩组成,N名学生的数 据已在主函数中放入结构体数组S中,请编写函 数fun ,其功能是:把
37、低于平均分的学生数据放 入b所指的数组中,低于平均分的学生人数通过 形参n传回,平均分通过函数值返回。ttinclude Odefine N 8 tyPedef Struet Char num 10;double s; STREC;double fun( STREC *a, STREC *b, int *n )int i,j二0;double av=;*求平均值*/for(i=0;i<N;i+) av=av+ai s; av=avN; for(i=0;i<N;i+)if (ai. s<av) bj卄=ai ;/将低于平 均值的学生记录存入结构体b中*/n=j; 生人数*/*指
38、针传回低于平均值的学return av;/*返回平均值*/InainO STREC sN = GA0585, nGA03,76, GA02fr,69 ,UGAOr ,85,wGA0,91, HGAO7,72, wGA08h,64, ,rGAO6n,87;STREC hN,t;FlLE *oUt ;int i,j,n; double ave;ave=fun( s,h,&n );Printf (WThe %d StUdent data WhiCh isIOWer than %:nn,ave);for(i=0;i< i+)Printf (%s %n,f ,hi. num,hi. S);
39、Printf (ffn,r);OUt = fopen(,f, "w");fprintf(out, "%dn%n", n, ave);for (i=0;i<-l;i+)for(j=i+l;j<n;j+)if (hi. s>hj. S)t=hi ;hi=hj; hj=t;for(i=0;i<n; i+)fprintf(out,"%n",hi. S);fclose (OUt);题目八结构体数组排序33学生的记录由学号和成绩组成,N名学生的 数据已放入主函数中的结构体数组S中。请编写 函数fun,其功能是:把指定分数范
40、围内的学生数 据放在b所指的数组中,分数范围内的学生人数 由函数值返回。例如,输入的分数是60、69,则应当把分数在6069的学生数据输出,包含60分和69分的学生数据。主函数中把60放在IOW中,把69放在heigh中。include O define N 16 typedef StrUCt Char num 10;int STREC;int fun( STREC *a,STREC *b,int 1, int h )int i,j=O;for (i=0; i<N; i+) 辻(ai. s>=l&&ai. s<=h)*将分数高于1,低于h的学生记录存入结 构体
41、数组b中*/bj+=ai;return j; /*返回分数范围内的学生人数*/main() STRECsN=ffGA005,85,HGAOO3,76,HGAOO2w, 69,HGAOO4ff,85,wGA00,96, tfGA007w,72, ffGA008w,64, wGAoo6",87,ffGA015,85,GA013w,94,ffGA012,64,GA014,91,ffGA01,90, wGA017w,64, HGAOI8w,64, hGA016m,72;STREC hN,tt;FILE 3cout ;int i,j,n,IOW,heigh,t;Printf (rEnter 2
42、 integer number IOW & heigh : W);scanf (%d%d,r, &low,&heigh); if ( heigh<IOW ) t=heigh;heigh=low;1OW=t; n=fun( s,h,low,heigh );PriIrtf(The student's data between %d一一%d : nrt, low, heigh);for(i=0;i< i+)Printf(%s %4dn",hi. num,hi. S);Printf (n,r);OUt = fopen("", ,
43、fw); n=fun( s,h,80,98 ); fprintf(out,M%dnn,n); for (i=0;i<-l;i+) for(j=i+l;j<n;j+) if (hi. s>hj. S) tt=hi jhi=hj; hj=ttjfor(i=0;i< i+)fprintf(out,"%4dn",hi.S);fprintf(out,nw);fclose(out);题目八结构体数组排序41 请编写函数fun,该函数的功能是:统计各年龄段的人数。N个年龄通过调用随机函数获得,并放入主函数的age数组中。要求函数把09 岁年龄段的人数放在d0中,把
44、1019岁年龄 段的人数放在dl中,把2029岁年龄段的人数放在d2中,依此类推,把100岁(含100岁) 以上年龄的人数都放在d10中。结果在主函数中输出。include O # define N 50 # define M 11VOid fun(int *at int 車b)int i J;for(j=0j<MJ÷÷)bj=O;/*数组b初始化为O/for(i=Oji<Nji÷÷)if(ai>=100)b10÷+;/車如果年龄大于等于100, b10自增"/bai10卄;/*如果年龄小于100,则将其分别统计到b
45、ai10中拿/double rndStatiC t=291c=2171m=10241r=0;r=(m+c)%m;return (double)rm):double rnd ()StatiC t=299 c=217, In=IO24, r=0;r= (r* t+c)%m;return (double) rm);VOid main ()FILE *wf;int ageN, i,dM;intbN=32,45,15,12,86,49,97,3,44,52,17,95, 63;for(i=0; i<N; i+)agei = (int) (115*rnd() ;*产生一个随机的年龄数组*/Print
46、f CThe OriginaI data : n,r);for(i=0; i<N; i卄)Printf(i+l)%10=0"%4dn" : "%4d", agei) ;/*每行输出 10个数/Printf ("nn"); fun(age,d);for(i=0; i<10; i+)Printf(H%4d一-%4d: %4dnw,i*10,i*10+9,di);Printf (WOVer 100:%4dn,d10);wf=fopen(r, rrw);fun(b,d);for(i=0; i<10; i+)fprintf (
47、wf, t,%4d-%4d:%4dn,r, i*10,i*10+9,di);fprintf (wf, TrOVer 100: %4df,d10);fclose(wf);题目九结构体数组求最值13.学生的记录由学号和成绩组成,N名学生的数 据已放入主函数中的结构体数组S中,请编写函 数fun,其功能是:把分数最高的学生数据放在 b所指的数组中。注意:分数最高的学生可能不止一个,函数返回分数最高的学生的人数include OHdefine N 16 typedef StrUCt Char num10; STREC; int fun( STREC *ar STREC *b ) int i.j=0tm
48、ax=a0.s;"找出最大值权for(i=0;i<N;i+)if(max<ai.s) max=ais;for(i=0; i<N; i÷÷)if (max=ai S) bj÷÷=ai;return j;"找出成绩与max相等的学生的记录,存入结构体b中权/寒返回最高成绩的学生人数*/main O STREC sN=wGA0585, "GA0376t wGA0269t wGA0485l f,GA0191, GA0772t ,rGA0864 JGA0687t wGA01585t tGA01391, tGA0126
49、4 JwGA01491t "GA011w,77t ,GA01764,rGA01864, "GA016w,72;STREC hN;int i,n;FILE *out ;n=fun( Sth );Printf(HThe %d highest SCOre 2n*tn);for(i=0;i<n; i+)Printf(f%s %4dn*.hi. num.hi. S);Printf(Rn*);OUt = fopen(RWtrw");fprintf (out, *,%dnn);for(i=0;i<n; i+)fprintf(outt "%4dn"
50、.hi. S);fclose (OUt);题目九结构体数组求最值23.学生记录由学号和成绩组成,N名学生的数 据已放入主函数中的结构体数组中,请编写函数 fun,其功能是:把分数最低的学生数据放入b 所指的数组中,注意:分数最低的学生可能不止 一个,函数返回分数最低的学生人数。include Ottdefine tyPedef Char intN 16Struct num10; s; STREC;int fun( STREC *a, STREC *b )int i,j=O,min=a0.s;for(i=0;i<N;i +) if (min>ai S) min二ai. s;*找出最小
51、值*/for(i=0;i<N;i+)if (min=ai S) bj+=ai;*找出成绩与min相等的学生的记录,存入结构体b中*/return j; main ()STRECs N = wGA05w, 85, ffGA03,l, 76, GA02H, 69,ffGA04,85,oGA0,91, nGA07w,72, HGAO8w,64, wGA0687,GA015w,85,ffGA013,91,wGA012w,64,GA014,91,nGAOl , 91, HGAOl7 64, HGAOI8w, 64,ffGA016n,72;STREC hN;int i,;FlLE *out ;n=f
52、un( s,h );Printf ("The %d IOWeSt SCOre : n,n);for(i=0;i< i+)Printf (%s %4dn",hi. num,hi. S);Printf (nf,);OUt = fopen("", ,wf); fprintf (out, ,%dnf,n);for(i=0;i< i+) fprintf(out, "%4dn",hi. S); fclose (out); 题目九结构体数组求最值3L已知学生的记录由学号和学习成绩构成,N名 学生的数据已存入a结构体数组中。请编写函 数f
53、un,该函数的功能是:找出成绩最高的学 生记录,通过形参返回主函数(规定只有一个 最高分)。已给出函数的首部,请完成该函数。 fun (STU a, STU *s)int i;*s=a0;for(i=0;i<N;i+)/琳找出成绩最高的学生记录*/if(s->s<ai.S)*s=ai;题目九结构体数组求最值4 3.已知学生的记录由学号和学习成绩构成,N名 学生的数据已存入a结构体数组中。请编写函数 fun,该函数的功能是:找出成绩最低的学生记 录,通过形参返回主函数(规定只有一个最低 分)。已给出函数的首部,请完成该函数。WincludeO ttinclude<>
54、 ttinclude<> include<> define N 10 typedef Struet SS Char num10;int s; STU;fun (STU a, STU *s)int i;*s=a0;*先认为第1个值最小*/for(i=05i<Nji÷÷) /車如果在循环的过程中再发现比第1个值更小的则賦给車Sy if(s->s>ai.S)s=ai;VOid main ()FlLE *wf;STUaN = ffA01w,81, ffA0289, wA03w,66, HAO4w,87, wA05w,77, wA06w,90
55、, wA07w,79, wA08,61, WAO 9w,80, HAIOH,71,m;int i;SyStem(WCLS,r);Printf (*The OriginaI data*n); for(i=0;i<N;i+)Printf (TrNO=%s Mark=%dntt, ai. num,ai S);fun(a,&m);Printf (*THE RESULT*n);Printf (The IOWeSt :%s, %dnrr,;wf=fopen(t, t, MWn); fprintf (wf, r%s, %df,; fclose(wf);题目十结构体数组筛选3学生的记录由学号和成
56、绩组成。N名学生的数 据已放入主函数中的结构体数组S中,请编写函 数fun,其功能是:把高于等于平均分的学生数 据放在b所指的数组中,高于等于平均分的学生 人数通过形参n传回,平均分通过函数值返回。include Ottdefine N 12 tyPedef Struct Char numE10;double s; STREC;double fun( STREC *a, STREC *b, int *n )int i; double av=;*=0;for(i=0;i<N;i+) av=av+ai s;av=avN;*求平均值*/for(i=0;i<N;i+)if (av<=
57、ai S) b*n =ai ;*n=*n+l; *将高于等于平均分的学生存入b所指存储单元中,并统计return av;/*返回平均分*/ main ()STRECsN=HGAO5w,85,ffGA03ff,76,wGA02h,69,ffGA04n,85,HGAOrr,91, ,GA 0772, wGA08,64, nGA06,87,UGAo9",60, "GA 1,79, wGA12w,73, HGAIOH,90;STREC hN, t;FILE *out ;int i,j,n; double ave;ave=fun( s,h,&n );Printf("The %d StIIdent data WhiCh is higher than %: n,n,ave);for(i=0;i<n; i+)Printf(%s %nw,hi. num,hi. S);Printf (nf,);OUt = fopen(, ,wn);fprintf (out, ,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
kok电子竞技:最新文档
- 入团申请书800字以上
- 初级银行管理-银行专业初级《银行管理》模拟试卷7
- 台湾个人游申请书
- 羽毛球协会申请书
- DB2111-T 0034-2024 日光温室碱地柿子套种玉米技术规程
- 管道设备采购分包合同(2篇)
- 山东省临沂市2024-2025学年高二上学期期中考试物理试卷(解析kok电子竞技)
- 一建《建设工程项目管理》试题库资料练习含【答案】卷12
- 外研kok电子竞技高中英语选择性必修第四册UNIT6 Period6课件
- Module1Unit1Therewasntaclockherebefore2023-2024学年五kok电子竞技英语
- 高中数学知识点大全
- 常州市旅游资源调查与评价
- 人机料法环测5M1E分析法
- 游泳社会指导员专项理论考试复习题库汇总(附答案)
- 《简单教数学》读书-分享-
- 口腔颌面外科学 功能性外科
- 脊椎动物学知识点归纳各纲特征
- GB/T 27476.5-2014检测实验室安全第5部分:化学因素
- 一级医院基本标准1
- 霍乱病例分析课件
- 金属非金属矿山重大生产安全事故隐患判定标准课件
评论
0/150
提交评论