安阳工学院c语言期末考试题库,安阳工学院期末C语言答案.doc

253b171540df25e1b84436cbe50dfc72.gif安阳工学院期末C语言答案.doc

1 1输入x求y 2abc从大到小排序 3输出四个数中的最大最小值 4输出成绩等级 5输入x输出xy 6输出300-400间的全部素数 7求Fibonacci数列的前二十个数 8求和n3 9求分数数列前20项的和 10水仙花数 11小于六位,逆序输出 12求5.55555的和 13求方程的解 14输出一行字符,分别统计出其中的英文字符、数字和其他字符的个数 P252 5 对10个数用起泡法排序 16 二维数组a,b行列互换 17 3列4行的数组求最大元素及其行列数 18 求一行字符的单词数 19 求3个字符串的最大者 20 输入两个数,求最大者 21 求两整数的最大公约数和最小公倍数 22 求4个数最大者,嵌套调用 23 用递归法求5 24 求数组一5个元素和数组二10个元素各元素的平均值 25 数组逆序重新存放 26 递归法将整数n转换成字符串 27 用筛选法求100之内的素数 28 编写一个程序,将两个字符串联起来,不要用stract函数 P5-83 29 指针输出3个整数从小到大排列 30 指针输出3个整数从大到小排列 31 指针实现数组b10个元素逆序存放 32 冒泡法将10整数从大到小排序 33 选择法将10整数从小到大排序 34 编写一个函数实现字符串复制功能 35 定义结构体变量计算当天是本年的第几天 36 设计候选人得票统计程序 37 输出学生信息 38 输出教师信息 39 输出职员信息 40 建立动态数组输入5个成绩并检查输出不合格的成绩 41 求一个字符串的长度 P9-124 42 一维数组放10个成绩,求平均成绩并输出不及格的 43 求10个数中最大,小值,平均值 44 找二维数组的鞍点,即元素在该行最大该列最小 45 8个学生4门课的成绩求三个问题 46 将一行字符串最长单词输出 47 输出金字塔图案 48 输入一个数按原来的规律插入数组中 49 判断素数 50 统计4行文章60个字符中英文词的信息 51 电文密码 52 n个人的圈子报数,到3退出,求留下是几号 53 10个学生3门课程的成绩,输出总平均成绩,以及最高分的信息 54 将一字符串的元音字母复制到另一字符串,输出55 输入月份号,输出英文名P13-171.有一个函数 ,写一段程序,输入x的值,输出 y的值。include stdio.hvoid main int x,y; printf输入x; scanfd, ifx0 x100 y-1; printfx3d, ydn ,x,y; else ifx0 y0; printfxd, ydn,x,y;else y1; printfxd, ydn,x,y;2. 输入3个数a,b,c,按大由到小的顺序输出。 include stdio.h void main float a,b,c,t;printfplease enter a,b,c; scanff,f,f, ifab ta;ab;bt; ifac ta;ac;ct; ifbc tb;bc;ct; printf7.2f7.2f7.2fn,a,b,c; 3. 输入4个数,输出4个数中的最大值、最小值。include stdio.hvoid main float t,a,b,c,d,max,min; printf请输入四个数; scanff,f,f,f, if ab ta;ab;bt; if ac ta;ac;ct; if ad ta;ad;dt; if bc tb;bc;ct; if bd tb;bd;dt; if cd tc;cd;dt; printf最大值和最小值分别为 n; printfmax5.2f min5.2f,a,d; 4. 输入成绩,要求输出成绩等级A、B、C、D、E或error。90分以上为A,8089分为B,7079分为C,6069分为D,060分为E。若输入成绩低于0分和高于100分则输出error。include stdio.hvoid main float score; char grade; printf请输入学生成绩; scanff, if score100score0 printferrorn;else switchintscore/10 case 10 case 9 gradeA;break; case 8 gradeB;break; case 7 gradeC;break; case 6 gradeD;break; case 5case 4case 3case 2case 1 case 0 gradeE; printf成绩是 5.1f,成绩等级是c.n ,score,grade; 5. 有一个函数 写一段程序,输入x 的值,输出x,y 的值。include stdio.hvoid main int x,y; printf输入x; scanfd, ifx1 yx; printfx3d, yxdn ,x,y; else ifx10 x10 y2*x-1; printfxd, y2*x-1dn,x,y;else y3*x-11; printfxd, y3*x-11dn,x,y;6. 输出300400之间的全部素数,并按每行5个数输出。include stdio.hincludemath.hvoid mainint primeint;int i,k,m;printf300-400之间的素数为n;fori300;i400;imprimei;ifm1k;printf5d,i; ifk50printfn;int primeint iint j,flag1;forj2;jsqrti;jifij0flag0;returnflag;2.; include stdio.h include math.hvoid main int m,k,i,n0; form300;m400;mm1 ksqrtm; for i2;ik;i if mi0 break; if ik1printfd ,m; nn1; ifn50 printfn; printf n; 7. 求Fibonacci数列的前20个数,并将其分5行输出includestdio.hint mainint f11,f21;int i;fori1;i10;iprintf12d12d,f1,f2;ifi20printfn;f1f1f2;f2f2f1;return 0;8. 求和1-10 n3 。include stdio.hvoid main double s0,t1,sum0; int n; for n1;n10;n tt*n; sst; sums3*n; printf1323.103fn,sum; 9. 有一分数序列 ,求其前20项的和。include stdio.h void main int i,n20; double a2,b1,s0,t; for i1;in;i ssb/a; ta, aab, bt; printfsum16.10fn,s;10. 输出小于500的所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为 。include stdio.hvoid main int i,j,k,n; printf水仙花数是 ; for n100;n500;n in/100; jn/10-i*10; kn10; if ni*i*i j*j*j k*k*k printfd ,n; printfn; 11. 给一个不多于6位的正整数,要求求出它是几位数;分别输出每一位数字;按逆序输出各位数字,例如原数为158,应输出851include stdio.hvoid main int n,m; printf输入一个不多于六位的数字; scanfd, ifn1000000n99999 printf它是六位数n; ifn100000n9999 printf它是五位数n; ifn10000n999 printf它是四位数n; ifn1000n99 printf它是三位数n; ifn100n9 printf它是二位数n; ifn10n0 printf它是一位数n; printf各位数字按逆序输出为n; whilen0 mn10; nn/10; printf3d,m; 12. 求555555555555555的值。include stdio.hvoid main int a5,n5,i1,sn0,tn0;fori1;i5;i tntna; snsntn; aa*10; printf55555555dn,sn; 13求方程的解includestdio.hincludemath.hint maindouble a,b,c,x1,x2,disc,realpart,imagepart; scanflf,lf,lf, printfthe equation;iffabsa1e-6printf is not a quadratic;else discb*b-4*a*c;iffabsdisc1e-6 printfhas two equal roots8.4fn,-b/2*a;else ifdisc1e-6 x1-bsqrtdisc/2*a; x2-b-sqrtdisc/2*a; printfhas diatinct real roots8.4f,8.4fn,x1,x2;else realpart-b/2*a; imagepartsqrt-disc/2*a; printfhas complex rootsn; printf8.4f8.4fin,realpart,imagepart; printf8.4f-8.4fin,realpart,imagepart; return 0;14输入一行字符,分别统计出其中的英文字符、数字和其他字符的个数。includestdio.hincludestring.hint mainchar c;int letters0,digit0,other0;printf请输入一行字符n;whilecgetcharn;ifcaczcAcZ letters;else ifc0c9 digit;else other; printf字母数dn数字数dn其他字符数dn,letters,digit,other;return 0; 15. 输入10个整型整数,用起泡法对这10个数排序,并该由小到大顺序在屏幕上输出。include stdio.hvoid main int a10; int i,j,t; printf 10 numbern; fori0;i10;i scanfd, fori0;i10;i forji;j9;j ifaiaj1 tai;aiaj1;aj1t fori0;i10;i printf5d ,ai; printfn; 16. 将一个二维数组a的行和列的元素互换(即行列互换),存到另一个二维数组b中。include stdio.hvoid main int a45,b54; int i,j; fori0;i4;i forj0;j5;j scanfd, fori0;i5;i forj0;j4;j bijaji; printf该数组的新序列为n; fori0;i5;i forj0;j4;j printf5d,bij; printfn; 17. 在一个3*4的二维数组a中,要求编程求出其中值最大的那个元素的值,并输出其所在的行号和列号。 include stdio.hvoid main int a34,i,j,max; fori0;i3;i forj0;j4;j scanfd, maxa00; fori0;i3;i forj0;j4;j ifmaxaij maxaij; printfmaxdn,max; fori0;i3;i forj0;j4;j ifaijmax printf行2d,列2dn,i1,j1; 18 输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。include stdio.hvoid main int i,j0; char str80; getsstr; fori0;stri0;i ifstri1 stri10 j; printf单词个数为dn,j; 19. 有3个字符串,要求找出其中最大者。include stdio.hinclude string.hvoid mainchar str180,str280,str380,longest80;getsstr1;printfn;getsstr2;printfn;getsstr3; strcpylongest,str1;ifstrcmpstr1,str20 strcpylongest,str1;ifstrcmpstr2,str30 strcpylongest,str1;printfthe longest is s,longest;20. 输入两个整数,要求用一个函数求出其中的大者,并在主函数中输出此值。include stdio.hvoid main int fint a,int b; int m,n,max; printf请输入两个数; scanfd,d, maxfm,n; printfmaxd,max;int fint a,int bint c;cabab;returnc;21 输入两个整数,要求用一个函数求出其最大公约数和最小公倍数,并在主函数中调用该子函数。include stdio.hvoid main int hcfint,int; int lcdint,int,int; int u,v,h,l; scanfd,d, hhcfu,v; printf最大公约数dn,h; llcdu,v,h; printf最小公倍数dn,l; int hcfint u,int vint t,r; if vu tu;uv;vt; while ruv0 uv; vr; returnv;int lcdint u,int v,int h returnu*v/h; 22. 输入4个整数,找出其中最大的数。用函数的嵌套调用来处理。include stdio.hvoid main int max_4int a,int b,int c,int d; int a,b,c,d,max; printfPlease enter 4 interger numbers; scanfd d d d, maxmax_4a,b,c,d; printfmaxd n,max; int max_4int a,int b,int c,int d int max_2int a,int b; int m; mmax_2a,b; mmax_2m,c; mmax_2m,d; returnm;int max_2int a,int breturnabab;用递归方法求5。include stdio.hvoid main long facint n; long y; yfac5; printf5ldn,y;long facint n long f; ifn0 printfn0,data error; else ifn0,n1 f1; else ffacn-1*n; returnf; 24、 编写一个函数,用来分别求数组score_1(有5个元素)和数组score_2(有10个元素)各元素的平均值。include stdio.hvoid main float ffloat score,int n; float score_15,score_210,aver_1,aver_2; int i; fori0;i5;i scanff, fori0;i10;i scanff, aver_1fscore_1,5; aver_2fscore_2,10; printfaver_1f,aver_2fn,aver_1,aver_2;float ffloat score,int nint i;float aver,sum0;fori0;in;i sumsumscorei; aversum/n; returnaver;25 将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,5,4,1改后成为1,4,5,6,8。include stdio.hvoid main int a6,b6,i; printf请输入一个数组; fori0;i6;i scanfd, printf逆序排列后的数组是; fori0;i6;i bia5-i; printf4d ,bi; 26 用递归法将一个整数n转换成字符串。例如,输入483,应输出字符串“483”,n的位数不确定,可以是任意位数的整数。include stdio.hvoid main void convertint n; int number; printf an integer ; scanfd, printfoutput ; if number0 putchar-;putchar ; number-number; convertnumber; printfn; void convertint n int i; if in/100 converti; putcharn100; putchar32;27 用筛选法求100之内的素数includestdio.hincludemath.hint mainint i,j,a101;fori1;i100;i aii;a10;fori2;isqrt100;i forji1;j100;j ifai0aj0 ifajai0 aj0; printfn; fori2;i100;i ifai0 printf5d,ai; printfn; return 0; 28 编写一个程序,将两个字符串联起来,不要用stract函数includestdio.hint main char s180,s240; int i0,j0; printf string1; scanfs,s1; printf string2; scanfs,s2; whiles1i0 i; whiles2j0 s1is2j; s1i0; printfnThe new string is sn,s1; return 0; 29. 用指针实现输入3个整数并按从小到大的顺序输出。include stdio.hvoid main void exchangeint * p1,int * p2,int * p3; int n1,n2,n3; int * p1,* p2,* p3; printf three integer n1,n2,n3; scanfd,d,d, p1 p2p3 exchangep1,p2,p3; printfNow,the order isd,d,d,n1,n2,n3;void exchangeint * p1,int * p2,int * p3void swapint * p1,int * p2;if* p1* p2 swap p1, p2;if* p1* p3 swapp1,p3;if* p2* p3 swapp2,p3;void swapint * p1,int * p2int p;p* p1;* p1* p2;* p2p;30、用指针实现输入3个整数并按从大到小的顺序输出。 include stdio.h void main void paixuint * p1,int * p2; int a,b,c,* p1,* p2,* p3;printfplease enter a,b,c; scanfd,d,d, p1p2p3 ifab paixup1,p2; ifac paixup1,p3; ifbc paixup2,p3 ; printf5d5d5dn,a,b,c; void paixuint * p1,int * p2 int t; t* p1;* p1* p2;* p2t; 31、用指针实现将数组b10中的元素按逆序存放。include stdio.hvoid mainvoid sort char *p,int m; int i; char *p,b10; printfplease these numbersn; for i0;i10;i scanfd, p sortp,10; printfNow,the sequence isn; for i0;i10;i printfd ,bi;printfn;void sort char *p,int mint i; char temp, *p1,*p2; for i0;im/2;i p1pi; p2pm-1-i; temp*p1; *p1*p2; *p2temp; 32. 用冒泡法实现对10个整数按从大到小的顺序排序输出(要求用指针实现)。include stdio.hvoid main void swapint * p1,int * p2; int a10,* p ,i,j; printf 10 numbern; fori0;i10;i scanfd, pa; fori0;i10;i forji;j9;j ifaiaj1 swappi,pj1; fori0;i10;i printf5d ,ai; printfn; void swapint * p1,int * p2int t;t* p1;* p1* p2;* p2t;33、 用选择法实现对10个整数按从小到大的顺序排序输出(要求用指针实现)。include stdio.hvoid main void swapint * p1,int * p2; int a10,* p ,i,j; printf 10 numbern; fori0;i10;i scanfd, pa; fori0;i10;i forj0;j9-i;j ifajaj1 swappj,pj1; fori0;i10;i printf5d ,ai; printfn; void swapint * p1,int * p2int t;t* p1;* p1* p2;* p2t; 34 编写一个函数实现字符串复制功能include stdio.hvoid main char aI am a bo

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值