1、软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612软件学院/信息学院 C 语言上机试题大家学习 C 语言是为了使用,不是为了考试,所以我希望你们能先自己动手做做,然后再参考一下答案。我知道有些同学喜欢死记硬背,也许可以把这些题目的答案都背下来,但是那样做一点好处都没有。大学里,别把分数看得那么重要。找工作没人在乎你到底考了多少分。能诚实的对待考试,正确的看待分数,真才实学才是最应该得到的。 大家可以到 10.2.55.55 下载所有源代码(前提是我开电脑了,一般我晚上开)特别声明:出题老师请您注意!去年 C 语言
2、笔试卷子时,有些题目是只有软件学院 /信息学院的同学需要做的,但是卷头写的是“此题只有信息学院的同学做” ,小心呀,今年别才出现这样的错误了!别忘了软件学院!第三部分 - 复杂的数组/字符串处理:3-1. 编程,任意输入 10 个整数,按从小到大的顺序输出。main()int num10,i,j,temp;for(i=0;inumj) temp=numj;numj=numi;numi=temp; for(i=0;inum1j)temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;for(i=0;inum1j)te
3、mp=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. 编程,输入 10 个整数,然后进行查找。输入要查找的整数,若找到,则输出该数在
4、数组中的下标位置,否则输出“can not found!” 。main()int num210,i,j,temp;for(i=0;inum1j)软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612temp=num0j;num0j=num0i;num0i=temp;temp=num1j;num1j=num1i;num1i=temp;printf(“nFind :“);scanf(“%d“,for(i=0,j=0;imain()char strA80=“,ch;int i,j;printf(“Input string
5、:“);gets(strA);printf(“Input char :“);ch=getch();for(i=0;imain()char strA80,strB80,temp;int i,j;gets(strA);for(i=0;imain()char str80,temp;int i,j;gets(str);for(i=0;imain()char str80,temp;int i,j;gets(str);软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612for(i=0;istrj)temp=stri;stri=
6、strj;strj=temp;puts(str);3-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;iaij)break;if(k=m printf(“n a%d%d=%d is An Dian“,i,j,aij);if(re=0)puts(“No An Dian!“);3-12. 编程,按学生的序号输入 10 名学生的成绩,按照分数由高到低的顺序输出学生的名
7、次、序号和成绩,要求成绩相同的学生具有相同的名次。main()int num10,i,j,k,temp;for(i=0;i10000)k=10000;else if(j1000)k=1000;else if(j100)k=100;else if(j10)k=10;else k=1;n=0;don+=k*(j%10);j/=10;k/=10;while(k0);if(n=i*i)printf(“n%3d : %5d“,i,i*i);3-14. 编程,输入两个已经按从小到大顺序排列好的字符串,将两个字符串合并为一个新的从小到大排列字符串并输出。#include main()软件学院/信息学院 C
8、语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612char strA80,strB80,temp;int i,j,k;gets(strA);gets(strB);strcat(strA,strB);for(i=0;imain()char strA80,strB80,temp;int i,j;gets(strA);gets(strB);strcat(strA,strB);for(i=0;istrAj)temp=strAi;strAi=strAj;strAj=temp;puts(strA);3-16 编程,输入两个字符串 s1 和 s2,在
9、 s1 中删除任何 s2 中有的字符。例如,s1:“abc123ad” ,s2:“a1” ,则输出“bc23d” 。软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612#include main()char strA80,strB80;int i,j,k;gets(strA);gets(strB);strcat(strA,strB);for(i=0;imain()char strA80,strB80,temp;int i,j;gets(strA);for(i=0;imain()软件学院/信息学院 C 语言上机试题
10、CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612char 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);
11、if( strcmp(strA,strB)0 )strcpy(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. 用空格分开的字符串称
12、为单词。输入多行字符串,直到遇到了单词“stop“时才停止。最后输出单词的数量。#include main()软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612char 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()ch
13、ar strA80,strB80,ch;int i,j,lenA,lenB;puts(“Input s1“);gets(strA);puts(“Input s2“);gets(strB);puts(“Input k“);ch=getch();lenA=strlen(strA);lenB=strlen(strB);for(i=0;i=i;j-)strAj+lenB=strAj;for(j=0;jmain()char strA80,strB80,temp;int i,j,k;gets(strA);gets(strB);strcat(strA,strB);for(i=0;i0)strcpy(a5,a
14、i);strcpy(ai,aj);strcpy(aj,a5);for(i=0;imain()char strA80,strB80,temp;int i,j;gets(strA);gets(strB);strcat(strA,strB);for(i=0;i=0;j-)strAj+1=strAj;软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612strA0= ;puts(strA);3-28编程,输入两个字符串 s1、s2 ,将 s1 复制到 s2 并输出 s1 和 s2。复制时,若字符串 s1中存在缩写形式 (如:
15、 a z ) 应转换为字符串 s2 中的完整形式( abcdxyz) 。 “-”号之前的字符必须小于“- ”号之后的字符才是合法的缩写形式。例如,s1=abc-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;mm
16、ain()char str100,temp;int i,j,k;gets(str);for(i=0;iint fun(char ch)if(ch= | ch=t | ch=n)return 1;else return 0;软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612main()char str80,temp;int i,j,k;puts(“Input string:“);gets(str);puts(“OutPut words:“);for(i=0;i1) fun(i/2);printf(“%d“,i%2)
17、;main()int n;printf(“Input decimal :“); scanf(“%d“,fun(n);方法 2main()int binaty100;int n,i=0;printf(“Input decimal :“); scanf(“%d“,软件学院/信息学院 C 语言上机试题 CR 制造全部代码都是 CR 制造 自己写的 ; 有问题请与我联系 : QQ:1223612dobinatyi=n%2;n/=2;i+;while(n!=0);for(i-;i=0;i-)printf(“%d“,binatyi);写在最后:又是一年五一长假,去年我大一的时候就在五一假期写 C 语言作业,那时班里学习委员组织每个人写 5 道题,最后大家汇总,就能写完这 100 道题了。那时我写了 50道,可是大部分同学一道都没写,唉!什么团队意识!后来就没继续写了。今年这个五一为了给学弟学妹写完答案,五一假期花了一些时间在这上面,顺便也让我都写完这 160 道(包括其他学院的 60 道题) ,了结我的这个心愿。希望大家好好学知识的同时,一定要增强团队意识,这很重要。最后希望大家有个好成绩。考好了别忘了请我吃西瓜呵呵 _CR