欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    c语言试题完整版本.docx

    • 资源ID:1575323       资源大小:32.25KB        全文页数:37页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言试题完整版本.docx

    C语言试题第三题#inc1.udevoidmai0(intn,i,ma×=0;inta20;scanf("%d",¾n);for(i=0;i<n;i+)scanf("%d,¾a(i);for(i=0;i<n;i+)(if(ma×<ai)ma×=ai;)printf("%d",ma×);)第四题#inc1.udedoub1.ef(int);voidmai0(intn;scanf("%d',¾n);printf("%.8f",f(n);)doub1.ef(intn)inti;doub1.eresu1.t=0.0;for(i=1.;i<=n;i+)resu1.t=resu1.t+(doub1.e)1.i;returnresu1.t;6题目:栽树题目描述:在某食堂门前有11(n<200)个树坑,编号是从0n-1.,开始时是没有树的。每个月,园林工人都会在编号ab(0<=a<=b<=n-:1.)之间栽树(包括a,b),如果树坑原来有树,则不需要从新栽树。请计算4个月后,食堂门前总共有多少棵树。输入描述:第一个整数是nf接下来有8个整数,分别为每个月栽树的编号。输出描述描述:食堂门前树的总数.第六题#inc1.udevoidmai0intn;inta1.,b1.,a2,b2,a3,b3,a4,b4;intresu1.t=O;inti;scanf("%dn);scanf("%d%d"a1.,8ib1.);scanf(n%d%dna2f8b2);scanf(n%d%d"a3,8b3);SCanf("%d%d",&a4,&b4);for(i=0;i<n;i+)(if(i>=a1.&&i<=b1.)resu1.t+;e1.seif(i>=a2&&i<=b2)resu1.t+;e1.seif(i>=a3&&i<=b3)resu1.t+;e1.seif(i>=a4&&i<=b4)resu1.t+;)printf("%d",resu1.t);)7题目标题:密码破译题目描述:某组织欲破获一个外星人的密码,密码由一定长度的字串组成。此组织拥有一些破译此密码的长度不同的钥匙,若两个钥匙的长度之和恰好为此密码的长度,则此密码被成功被逐。现在就请你编程找出能破译此密码的两个钥匙。输入描述:输入第一行为钥匙的个数N(1N5OOO)输入第二行为密码的长度以下N行为每个钥匙的长度输出描述描述:若无法找到破译此密码的钥匙,则输出仅1行0。若找到两把破译的钥匙,则输出有两行,分别为两把钥匙的编号。若有多种破译方案,则只输出一种即可。#indudevoidmai0(intn,s5000J,ij,sign=1.jm=0;scanf("%d",&n);scanf("%d",8i1.);for(i=0;i<n;i+)scanf(n%d'si);for(i=0;i<n;i+)if(sign=O)break;for(j=i+1.;j<n;j+)if(si+sj=1.)printf("%dn%d",i+1.,j+1.);sign=O;break;if(sign)printfC%d",m);)#inc1.udevoidmain()intm,n,sum,ij,a5000;scanf(n%d8in);scanf("%d",8tm);for(i=1.;i<=n;i+)scanf("%d"ai);for(i=1.;i<n;i+)for(j=i+1.;j<=n;j+)sum=ai+aj;p=sum-m;if(p=O)printfC%dn%d"ii,j);)#inc1.udevoidmai0(intN1Iength;intij,key(5000;intnum1.,num2,t;scanf("%d'N);scanf("%d",8i1.ength);for(i=0;i<n;i+)sc</n;i+)</n;i+)</n;j+)</n;i+)</n;i+)</n;i+)<ai)</n;i+)</n;i+)anf('%d"key(i);t=1.;for(i=0;i<n&&t=1.;i+)for(j=i+1.j<nj+)(if(keyi+keyj=Iength)(num1.=i+1.;num2=j+1.;t=0;break;)if(t=1.)printf("0");e1.seprintf("%dn%d",num1.,num2);9题目标题:基因编码(闫博钊)题目描述:小可可选修了基础生物基因学.教授告诉大家SUPerSamue1.星球上Kitty猫的基因的长度都是2的正整数次幕2k(k8),全是由两种不同的基因单元组成的。这两种不同的基因单元分别记成0和1,于是Kitty猫的基因可以写成一个O1.串表达式So为了便于分析和降低数据存储量,教授发明了ABC编码规则。该编码规则是不断地按照A(若S串全是0)T(三)=B(若S串全是1)CT(S1.)T(S2)(否则把S串分成两个等长的子串S1.和S2)对Kitty猫基因01串表达式S进行改写,直至最终被改写成只含有字符"A"、"B"、"C"的符号串。例如T(01001011)=CT(O1OO)T(1O11)=CCT(O1)T(OO)CT(1O)T(11)=CCCt(O)T(I)ACCT(I)T(O)B=CCCABACCBAB请你编写程序帮助小可可求出Kitty猫基因的ABC编码以协助教授开展科研工作。输入描述:测试以一行的形式存放Kitty猫基因的01串表达式,字符串长度不超过500输出描述描述:对应测试数据,以一行的形式输出这个Kitty猫基因的ABC编码.#inc1.ude#inc1.udevoidf(charaQ,intbegin,intend);intmain()(chara500;int1.ength;gets(八);1.ength=str1.en(八);f(a,OJength);return0;)voidf(chara。,intbegin,intend)intnum_A=0,num_B=0;inti;for(i=begin;i<end;i+)if(ai='O')num_A+;e1.seif(ai=")num_B+;)if(num_A=end-begin)printf("A");e1.seif(num_B=end-begin)printf("B");e1.se(printf("C');f(a,begin,(end+begin)2);f(a,(end+begin)2,end);11题目标题:(有问题)大数相加(彭玉旭)题目描述:a÷b这个程序大家都会做,但是如果a和b都匕嫩大时该怎么办呢。其实我们可以把输入一个比较大的数用字符串表示,模拟人工加法方式。如123÷23,一个字符串是123另外一个字符串是23,从字符串的最后开始加彳国到146.结果最大是两个字符串最长的那个值加Ie现在请你计算两个不超过30位的十进制的数的和。知识点:字符串输入,字符的09的加法运算。提示:字符。的ASCII是48,注意进位处理输入描述:包行四行,每一行包含不超过30个的由09的字符组成字符串.输出描述描述:第一行加第二行的和以及第三行加第四行的和。每一个和占一行#inc1.ude#inc1.ude</end;i+)</n;j+)</n&&t=1.;i+)char*add_highjd(char*afchar*b)(char*s;intIenmax,Ienmin,i,ky=O,rn;if(str1.en(b)>str1.en(八))s=a;a=b;b=s;1.enma×=str1.en(八);1.enmin=str1.en(b);for(i=1.;i<=IenminJ+)(m=a1.enma×-i+b1.enmin-i-96+key;if(m>=10)a1.enma×-i=m%10+48;key=1.;)e1.se(a1.enma×-i=m+48;key=0;)for(i=1.;i<=Ienmax-IenminJ+)m=a1.enma×-1.enmin-i-48+key;if(m>=10)(a1.enma×-1.enmin-i=m%10+48;key=1.;)e1.sea1.enma×-1.enmin-i=m+48;key=O;)if(key)(for(i=1.enmax;i>=1.;i)ai=ai-1.;aO='a(1.enma×+1.=,O,;)returna;12题目标题:(有问题)字符串比对(讴海军)题目描述:有字符串a(长度<=1OO),b(长度<=10),计算b串在a串中出现的次数。解题思路:1、用gets语句从键盘输入两个字符串赋予a,b字符数组;2、建立两层嵌套循环,外循环至a串结束标志为止,内循环至b串结束标志为止;3、内循环中比对b串与a串的数据,满足条件时计数,否则break;4、所有循环结束后输出计数值。输入描述:输入为两个字符串,第一个字符串长度小于100,第二个字符串长度小于10;输出描述描述:输出为一个正整数;#inc1.ude#inc1.udevoidmai0chara(100,b10;intij,count,resu1.t;gets(八);gets(b);resu1.t=O;for(i=0;i<str1.en(八);i+)for(j=0,count=0;j<str1.en(b);j+)(if(bj=ai+j)count+;e1.sebreak;)if(count=str1.en(b)resu1.t+;)printf("%d',resu1.t);)intmain()(chara40='0'),b40=,0,jc40=,0',d40=,0,e40=,0,f40='0'whi1.e(gets(八)!=NU1.1.&&gets(b)!=NU1.1.&&gets(c)!=NU1.1.&&gets(d)!=NU1.1.)/?x?O±i?a?(StrCPy(e,adC1.highJd(a,b);strcpy(f,add-highjd(c,d);puts(e);/?.puts(f);/?.)returnO;14题目标题:(有问题)星期几?(讴海军)题目描述:编一个程序,已知今天是星期几,计算出n天后是星期几。要求使用枚举变量。提示:枚举变量的赋值只能用枚举常量来表示,但是枚举常量均有一个整形数代表,可将改整形数存入枚举变量地址以实现外部赋值的目的。如:enumdaySun,MonJue,Wed,Thu,Fri,Satd1.;scanf("%d',d1.);当键盘输入1时,相当于将d1.赋值为Mon,即d1.=Mon枚举变量的输出,只能输出其代表的整形数,如需输出其对应的枚举常量,可借助字符串数组的方式处理;如:char*p(="Sun","Mon",wTuewf"Wed"Thun,'Fri","Saf;printf("%s"(p+2);<str1.en(b)J+)</str1.en(八);i+)其输出结果为:Tue输入描述:输入为两个正整数,第一个数n(n<=6)表示今天是星期几,第二个数m(m<=1000),表示求m天后是星期几;输出描述描述:输出为一个长度为3的字符串,表示星期几的名称;#inc1.udevoidmai0(enumdaySun,Mon,TuefWedJhu,Fri,Satd;charp(="Sun","Mon'','Tue","Wed"f"Thu"FriSat");intm;scanf("%d%d",&d,&m);printf("%s"Xp+(d+m)%7);16题目标题:17题目标题:四位反序数(卜胜贤)题目描述:设N是一个四位数,它的n倍恰好是其反序数(例如:123的反序数是321),编程,输出一个满足条件的Ne(知识点:控制语句)输入描述:输入为一个整形数n(2<=n<=9)输出描述描述:输出为一个四位数的整形数#inc1.udeintnumber(intn);voidmai0intn,i,t=O;scanf("%d',&n);for(i=1000;i<10000;i+)(if(i*n=number(i)(t=i;break;)printf("%dt);)intnumber(intn)(inta1.,a2,a3,a4;intresu1.t;a1.=n%10;a2=n10%10;a3=n100%10;a4=n1000;resu1.t=a1.*1000+a2*100+a3*10+a4;returnresu1.t;)19题目标题:字符串复制(卜胜贤)题目描述:有一个字符串,包括个字符。写一个函数,将此字符串从第m个字符开始的全部字符复制成另一个字符串。要求在主函数输入字符串及m值并输出复制结果.(知识点:控制语句、字符串、指针)输入描述:输入为一个字符串(长度小于80)及一个整形数(小于字符串的实际长度)输出描述描述:输出为一个字符串#inc1.ude#inc1.udevoidmain()(intn,m,i;charstr80;char*p;p=str;gets(str);scanf("%d",&n);m=StrIen(Str);for(i=n-1.;i<m;i+)printf("%c,*(p+i);)#indude#inc1.udevoidmain()(itifj,n;chara80;gets(八);scanf("%d',¾n);for(i=n-1.;i<str1.en(八);+i)printf("%c,ai);)20题目标题:二维字符数组转换(卜胜贤)题目描述:编写函数fun,函数的功能是:将M行N列的二维数组中的字符数据,按列的顺序依次放到-个字符串中.例如,二维数组中的数据为:WWWWSSSSHHHH则字符串中的内容应是:wshwshwsho(知识点:数组、指针)输入描述:输入为一个3行4列二维字符数组数据输出描述描述:输出为一个长度为12的字符数组;#inc1.udevoidmai0(chara34,s12;char(*p1.)4,*p2;inti;voidfun(char(*p1.)4,char*p2);for(i=0;i<4;i+)(scanf("%c",¾aOi);getchar();)for(i=0;i<4;i+)(scanf("%c",&a1.i);getchar();)for(i=0;i<4;i+)scanf("%c"i8</str1.en(八);+i)</m;i+)a2i);getchar();)p1.=a;p2=s;fun(p1.,p2);puts(三);voidfn(char(*p1.)4,char*p2)intij;for(i=0;i<4;i+)for(j=0;j<3;j+)(*p2=*(*(p1.+j)+i);P2+;*p2='0')#inc1.udevoidmain()(chara38,b24;inti,j,k=O,t=O;for(i=0;i<3;+i)for(j=0;j<8;+j)scanf("%cn,8t,aij);whi1.e(k<24)(bk=ak%3t;k+;if(k%3=O)t+;)if(bi!=")printf(n%c',bi);if(bi)='n')break;)21题目标题:年龄分组(卜胜贤)题目描述:统计各年龄段的人数。N(N=20)个年龄通过键盘输入,并放在age数组中;要求函数把0至9岁年龄段的人数放在d中,把10至19岁年龄段的人数放在d1.中,把20至29岁年龄段的人数放在d2,其余依此类推,把100岁(含100)以上年龄的人数都放在d10中。依次输出d0至d10输入描述:输入为20个正整数;输出描述描述:输出为11个正整数;#inc1.ude#defineN20voidmai0(inti,ageN,d1.1.;for(i=0;i<n;i+)scanf("%d",8agei);for(i=0;i<1.1.;i+)d(i=0;for(i=0;i<n;i+)(if(agei>=0&&agei<=9)d0+;e1.seif(agei>=10&&age(i<=19)d1.+;e1.seif(agei>=20&&agei<=29)d2+;e1.seif(agei>=30&&age(i<=39)d3+;e1.seif(agei>=40&&agei<=49)d4+;e1.seif(agei>=50&&agei<=59)d5+;e1.seif(agei>=60&&agei<=69)d6+;e1.seif(agei>=70&&agei<=79)d7+;e1.seif(agei>=80&&agei<=89)d8+;e1.seif(agei>=90&&agei<=99)d9+;e1.seif(agei>=100)d10+;)for(i=0;i<10;i+)printf("%d",di);printf("%d',d10);)#inc1.udevoidmai0(inta20,b1.1.;inti,j;for(i=0;i<20;+i)scanf("%d&ai);for(i=0;i<1.1.;+i)bi=O;for(i=0;i<20;+i)if(ai>=G*10)&&ai<=(j*10+9)bj+;)if(a(i>=100)b10+;)for(i=0;i<10;+i)printf("%d"fbi);printf(n%d,b10);)22题目标题:分数数列求和(返海军)题目描述:有一个分数数列为:2/1,3/2,4/3,5/4求出这个数列的前n(11<=20)项之和,保留小数点后4位(I输入描述:输入一整数n(n<=20);输出描述描述:输出为一个小数,保留小数点后4位;#inc1.udevoidmai0(f1.oats=2.0,t=1.0,resu1.t=0;intn,i;scanf("%d',¾n);for(i=0;i<n;+i)resu1.t=resuIt+st;s+;t+;)printf("%.4f",resu1.t);)24题目描述题目标题:鞍点(讴海军)题目描述:找出一个二维数组中的鞍点,即该位者上的元素在</n;+i)</n;i+)</n;i+)该行上最大、在该列上最小。也可能没有鞍点。输入描述:输入3行3列的二维整形数组;输出描述描述:如果鞍点存在,输出其坐标;否则输出-1;如:鞍点位于第一行第三列,则输出13;#inc1.ude#defineN3intGetRowInde×(intaN,intco1.)(introw=0;inti;intmin=a0(co1.;for(i=1.;i<n;i+)if(aico1.<min)(min=a(i(co1.;row=i;)returnrow;)voidmai0(intaNN;intiJ,row,co1.,max,rowResu1.t,f1.ag=0;for(i=0;i<n;i+)for(j=0;j<n;j+)scanf("%d-,aij);for(i=0;i<n;i+)(row=i;co1.=0;max=a(i0;for(j=1.;j<n;j+)if(a(i(j>max)(co1.=j;ma×=aij;)rowResu1.t=GetRowIndex(a,co1.);if(row=rowResu1.t)(f1.ag=1.;break;)if(f1.ag=1.)(printf("%d%d",row+1.,co1.+1.);)e1.seprintf("%d-1.);)25题目标题:最长单词(讴海军)题目描述:输入一个字符串,将其中最长的单词输出(不含标点符号);如果最长单词的数量有多个,输出第一个即可;注:大写字母的ascii码从6590,小写字母的ascii码从97122;输入描述:输入为长度小于100的字符串;输出描述描述:输出为长度小于100的字符串;27题目标题:直找不同的木棍(彭玉旭)题目描述:小明的收集了一些木棍,并测量了每个木棍的长度,记录下来.假设小明有奇数根木棍,只有一个木棍找不到跟它一样长的另外一根木棍.请编程找出这个没有相同长度的木棍,输出它的长度.知识点:排序;或者用异或操作0异或x=x;x异或x=0;a异或b异或c=a异或(b异或c)=(a异或b)异或c=a异或C异或b输入描述:输入包含一个奇数n(n<30000),然后是n个整数,表示每个木棍的长度,并保证只有一根木棍找不到跟他一样长的木棍.输出描述描述:输出符合条件的木棍的长度#inc1.ude#defineN30000voidmai0(intn,i,j,temp;intaN;scanf("%d'An);for(i=0;i<n;+i)scanf("%d",a(i);for(i=0;i<n-1.;+i)for(j=i+1.;j<n;+j)(f(ai<aj)(temp=ai;ai=aj;a(j=temp;)for(i=0;i<n;+i)(if(i=n-1.)(printf("%d',ai);break;)for(j=0;j<t-i;+j)printf("%d",aij);printf("");)51题目标题:卫星定位(胡宁静)题目描述:编写程序,对一个已经排好序的数组,输入一个元素。将该元素在数组中的位置索引出来(折半查找)O例如原数组为:12679,输入待查找的元素7,则查找结果为4,如果没有找到该元素,则输出-1;输入描述:输入包含两部分,第一部分先输入n,表示数组中元索数,接着输入n个已经排序好的数,数组最大个数n为20,第二部分为待直找的数据输出描述描述:待查</t-i;+j)<t+i)</t-i;+j)</t;+i)</t;+i)</t-i;+j)</t;+i)</t-i;+j)</t;+i)<+i)删除特定元素后的剩余元素#inc1.udevoidmai0(intn,i,a1000num=0;intk=O;scanf("%d",&n);for(i=0;i<n;+i)scanf("%d'f8ai);scanf("%d'At);for(i=0;i<n;+i)if(t=ai)num+;)if(num%2=0)(for(i=0;i<n;+i)if(t=ai)k+;if(k=num2)(k=n;continue;)printf(n%d",ai);)e1.sefor(i=0;i<n;+i)if(t=a(i)k+;if(k=(num+1.)2)(k=n;continue;)printf(n%d"fai);)53题目标题:是非黑白(胡宁静)题目描述:编写函数实现两个等长字符串大小比较.比较规则如下:字符大小按对应的ASCII码值,字符串大小比较时按对应字符比较,如果比较的两字符不等,则说明存在大小关系,停止比较操作.如果相等,则比较下一次字符,直到最后一个.如果第一个字符串小于第二个字符串则输出第二个字符串,如果大于则输出第一个字符串,如果相等则返回0;输入描述:输入待比较的两个字符串输出描述描述:字符串b匕较结果#inc1.ude#inc1.udevoidmai0(chara100,b100;int1.en,i1temp;scanf("%s",a);scanf("%s",b);1.en=str1.en(八);for(i=0;i<1.en;+i)(if(ai<bi)(temp=1.;break;)e1.seif(ai>bi)(temp=2;break;)if(i=1.en)printf("O");e1.seif(temp=1.)printf("-);e1.seif(temp=2)printf("1.");)54题目标题:搭桥(胡宁静)题目描述:编写函数将两个升序排列的字符串融合成一个字符串,融合后的字符串仍然是升序排列的。输入描述:输入两升序字符串输出描述描述:融合后的字符串<bi)</1.en;+i)</n;+i)</n;+i)</n;+i)</n;+i)</n;+i)</n;+i)#inc1.ude#inc1.udevoidmai0chara1001.b100,c(2001.temp;inta_1.en(b_1.en,i,j,k=O;gets(八);gets(b);ajen=str1.en(八);bjen=str1.en(b);for(i=0;i<a_1.en;+i)(ci=ai;)for(i=a_1.en;i<a_1.en+b_1.en;+i)(c(i=bi-ajen;)for(i=0;i<a_1.en+bJen;+i)for(j=i+1.;j<a_1.en+b_1.en;+j)(if(ci>cj)(temp=ci;ci=cj;c(j)=temp;)for(i=0;i<a_1.en+b_1.en;+i)printf("%c',ci);)55题目标题:一清二楚(胡宁静)题目描述:输入一字符串,该字符串包含字母、数字和其他字符。统计该字符串中数字、字母和其他字符出现的频率。(注意,其他字符包含空格)输入描述:一混合字符串,最大长度为200各类字符出现频率输出描述描述:各类字符出现频率#inc1.ude#inc1.udevoidmai0chara200;int1.en,i,num1.=01.num2=0,num3=0;gets(八);1.en=str1.en(八);for(i=0;i<1.en;+i)(if(ai>='a'&&ai<='z')(ai>='A'&&ai<='Z,)num1.+;e1.seif(ai>='0,&&a(i<='9')num2+;e1.senum3+;)PrintfeI字母:dn",num1.);Printf("数字:dn",num2);Printf("其他:dr,num3);)56题目标题:克隆(胡宁静)题目描述:编写程序实现字符串拷贝,输入两字符串(字符串长度小于100),将第一个字符串拷贝到第二个字符串中;如果第一个字符串的长度a小于第二个字符串长度b,则第二个字符串的长度也将缩减至第一个的长度a,如果第一个字符串的长度a大于或等于第二个长度b,则只将a的前b个字符拷贝到第二个中;输入描述:输入两字符串输出描述描述:输出第二个字符串#indude#inc1.udevoidmain()(chara100,b100;intajen,bjenfi;gets(八);gets(b);ajen=str1.en(八);bjen=str1.en(b);if(a_1.en<b_1.en)(for(i=0;i<a_1.en;+i)printf("%c",bi);)e1.sefor(i=0;i<b_1.en;+i)printf("%c',ai);</b_1.en;+i)</a_1.en;+i)</ben)</1.en;+i)</a_1.en+b_1.en;+i)(+fue>(!+fu-q+ue>(+fu-q+u-e>(f+!u-q+u-e>

    注意事项

    本文(c语言试题完整版本.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开