版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、期末考试说明本次考试全部采用笔试形式,分为如下三种题型一、程序阅读题(10空X2分/空=20分)二、程序修改题(10空X2分/空=20分)三、程序设计题(6题xio分/题=6o分)程序阅读和修改题主要涉及知识点如下:scanf 和 printf、switch 循环 (for、while do-while) 及和 break、continue 结合、 二维数组处理、字符串处理、函数递归调用、static、宏定义展开、文件定义、翻开fopen、 关闭fclose和读写操作(fscanf和fprintf)程序设计题主要考核如下内容:.单纯的分支结构.单纯的一层循环结构.实现完整的函数:函数的定义、函
2、数体的编写、带返回值的和不带返回值的函数、值 传递、地址传递。涉及到分支、循环、数组、字符串、结构体等。以下内容不做考试要求: 指向二维数组的指针、指针函数、指针数组、多级指针、共用体、枚举、位运算、文件 fseek ftell fread 和 fwrite2 10输出样例3 5 7#include #include int main()(int i,a,n,m;scanf(,%d%d,&m,&n);for(a=m; an; a+)(for(i=2; i=a; i+)if(a%i=0)break;)if(i=a)(printf(n %dn,a);)printfCn1);return 0;)回文
3、数问题描述输入一个正整数,判断是否为回文数。输入一个正整数n输出如果是,输出Yes,否那么输出No输入样例12321输出样例Yes#include #include int main()(int a,n,m=O;scanf(H%dn,&n);a=n;while(n!=O)(m=m*10+n%10;n=n/10;)if(m=a)(printf(HYesnn);)else(printf(HNonn);)return 0;)贪吃的猴子问题描述有一只猴子,第一天摘了假设干个桃子,当即吃了一半,但还觉得不过瘾,就又多吃了 一个。第2天早上又将剩下的桃子吃掉一半,还是觉得不过瘾,就又多吃了两个。以后 每天
4、早上都吃了前一天剩下的一半加天数个(例如,第5天吃了前一天剩下的一半加5 个)。到第n天早上再想吃的时候,就只剩下一个桃子了。输入天数n输出第一天的桃子个数。提示:输出语句为printf(nThe monkey got %d peachs in first daynsum);输入样例5输出样例The monkey got 114 peachs in first day.提示:问题分析:总共to日吃掉剩余1 tO/2+1 t0-(t0/2+l)=t0/2-l tl=t0/2-l =t0=(tl+l)*22 tl/2+2 tl-(tl/2+2)=tl/2-2 t2=tl/2-2 =tl=(t2+2
5、)*2 n-1 tn-2/2+(n-l) tn-2-(tn-2/2+(n-l)=tn-2/2-(n-l) tn-i=tn-2/2-(n-l) = tn-2= (tn-i+n-l)*2n 1 0 tn-i = l#include #include int main()(double n,i, m=l;scanf(H%lf&n);for(i=l;i=n-l;i4-+)(m=(n-i+m)*2;)printf(nThe monkey got %.01f peachs in first day.nu,m);return 0;)马戏团人数问题描述一个马戏团表演,n个座位全满,全部门票收入是120元,现在
6、知道,男人每人5元, 女人每人2元,小孩每人1角。根据总人数,计算出男人、女人和小孩各多少人。输入总人数n输出男人、女人和小孩人数,假设n人无法满足条件,那么输出“No outputn#include #include int main()(int x,y,z,n;scanf(d”,&n);for(x=0;x=0&x=0&y=0) printf(n%d %d %dnn,x,y,z);)if(n%5)!=0&(n%2)! =0&(50*x+20*y+z)!= 1200)(printf(nNo output);) return 0;)迭代法问题描述用迭代法求x = V.o求平方根的迭代公式为:要求
7、前后两次求出的X的差的绝对值小于10-5o输入a输出右的值输入样例4输出样例The square root of 4.00 is 2.00000#include #include #include int mainQ(float a,xi?x2;scanf(n%f&a);xi=sqrt(a);x2=i/2*(xi+a/xi);do(xi=sqrt(a);X2 = l/2x(xl+a/xl);while(fabs(x2-xi)o.000001);printf(HThe square root of %.2f is %.5fnn?a,xi);return o;5.14 cos(x)-x=o利用以下
8、所示的简单迭代方法求方程:cos(x)-x=。的一个实根。Xn+i=COS(Xn)迭代步骤如下:输入数据给XI;(2)XO=X1,把XI的值赋给XO;(3)xi=cos(xo),求出一个新的 xi;(4)假设XO-X1的绝对值小于0.000001,执行步骤(5),否那么执行步骤(2);(5)所求xi就是方程cos(x)-x=o的一个实根,输出xi,输出语句为printf(nx=%lf;o提示:此题xo和xi定义为double类型#include #include #include int main()double a,b;scanf(n%lfn&a);b=cos(a);while(fabs(b
9、-a)0,000001)a=b;b=cos(a);)printf(nx=%fnn,b);return 0;)5.15求一个三位数,其值等于其各位阶乘之和问题描述编写程序,求某三位数,该数值的大小正好是组成这个数的三个位上的数字阶乘之和。输入 无输出满足上述条件的三位数。提示:输出格式为printf(n%dnfnum);#include #include int main()int a,b,c,i,j,k,m,n,s;for(a=l; a=9; a+)for(b= 1; b=9; b+)for(c= 1; c=9; c+)(m=l;n=l;s=l;for(i= 1; i=a; i+)m*=i;f
10、or(j=l;j=b;j+)n*=j;for(k= 1; k=c; k+)s*二k;if(l 00*a+1 O*b+c=m+n+s)printf(,%dnn,m+n+s);)return 0;)第六章谁能出线背景:电视台举办“超级学生”才艺大赛,由于报名人数狂多,所以要先进行分组预赛。按规定, 每10名学生为一个预赛小组,评委打出分数(0100分),各小组第一名可以进入下 一轮;如果有多名学生得分相同都是第一名,那么可同时进入下一轮。输入:按顺序给出一个小组1。个人的最后得分(int)。输出:能够出线的学生序号(0-9)o#include #include #define N 10int ma
11、in()(int aN,i,n,m;for(i=0; i10; i+)scanf(n%dn,&ai);) m=aO;for(i=0; i10; i+) (if(mai)( m=ai;)for(i=0; i10; i+)(if(m=ai)(n=i;printf(u%dnn,n);) return 0;)统计素数个数求出2到m之间(含m, m=iooo)所有素数并放在数组a中。输入:正整数m输出:从小到大的所有素数,及个数(素数输出的时候用4d来控制)如:输入:10输出:23574#include #define N 500 int main() (int aN,m,i,j,x,k=0;scanf
12、(%dn,&m);for(i=2; i=m; i+)for(j=2;j=i;j+)if(i%j=O) (break;if(i=j)(ak=j;k+;)for(x=0; xk; x+)printf(n%4d;ax);)printf(nnn);printf(dn”,k);return 0;)冒泡法排序冒泡排序(BubbleSort)的基本概念是:依次比拟相邻的两个数,将小数放在前面,大 数放在后面。即在第一趟:首先比拟第1个和第2个数,将小数放前,大数放后。然后 比拟第2个数和第3个数,将小数放前,大数放后,如此继续,直至比拟最后两个数, 将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后
13、。在第二趟:仍从第 一对数开始比拟(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第 2个数),将小数放前,大数放后,一直比拟到倒数第二个数(倒数第一的位置上已经 是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列 中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。由于在排序过程中总是小数往前放,大数往后放,相当于气泡往上升,所以称作冒泡排序。编写程序,对输入的十个数按照从小到大排序#include #include #define N 10int main()(int aN,i,j,t;for(i=0; iN; i+)scanf(n%dn,&a
14、i);for(i=0; iv(N-l); i+)for(j=i+l; jN; j+) if(ajai)(t=a|j;aj=ai;ai=t;printf(H %dn,ai); ) pHntf( %dn,ai); printf(nnn);return 0; )插入法排序如果一个数组中保存的元素是有序的(由小到大),向这个数组中插入一个数,使得插 入后的数组元素依然保持有序。定义一个数组,长度为11,初始元素为10个,按照从小到大的方式输入,然后输入一 个要插入的元素,使得插入后仍然有序。#include #include #define N 10 int main() (int aN+l,i,x,
15、k;for(i=0; i=0; i) (if(ai=x) (k=i+l;break;计算机c语言上机题、第四章4.1温度转换,第一个数据(1或2)确定转换的类型:华氏转摄氏(1);摄氏转华氏(2);#include int main()(int x;float C,F,a;scanf(n%d%f;&x,&a);if(x=l)(C=(a-32)*5/9 ;printf(nThe Centigrade is %.2fn”,C);) else(F=(a*9/5)+32 ;printf(HThe Fahrenheit is %.2fnF);) return 0;) 第五章5. 1输出一行星号#incl
16、ude #include int main()(int a,b=l;scanf(n%dn,&a);while(bk; i)(ai=ai-l;) ak=x;for(i=0; iN+l; i+) (printf(n %dn,ai);)printf(nnn);return 0;)6.5求各位数字中组成的最大数任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入1593,那么 输出为9531 。输入:自然数n输出:各位数字组成的最大数#include #include #define N 100 int main() (int aN,i,n,pj,k=0; scanf(d”,&n);fo
17、r(i=0; iN; i+) (ai=n%10;n=n/10;k+;if(n=0)( break;)for(i=0; ik-l; i+)fbr(j=i+l; jk; j+) if(aiaU)(P=ai;ai=aj; aj=P; ) )for(i=0; ik; i+)( printf(n%d;ai);)printf(nnn);return 0; )数组逆序输出、 问题描述从键盘上输入一个数组(10个元素),将原数组逆序重新排列后输出。要求输出每个 元素时以一个空格隔开。提示:用第一个与最后一个交换。#include #include #define N 10 int main() (int aN
18、,z,ij; for(i=0;iN;i+) (scanf(n%dM,&ai);)for(j=0;ji/2;j+) (z=aj;aj=a9-j;a9-j=z;for(i=0; iN; i+)printf(n%d n,ai);)printfCAn*); return 0;)求最大值 问题描述要求从键盘输入10个整型数据,找出其中的最大值并显示出来。输入范例3 o 54 -71。27 32767 10 1 5。0 2输出范例32767提示先假定第一个元素时最大值,然后和其他的元素一个一个的进行比拟,直到找到最大值。#include #include #define N 10 int main() (
19、int aN,z,i,j; for(i=0;ivN;i+) (scanf(n%dM,&ai);)z=a0;for(i=0;iN;i+) (if(zai)( z=ai;) ) printf(n%dnn,z);return 0; )二维数组 问题描述:程序定义了 4X4的二维数组,请编写程序,给二维数组赋值,并使数组下半三角元素 中的值乘以n o例如:数组中的值为12 3 42 2 3 43 2 3 44 2 3 4假设n为10,那么输出结果如下:(输出的数按照4位宽度来输出,即41)10 23420 20 3430 20 30 440 20 30 40#include #include int
20、main()(int a44;int n,i,j;for(i=0; i4; i+)(for(j=0; j4; j+)(scanf(n%d;&aij);)scanf(”d&n);for(i=0; i4; i+)(for(j=0; j=i; j+)(aij=n*aij;)for(i=0; i4; i+)for(j=0; j4;j+)printf(,%4d,aij);printf(nnn);return 0;)在屏幕上输出杨辉三角杨辉三角形,又称贾宪三角形,帕斯卡三角形,是二项式系数在三角形中的一种几何排 列。其实,中国古代数学家在数学的许多重要领域中处于遥遥领先的地位。中国古代数 学史曾经有自己光
21、辉灿烂的篇章,而贾宪三角的发现就是十分精彩的一页。杨辉三角有如下性质:1、每行数字左右对称,由1开始逐渐变大,然后变小,回到1。2、第n行的数字个数为n个。3、每个数字等于上一行的左右两个数字之和。编写程序,输入正数n,将所有数据存储到二维数组中,并在屏幕上显示对应的杨辉三角形(注意数据之间的空格)。例如:n=5图形如下:1 113 1146411 5 1。10 5 1#include #include #define N 100 int main() (int aNN;int i,j,n;scanf(u%dn,&n);for(i=0; iO&ji)(aiU=a(i4)G4)+a(i-l)U;
22、)printf(”3d”,aijD;) printf(nnn);)return 0;)6.10球周边元素之和编写一个程序,求出4X5的二维数组周边元素之和。输入:二维数组元素输出:周边元素之和如:输入9 9 9 813570输出:61#include #include #define N 4#define M 5 int main() (int aN M ,i,j ,b=0,c=0,d=0,e=0,sum;for(i=0; iN; i+)for(j=0; jM; j+)scanf(d”,&aij);)for(i=0; iN; i+)if(i=O)(for(j=0; j
23、M-l; j+)b=b+ai 皿;)if(i=3)(for(j=0; jM-l; j+)(d=d+aij;)for(j=0; jM; j+)(if)(for(i=l; iN-l; i+)(c=c+aij;)if(j=4)(for(i=0; iN; i+)(e=e+aij;)sum=b+c+d+e;printf(n%dn,sum);return 0;6.11存储并输出一个矩阵编程,输入n ,存储并输出如下例(n=5)所示的图形。1234511234111231111211111#include #include #define N 100 int main() (int aNN;int ij,n
24、;scanf(n%dn,&n);for(i=0; in; i+) (for(j=0; j=i;j+)(aiU=l;)for(j=i+l; jn; j+)( ai 皿=j+l-i;) )for(i=0; in; i+)(for(j=0; jn; j+)(printfC,%2d,aij);) printf(nnn);)return 0;给数组中元素按顺序编号 对数组aio中的十个整数从小到大进行连续编号,输出各个元素的编号。要求不能 改变数组a中元素的顺序,且相同的整数要具有相同的编号。例如数组是:A=(534,7,3,5,6,8,9JO)那么输出为: (4,1,33,1,4,6,8,9,10)#
25、include #include #define N 10#define M 100 int main() (int aN,bM,ij;for(i=0; iN; i+) (scanf(n%dn,&ai);)for(i=0; iN; i+) (bi=l;for(j=0; jaU)( bi+;) printf(n%3dn,bi);)printfC,nH); return 0;)矩阵加法方阵阶数为n(nioo),例如当n=3时,矩阵int就33,矩阵int b33。矩阵的数 据由用户输入。输出新的矩阵C=a+bo输出格式:COO COl C02 CIO Cll C12 C20 C21 C22 每两个
26、数字之间有1个空格关于输入 方阵阶数n 矩阵a:aoo aoi aO2aio an ai2a20 a2i a22矩阵b:boo boi bo2 bio biibi2 b20 b21 b22关于输出矩阵C:COO C01 C02CIO Cll C12C20 C21 C22#include #include #define N 100 int main() (int aNN,bNN,cNN,i,j,n; scanf(n%dn,&n);for(i=0; in; i+) (for(j=0;jn;j+) () ) for(i=0; in; i+) (for(j=0; jn; j+) (scanf(n%d
27、n,&bij); )for(i=0; in; i+) (for(j=0; jn; j+) ciU=aiU+biU;) )for(i=0; in; i+)(for(j=0; jn; j+) (if(j!=(n-l) else*输入整数n例如5输出由*组成的高为5的平行四边形#include #include int main()int a,b,c,n;scanf(d”,&n);a=l;while(a=n)(b=l;while(b=a-l)(printf(n n);b=b+1;)c=l;while(c=n)(printf(“* ;c=c+l;printf(nnn);a=a+1;)return 0;
28、)编程计算)printf(nnn);)return 0;)矩阵转置在数学上,矩阵是指纵横排列的二维数据表格,最早来自于方程组的系数及常数所构成 的方阵。这一概念由19世纪英国数学家凯利首先提出。矩阵概念在生产实践中也有许 多应用,比方矩阵图法以及保护个人帐号的矩阵卡系统(由深圳网域提出)等等。“矩 阵”的本意也常被应用,比方监控系统中负责对前端视频源与控制线切换控制的模拟设 备也叫矩阵。设A为nxn阶矩阵(即n行n列),第i行j列的元素是a(i,j),即:A=a(i,j) 定义A的转置为这样一个nxn阶矩阵B,满足即b (i,j)=a (j,i) (B的第i行 第j列元素是A的第j行第i列元素
29、),记A=B。(有些书记为AT=B,这里T为A的 上标)直观来看,将A的所有元素绕着一条从第1行第1列元素出发的右下方45度的 射线作镜面反转,即得到A的转置。输入:有n+1行(2nio),第一行是一个整数n,代表矩阵为n行n列。后面n行表示矩 阵的取值输出:转置后的矩阵#include #include #define N 100 int main() (int aNN,i,j,n,k;scanf(n%dM,&n);for(i=0; in; i+) (for(j=0; jn; j+)scanf(n%dn,&aij);)for(i=0; in; i+)(for(j=0;ji;j+)(k=aij
30、;aiUl=aUi; aji=k;)for(i=0; in; i+)(for(j=0; jn; j+)(if(j!=(n-l)( printf(H%d n,ai|j);) else(printf(”%d”,ai 皿);printf(nnn);)return 0;)求一系列整数中出现最多的数给定一系列整数,对每个整数的每一位数字统计09各个数字的出现次数,求出现次 数最多的数字。输入:有两行,第一行是整数n (i=n=ioo),表示有n个整数;第二行是n个整数值输出:出现次数最多的数字d (如果d不唯一,要列出全部)及其出现的次数输入样例:11233输出样例:出现次数最多2次的数字是3#incl
31、ude #include int main() (int a10= 0;int n,i=0,maxl=0;char m;charb200= 0;int 1=0;scanf(H%dn,&n);getchar();gets(b);l=strlen(b);for (i=0; i=,0, & bi=9)abi-48+=l;)i=0;while(imax l)maxl =ai; i+;)printf(”出现次数最多d次的数字是,maxi);for(i=0; i10; i+) if(maxl=ai)printf(n %dn,i);)printf(nnn);return 0;)6.16装箱问题假设有n项物品
32、,大小分别为si, S2, sn,其中si是整数且满足:i=si=ioo。要把这些物品装入到容量为100的一批箱子(序号in)中。装箱方法是:对每项物品 si,依次扫描所有这些箱子,把si放入足以能够容下它的第一个箱子中(first-fit策略)。 写一个程序来模拟这个装箱的过程。输入:有两行。第一行是整数n(n=iooo),表示物品的个数;第二行是n个整数si(si=ioo), 分别表示n个物品的大小输出:每个物品所在的箱子序号,并输出所需的箱子数目输入样例:86o 70 8o 90 3。4。1。20输出样例:6o 170 280 39。430 14。5 10 120 2所需的箱子数目为5#
33、include #include #define N 100 int main() int aN,bN,n,i,j,k;scanf(n%dn,&n);for(i=0; in; i+) (scanf(n%dn,&ai);bi=100;)for(i=0; in; i+) (for(j=0; j=0)(printf(n%d %dnH,aiJ+l); b|j=b|j-ai;break;)for(j=0; jn; j+)if(bU=ioo) break; )printf(”所需的箱子数目为小鹏 return 0;)第八章字符转换 描述提取一个字符串中的所有数字字符将其转换为一个整数输出。输入一个以回车符
34、为结束标志的字符串(少于8o个字符)。输出把字符串中的所有数字字符(o9)转换为一个整数并输出。#include #include #include #define N 1000 int main() char aNJ;int i,j=0,len,m;gets(a);len=strlen(a);for(i=0; i=0,&ai=,9,)(m=ai-,0,;j=j*10+m;) ) printf(1,%dn,J); return 0;)合并字符串输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合 并后的字符串,仍然是从小到大排列。输入:两个已经排好顺序(升序)的字符串输
35、出:一个合并在一起的有序(升序)的字符串要求:设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。 如果采用先进行串连接,然后再进行排序的算法,那么效率太低了#include #include #include #define N 100 int main() char aN,bN,sN;int i=0,j=0,k=0;gets(a);gets(b);while(ai !=0t)&(bj !=,01) (if(aibU) (sk+=ai+;) else (sk+=bj+;) )while(ai=,0,)&(bj!=,0,)(sk+=bj+;)while(ai !=,0,)&(bj=10,
36、)( sk+=ai+;)sk=(y;puts(s);return 0;)删除重复字符背景:输入一个长度不超过100的字符串,删除串中的重复字符。输入:输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcdo输出:删除重复字符后的字符串。例如:abcedo#include #include #define N 100 int main() (char aN,bN;int i,j=l,k;gets(a);b0=a0;for(i=l; (ai!=f0); i+) (for(k=0; kj; k+) (if(bk=ai) (break;) ) if(k=j) (bj+=ai;
37、)bUlO1;puts(b);return 0;删除字符串中指定字符输入两个字符串S1和S2 ,在S1中删除任何S2中有的字符。例如,S1 : “abci23ad”,S2 : “ ai ” ,那么输出“bc23d”。输入:两个字符串S1和S2输出:删除后的字符串S1#include #include #define N 100 int main() (char aN,bN,cN;int i,j,len,k=0;gets(a);gets(b);len=strlen(b);for(i=0; (ai!=0,); i+) (for(j=0;bj!=0;j+)(if(bUJ=ai)( break;) )
38、 if(len=j) (ck+=ai;) )ck=(y;puts(c); return 0;单词有多少用空格或换行分开的字符串称为单词。输入多行字符串,直到遇到了单词“stop”时才 停止。最后输出单词的数量。用于分割单词的空格或换行可能多于1个。输入:多个字符串输出:单词的数量#include #include #include #define N 100 int main() (char aN20,b= ,s;tVo;p;0,;int i,num=0;for(i=0; i+) (scanf(n%sn,ai);if(strcmp(ai ,b)=0) break;num+; )printf(n
39、%dnn,num); return 0;)指定位置插入字符串输入两个字符串S1、S2和S1中任意字符k ,在S1中的指定字符k第一次出现 的位置处插入字符串S2并输出。输入:两个字符串S1、S2和S1中任意字符k输出:插入后的字符串S1#include #include #include #define N 100 int main() (int i,k=0;charnl,aN,bN,cN;gets(a);gets(b);scanf(H%cn,&nl); (for(i=0; istrlen(a); i+) (if(ai!=nl)k+;elsebreak;)for(i=0; ik; i+)(pr
40、intf(n%cai);)for(i=0; istrlen(b); i+)(printf(n%cn,bi);) for(i=k; istrlen(a); i+) (printf(n%cH,ai);)printfCAn1);return 0;)Your Ride Is HereIt is a well-known fact that behind every good comet is a UFO. These UFOs often come to collect loyal supporters from here on Earth. Unfortunately, they only have
41、 room to pick up one group of followers on each trip. They do, however, let the groups know ahead of time which will be picked up for each comet by a clever scheme: they pick a name for the comet which, along with the name of the group, can be used to determine if it is a particular groups turn to g
42、o (who do you think names the comets?). The details of the matching scheme are given below; your job is to write a program which takes the names of a group and a comet and then determines whether the group should go with the UFO behind that comet.Both the name of the group and the name of the comet
43、are converted into a number in the following manner: the final number is just the product of all the letters in the name, where A” is 1 and nZn is 26. For instance, the group nUSACOn would be 21 * 19 * 1 * 3 * 15 = 17955. If the groups number mod 47 is the same as the comets number mod 47, then you
44、need to tell the group to get ready! (Remember that a mod bn is the remainder left over after dividing a by b; 34 mod 10 is 4.)Write a program which reads in the name of the comet and the name of the group and figures out whether according to the above scheme the names are a match, printing GO if th
45、ey match and STAY if not. The names of the问题描述编写程序,输入n的值,求:i-i/2+i/3-i/4+i/5-i/6+i/7-+i/n (保存四位小数)输入n的值输出上述算式的求和结果(结果保存四位小数)输入样例1输出样例sum=i.oooo#include #include #include int main()(int n,a=l;double sum=0;scanf(H%dn,&n);while(a=n)sum=sum+( 1.0/a)*pow(-1 ,a-1);a=a+1;)printf(,sum=%.41fnsum);return 0;)5
46、.4分数序列问题描述2358132J有一个分数序列:1235813 ,输入整数n,求出具前n项的和。输入 整数n groups and the comets will be a string of capital letters with no spaces or punctuation, up to 6 characters long.INPUT FORMATLine 1:An upper case character string of length 1.6 that is the name of the comet.Line 2:An upper case character strin
47、g of length 1.6 that is the name of the group.COMETQHVNGATOUTPUT FORMATA single line containing either the word GO or the word “STAY”.#include #include #include #define N 100 int main() (int i,j;int m,n;char aN,bN;gets(a);gets(b);m=a0-A+1 ;n=b0-A+1;for(i=l;ai!=0,;i+) ()for(i=l;bi!=0;i+)(n=n(bi-A+l);
48、)if(m%47)=(n%47)printf(nGOnH);elseprintf(HSTAYnu);return 0; )大数相加 问题描述:编写C程序,它能以字符串形式读入两个无符号正整数m和n,计算并输出这 两个整数之和输入格式:输入由两行组成,第一行为无符号整数m,第二行为无符号整数n,且m和n 的值最长25位输出格式:输出为一行,即两个无符号整数m和n之和 输入样例:9999888888355729288 输出样例: #include #include #include #define N 30 int main() (char aN,bN;int cN= 0,dN= 0 ,i ,j
49、,k,len 1 ,len2,len,len3=0;gets(a);gets(b);lenl=strlen(a);len2=strlen(b);k=0;for(i=lenl-l; i=0; i) (ck+=ai,0; ) j=0;for(i=len2-l; i=0; i-) (dj+=bi-O;)len=len llen2?len l:len2;for(i=0; i=10)ci+l=ci+l+l;ci=ci-10;)if(clen)(len+;)for(i=len-l; i=0; i)printf(n%dn,ci);)printf(nnn);return 0;)字符串重排列判断一个字符串是否可
50、以由另一个字符串通过重排字符而得到。注意,此处区分字符大 小写! 输入输入只有一行,为两个字符串,字符串之间以一个空格分隔。输出如果两个字符串由同一组字符组成(且每一个字符出现次数相同),那么输出“YES”; 否那么输出“NO:注意YES和NO都是大写字母!#include #include int main()(char a10,bI0;int i,j,m,n,lenl Jen2;scanf(H%s%sn,a,b);lenl=strlen(a);len2=strlen(b);for(i=0;ilen 1-1 ;i+)for(j=i+l ;jlenl ;j+) aj=ai; ai=m;)for
51、(i=0;ilen2-l ;i+)(for(j=i+l ;jlen2;j+)(if(bi= m=n) o第二行有m个名字,名字之间用空格隔开,是小凡班上同学的名单。后面 有n个名字是来上课的同学。名字间用空格隔开。名字的长度不超过20个字符。输出按照第一行的名单,每个人对应输出是否到了。到的人输出Yes,没到的人输出No。#include #include int main()(char a5050,b5050;int i,j,m,n;scanf(d%d”,&m,&n);for(i=0; im; i+) (scanf(n%sn,ai);)for(i=0; in; i+)(scanf(n%sn,
52、bi);)for(i=0; im; i+)(for (j=0; jn; j+)(if(strcmp(ai,bj)=O)(printf(uYESnM);break;)if(j=n)( printf(uNOnn);)return 0;)找第一个只出现一次的字符问题描述:给定t个字符串,这个字符串只可能由26个小写字母组成,请你找到第一个仅出现一 次的字符,如果没有符合要求的字符,就输出no。输入:第一行是t,接下来是t个字符串,每个字符串长度小于100输出: 你的输出需要由t行组成。对于每个字符串,输出第一个仅出现一次的字符,没有输出NO。输入样例:2 aabb abcdab输出样例:NO c#i
53、nclude #include #define N 100 int main() (int i,t,cnt26;char sN;scanf(n%dn,&t);getchar(); while(t) (gets(s);for(i=0; i26; i+) cnti=O;)for(i=0; si!=0; i+)( cntsi-,a+;for(i=0; si!=0; i+)(if(cntsi-a*=l) printf(n%cnn,si); break;) ) if(si=,O,)printf(nNOnn);) return 0;)提取数据i输入一个字符串,长度不超过3。,内有数字字符和非数字字符,统计
54、其中包含了多少 个非负整数,并输出这样的非负整数。关于输入一个字符串,最大长度为3。关于输出输出字符串中包含的数据,一个数据一行.(不用输出总数)#include #include #define N 30 int main() (char aN;int i,j=0,len,m,n=0,p=0;gets(a);len=strlen(a);for(i=0; i=O&aiv=9)(m=ai-,0,;j=j*10+m; n=l; P二l;) else( if(n=l) (printf(n%dnHj);) p=0;n=0;j=0;)if(p=l)printf(u%dnn,j);) return 0;)
55、判断字符串是否是回文编程,输入一个字符串,输出该字符串是否回文。关于输入输入为一行字符串(字符串中没有空白字符,字符串长度不超过100)。关于输出如果字符串是回文,输出yes;否那么,输出no。#include #include #define N 100 int main() (char aN,bN=0;int i,j,k,len;gets(a);len=strlen(a);for(i=0;ilen;i+) (bi=alen-i-l;)if(strcmp(a,b)=O) (printf(Hyesnn);) else (printf(Hnonn);)return 0;)首字母大写对一个字符串中
56、的所有单词,如果单词的首字母不是大写字母,那么把单词的首字母变成 大写字母。在字符串中,单词之间通过空白符分隔,空白符包括:空格()、制表符 回车符(V)、换行符关于输入输入一行:待处理的字符串(长度小于8o)。关于输出输出一行:转换后的字符串。#include #include #define N 80 int main() (char sN;int i,len,j;gets(s);len=strlen(s);if(s0=a&s0=,A,&s0=tZ,)(s0=s0;)for(i=l; ilen; i+) (if(si=* *|si=,t,|si=V|si=,n,) (for(j=i+1;
57、j=,a,&sj=A&sjk=Z)( break;) ) puts(s);return 0;)绕口令规那么是:主持人给出一串字符串,要求把这串字母简化。该串字符串全部为小写英文字 母。比方:aaabbbaa,那么简化为3a3b2a; zzzzeeeeea,那么简化为4z5ela。依次类推。Input第一行为一个整数n,表示共有n组测试数据(lv=n=100)。每组测试数据有一行,该 行第一个数为字符串长度t ( tv= 1,000,000),然后为一行长度为t的字符串。Output对于每组输入数据输出一行,即简化后的字符串#include #include #define N 1000000i
58、nt main()(char sNJ;int i,t,j,n,k,cnt;scanf(n%dM,&n);for(k=0;kn ;k+)(scanf(H%dn,&t);scanf(H%sn,s);for(i=0; it; i=j)(cnt= 1;for(j=i+l; jt; j+)( if(si=sj) (cnt+;) else break;)printf(n%d%cH,cnt,si);) printf(nnn);)return 0;)第九章数的合并输出上述分数序列的前n项之和提示:输出语句格式为printf(nsum=%i6.iofnfs);输入样例1输出样例sum= 2.0000000000
59、#include #include int main()(int n,c,i=l;double s=0,a=2,b=l;scanf(u%dn,&n);while(i=n)(s二s+a/b;c=a;a=a+b;b=c;i+;)printf(nsum=% 16.1 OfnM,s);return 0;)求e的值问题描述编写程序,从键盘输入整数n,求e的值。e=i+i/i!+i/2!+i/3!+.+i/n! 注意:用 double型数据计算。输入整数n输出e的值 请编写函数fun,其功能是:将两个两位数的正整数a、b合并形成一个整数放在c中。 合并的方式是:将a的十位和个位依次存放在c数的十位和千位上
60、,b的十位和个位依 次存放在c数的个位和百位上。例如:当a=45,b=i2,调用该函数后,c=5241。提醒:此题提交的时候,只需要提交fun函数就可以。#include int fun (int a,int b)(int c;c=a% 10*1000+a/10% 10* 10+b% 10*100+b/10% 10* 1;return c;)int main()(int a,b,c;scanf(n%d%dn,&a,&b);c=fun(a,b);printf(c二%dn”,c);return 0;)素数判断请编写函数fun,其功能是判断一个整数n是否为素数,如果是素数,那么返回1,否那么 返回0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 气管切开病人呼吸功能的评估与监测
- 员工能力评价表(试岗专用)
- 甲状腺疾病护理团队建设
- 2026年收外汇合同(1篇)
- 2026年铺位转租合同(1篇)
- 2026年商业住宅设计合同(1篇)
- 2026年医疗器械销售代理合同协议
- 《水产养殖场智慧化建设规范》
- 2026年学校土地置换合同(1篇)
- 大湖拆迁协议书范本
- 2026年安徽省合肥市经开区中考语文二模试卷(含详细答案解析)
- 2026上半年广东省铁路建设投资集团有限公司管理人员社会招聘备考题库含答案详解(能力提升)
- 算电协同关键技术 (课件)
- 2026年医疗事业单位编制公共基础知识考点预测真题题库(含答案)
- 2026年甘肃兰州市初二学业水平地理生物会考考试试题及答案
- 2026年及未来5年市场数据中国实体书店行业市场发展现状及投资前景展望报告
- 社区采购询价制度
- DB32∕T 5314-2025 高速公路电动汽车清障救援作业规范
- JJF 2370-2026 建筑运行阶段碳排放计量技术规范
- 海尔员工绩效考核制度
- 肝移植管理制度
评论
0/150
提交评论