版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、软件学院/信息学院 C语言上机试题 CR制造软件学院/信息学院 C语言上机试题大家学习C语言是为了使用,不是为了考试,所以我希望你们能先自己动手做做,然后再参考一下答案。我知道有些同学喜欢死记硬背,也许可以把这些题目的答案都背下来,但是那样做一点好处都没有。大学里,别把分数看得那么重要。找工作没人在乎你到底考了多少分。能诚实的对待考试,正确的看待分数,真才实学才是最应该得到的。 大家可以到 10.2.55.55下载所有源代码(前提是我开电脑了,一般我晚上开)特别声明:出题老师请您注意!去年C语言笔试卷子时,有些题目是只有软件学院/信息学院的同学需要做的,但是卷头写的是“此题只有信息学院的同学做
2、”,小心呀,今年别才出现这样的错误了!别忘了软件学院!第三部分 - 复杂的数组/字符串处理:3-1. 编程,任意输入10个整数,按从小到大的顺序输出。main()int num10,i,j,temp;for(i=0;i10;i+)scanf(%d,&numi);for(i=0;i10;i+)for(j=i+1;jnumj) temp=numj;numj=numi;numi=temp; for(i=0;i10;i+)printf(%4d,numi);3-2. 编程,任意输入10个人的成绩,按从大到小的顺序排列。运行程序时,只要输入名次,计算机就能输出该名次对应的成绩。main()int num1
3、0,i,j,temp;for(i=0;i10;i+)scanf(%d,&numi);for(i=0;i10;i+)for(j=i+1;j10;j+)if(numinumj) temp=numj;numj=numi;numi=temp; puts(Ming Ci:);scanf(%d,&j);printf(%4d,numj-1);3-3. 编程,输入10个人的序号和成绩,对成绩从小到大排序,输出排序后的序号和成绩。main()int num210,i,j,temp;for(i=0;i10;i+)printf(Input Num %d :,i+1);scanf(%d,&num1i);num0i=i
4、+1;for(i=0;i10;i+)for(j=i+1;jnum1j)temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;for(i=0;i10;i+)printf(n%4d (No = %2d),num1i,num0i);3-4. 编程,输入10个人的序号和成绩,对成绩从从大到小进行排序,输出排序后的序号和成绩。main()int num210,i,j,temp;for(i=0;i10;i+)printf(Input Num %d :,i+1);scanf(%d,&num1i);num0i=i+1;for(i
5、=0;i10;i+)for(j=i+1;j10;j+)if(num1inum1j)temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;for(i=0;i10;i+)printf(n%4d (No = %2d),num1i,num0i);3-5. 编程,输入10个整数及其序号,求出10个整数的最大值、次大值、最小值和次小值,并输出它们原来输入时的序号。main()int num210,i,j,temp;for(i=0;i10;i+)printf(Input Num %d :,i+1);scanf(%d,&num1
6、i);num0i=i+1;for(i=0;i10;i+)for(j=i+1;jnum1j)temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;printf(nMax : %4d (No = %2d),num19,num09);printf(nSecond Max : %4d (No = %2d),num18,num08);printf(nMin : %4d (No = %2d),num10,num00);printf(nSecond Min : %4d (No = %2d),num11,num01);3-6.
7、编程,输入10个整数,然后进行查找。输入要查找的整数,若找到,则输出该数在数组中的下标位置,否则输出“can not found!”。main()int num210,i,j,temp;for(i=0;i10;i+)printf(Input Num %d :,i+1);scanf(%d,&num1i);num0i=i+1;for(i=0;i10;i+)for(j=i+1;jnum1j)temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;printf(nFind :);scanf(%d,&temp);for(i=
8、0,j=0;i10;i+)if(num1i=temp)printf(nFound %4d (No = %2d),num1i,num0i),j=1; if(j=0)printf(nCan not found!);3-7编程,输入一个字符串并删除其中的指定字符。例如,对于字符串abcdcf,指定删除c,则结果为:abdf。#include main()char strA80=,ch;int i,j;printf(Input string :);gets(strA);printf(Input char :);ch=getch();for(i=0;istrlen(strA);i+)if( strAi=
9、ch )for(j=i;jstrlen(strA);j+)strAj=strAj+1;printf(Output :);puts(strA);3-8. 编程,输入一行字符,将其反序后再输出。#include main()char strA80,strB80,temp;int i,j;gets(strA);for(i=0;istrlen(strA);i+)strBstrlen(strA)-1-i=strAi;strBstrlen(strA)=0;puts(strB);3-9. 编程,输入一行字符,将其中的每个字符从小到大排列后输出。#include main()char str80,temp;i
10、nt i,j;gets(str);for(i=0;istrlen(str);i+)for(j=0;ji;j+)if(stristrj)temp=stri;stri=strj;strj=temp;puts(str);3-10. 编程,输入一行字符,将其中的每个字符从大到小排列后输出。#include main()char str80,temp;int i,j;gets(str);for(i=0;istrlen(str);i+)for(j=0;jstrj)temp=stri;stri=strj;strj=temp;puts(str);3-11. 编程,找出一个二维数组中的鞍点,即该位置上的元素是该
11、行上的最大值,是该列上的最小值。二维数组也可能没有鞍点。main()int a1010=1,2,3,14,4,3,2,11,2,0,5,7,8,4,2,11,m=4,n=4;int i,j,k,l,re=0;for(i=0;im;i+)for(j=0;jn;j+)for(k=0;km;k+)if(akjaij)break;for(l=0;laij)break;if(k=m & l=n)re+;printf(n a%d%d=%d is An Dian,i,j,aij);if(re=0)puts(No An Dian!);3-12. 编程,按学生的序号输入10名学生的成绩,按照分数由高到低的顺序输
12、出学生的名次、序号和成绩,要求成绩相同的学生具有相同的名次。main()int num10,i,j,k,temp;for(i=0;i10;i+)scanf(%d,&numi);for(i=0;i10;i+)for(j=i+1;j10;j+)if(numinumj) temp=numj;numj=numi;numi=temp; for(i=0;i10;i+)k=i+1;if(numi=numi-1)k=temp;printf(n%2d : %4d,k,numi);temp=k;3-13. 编程,输出所有不超过(取n256)的、其平方具有对称性质的正整数(也称为回文数)。main()int i,j
13、,n,k;for(i=1;i10000)k=10000;else if(j1000)k=1000;else if(j100)k=100;else if(j10)k=10;else k=1;n=0;do n+=k*(j%10); j/=10; k/=10;while(k0);if(n=i*i)printf(n%3d : %5d,i,i*i); 3-14. 编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串并输出。#include main()char strA80,strB80,temp;int i,j,k;gets(strA);gets(strB);s
14、trcat(strA,strB);for(i=0;istrlen(strA);i+)for(j=0;ji;j+)if(strAistrAj)temp=strAi;strAi=strAj;strAj=temp;puts(strA);3-15. 编程,输入两个已经按从小到大顺序排列好的字符串,合并两个字符串,使合并后的字符串中字符从大到小排列并输出。#include main()char strA80,strB80,temp;int i,j;gets(strA);gets(strB);strcat(strA,strB);for(i=0;istrlen(strA);i+)for(j=0;jstrAj
15、)temp=strAi;strAi=strAj;strAj=temp;puts(strA);3-16 编程,输入两个字符串s1和s2,在s1中删除任何s2中有的字符。例如,s1:“abc123ad”,s2:“a1”,则输出“bc23d”。#include main()char strA80,strB80;int i,j,k;gets(strA);gets(strB);strcat(strA,strB);for(i=0;istrlen(strB);i+)for(j=0;jstrlen(strA);j+)if(strAj=strBi)for(k=j;kstrlen(strA);k+)strAk=s
16、trAk+1;puts(strA);3-17. 编程,输入一行文字,判断该行文字是否是回文。 例如,读入:MA DAM I MAD AM 输出:YES 读入:ABCDBA. 输出:NO#include main()char strA80,strB80,temp;int i,j;gets(strA);for(i=0;istrlen(strA);i+)strBstrlen(strA)-1-i=strAi;strBstrlen(strA)=0;if(!strcmp(strA,strB)printf(Yes);else printf(No);3-18. 编程,输入若干个字符串,当输入字符串的长度为0时
17、停止输入。输出最长的字符串。#include main()char strA80=,strB80=;int i;dogets(strA);if(strlen(strA) strlen(strB) )strcpy(strB,strA);while( strlen(strA)!=0 );printf(Longest word :);puts(strB);3-19. 编程,输入若干个字符串,当输入字符串的长度为0时停止输入,输出最大字符串。#include main()char strA80=,strB80=;int i;dogets(strA);if( strcmp(strA,strB)0 )st
18、rcpy(strB,strA);while( strlen(strA)!=0 );printf(Biggest word :);puts(strB);3-20.“1898要发就发”。将不超过2004的所有素数从小到大排成第一行,第二行上的每个数都等于它“右肩”上的素数与“左肩”上的素数之差。编程,输出第二行数中满足下列条件的整数:第二行数中若干个连续整数的和恰好是1898。 第一行:2 3 5 7 11 13 17 . 1979 1987 1993第二行: 1 2 2 4 2 4 . 8 6暂无答案 3-21. 用空格分开的字符串称为单词。输入多行字符串,直到遇到了单词stop时才停止。最后输
19、出单词的数量。#include main()char strA80=;int i,n=0;dogets(strA);n+;while(strcmp(strA,stop);printf(Total: %2d words,n);3-22. 编程,输入两个字符串s1、s2和s1中任意字符k,在s1中的指定字符k的位置处插入字符串s2并输出。#include main()char strA80,strB80,ch;int i,j,lenA,lenB;puts(Input s1);gets(strA);puts(Input s2);gets(strB);puts(Input k);ch=getch();
20、lenA=strlen(strA);lenB=strlen(strB);for(i=0;i=i;j-)strAj+lenB=strAj;for(j=0;jlenB;j+)strAi+j=strBj;lenA+=lenB;i+=lenB;puts(strA);3-23.任意输入一个4位自然数,输出该自然数的各位数字组成的最大数。例如,输入1593,则输出为9531。main()int a4,n,m,i,j;printf(Input n :);scanf(%d,&n);for(i=0;i4;i+)ai=n%10;n/=10;for(i=0;i4;i+)for(j=i+1;j4;j+)if(aiaj
21、)n=ai;ai=aj;aj=n;printf(%d,m=a0*1000+a1*100+a2*10+a3);3-24. 编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串,并删除重复的字符,然后输出该字符串。#include main()char strA80,strB80,temp;int i,j,k;gets(strA);gets(strB);strcat(strA,strB);for(i=0;istrlen(strA);i+)for(j=0;ji;j+)if(strAistrAj)temp=strAi;strAi=strAj;strAj=temp
22、;for(i=0;istrlen(strA);i+)for(j=i+1,k=0;jstrlen(strA);j+)if(strAi!=strAj)k=j-i-1;break;if(k!=0)for(j=i;jstrlen(strA);j+)strAj=strAj+k;puts(strA);3-25. 编程,输入五个字符串,请将它们按从小到大的顺序排列后输出。main()char a680;int i,j;for(i=0;i5;i+)printf(string %d:,i+1);gets(ai);for(i=0;i5;i+)for(j=i+1;j0)strcpy(a5,ai);strcpy(ai
23、,aj);strcpy(aj,a5);for(i=0;i5;i+)puts(ai);3-26. 编程,输入五个字符串,请将它们按从大到小的顺序排列后输出。main()char a680;int i,j;for(i=0;i5;i+)printf(string %d:,i+1);gets(ai);for(i=0;i5;i+)for(j=i+1;j5;j+)if(strcmp(ai,aj)0)strcpy(a5,ai);strcpy(ai,aj);strcpy(aj,a5);for(i=0;i5;i+)puts(ai);3-27. 编程,将输入的两行字符串连接后,将新串中全部空格移到串首后输出。#i
24、nclude main()char strA80,strB80,temp;int i,j;gets(strA);gets(strB);strcat(strA,strB);for(i=0;istrlen(strA);i+)if(strAi= )for(j=i;j=0;j-)strAj+1=strAj;strA0= ;puts(strA);3-28编程,输入两个字符串s1、s2,将s1复制到s2并输出s1和s2。复制时,若字符串s1中存在缩写形式 (如: a z ) 应转换为字符串s2中的完整形式(abcdxyz)。“-”号之前的字符必须小于“-”号之后的字符才是合法的缩写形式。例如,s1=abc
25、-fg,则s2=abcdefg,如果s1=abc-af,则 s2=abc-af。应能够处理任意可显示的ASCII字符。这道题比较复杂 应该给你们加上注释 不好意思 忘了加 呵呵main()char strA80,strB80=;int i,j,k,m,s=0;gets(strA);for(i=0;i=strAi+1 | strAi+1=0)strBi+s=strAi;elsek=strAi+1-strAi-1;for(m=1;mk;m+)strBi+s+m-1=strAi-1+m;s+=k-2;puts(strB);3-29. 编程,输入字符串,输出字符串中每个字符所出现的次数。如: 输入字符
26、串: abcedabcdcd 则输出: a=2 b=2 c=3 d=3 e=1main()char str80;int a256=0,i,temp;puts(Input string);gets(str);for(i=0;stri!=0;i+)temp=stri;atemp+;puts();for(i=0;i256;i+)if(ai!=0)printf(%c=%d ;,i,ai);3-30. 编程,输入一个长度不超过100的字符串,删除串中的重复字符后输出。如: 输入字符串: abacaeedabcdcd 则输出: abced#include main()char str100,temp;int i,j,k;gets(str);for(i=0;istrlen(str);i+)for(j=0;ji;j+)if(stri=strj)for(k=i;kstrl
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《古代存留养亲制度及其当代借鉴》
- 工程空白合同范例
- 网上查询购房合同范例
- 租户装修合同范例
- 二手汽车购买协议书3篇
- 垫资施工合同中的责任分配3篇
- 合同补充协议的实践操作与注意事项3篇
- 全新协议存款管理办法3篇
- 监事劳务合同范例
- 事业单位劳动合同期限有多久3篇
- 三级安全教育试题(公司级、部门级、班组级)
- 2024年金融工作会议
- 2024年人教版八年级生物上册期末考试卷(附答案)
- 开发思路方案
- 平面的投影完整版本
- 第八单元试题-2024-2025学年统编版语文四年级上册
- 环保工程施工安全检查表
- 人教版五年级上册数学期末考试试卷含答案
- 2024年大学试题(管理类)-薪酬管理考试近5年真题集锦(频考类试题)带答案
- 北师大版四年级上册书法练习指导-教案
- 初中道德与法治全六册复习提纲
评论
0/150
提交评论