1、C语言作业528 组成最大数成绩: 10 / 折扣: 0.8任意输入一个自然数,输出该自然数的各位数字组成的最大数。例如,输入 1593 ,则输出为 9531 。输入: 自然数 n 输出: 各位数字组成的最大数 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 1.1593以文本方式显示 1.95311秒 64M 0 #include#includeint main() char a10000; int x10=0; scanf(%s,a); int n=strlen(a); for(int i=0;i=0;i-) for(int j=0;jxi;j+)printf(%d,
2、i); printf(n);29 北理工的恶龙成绩: 10 / 折扣: 0.8背景:最近,北理工出现了一只恶龙,它长着很多 头,而且还会吐火,它将会把北理工烧成废墟, 于是,校长下令召集全校所有勇士杀死这只恶龙。要杀死这只龙,必须把它所有的头都砍掉,每个勇士只能砍一个龙头,龙的每个头大小都不一样,一个勇士只有在身高不小于龙头的直径的情况下才能砍下它。而且勇士们要求,砍下一个龙头必须得到和自己身高厘米数一样的学分。校长想花 最少的学分数 杀死恶龙,于是找到你寻求帮助。输入:第一行 龙头数 n , 勇士人数 m ( 1=n, m=100 ) 接下来 n 行,每行包含一个整数,表示龙头的直径 接下来
3、 m 行,每行包含一个整数,表示勇士的身高 l输出:如果勇士们能完成任务,输出校长需要花的最小费用;否则输 出 “ bit is doomed! ” 测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 1.23 2.5 3.4 4.7 5.8 6.4以文本方式显示 1.111秒 64M 0 测试用例 2以文本方式显示 1.21 2.5 3.5 4.10以文本方式显示 1.bitisdoomed!1秒 64M 0 #includeint main() int dragon,hero; scanf(%d%d,&dragon,&hero); int dragonhead100=0;
4、 int herohight100=0;/input for(int i=0;idragon;i+) scanf(%d,&dragonheadi); for(int i=0;ihero;i+) scanf(%d,&herohighti);/make the date in order int temp; for(int i=0;idragon;i+) for(int j=0;jdragonheadj+1) temp=dragonheadj; dragonheadj=dragonheadj+1; dragonheadj+1=temp; for(int i=0;ihero;i+) for(int
5、j=0;jherohightj+1) temp=herohightj; herohightj=herohightj+1; herohightj+1=temp; /arrange hero to kill the dragon int start=0; for(int i=0;idragon;i+) for(int j=start;j=dragonheadi) dragonheadi=0; start+; break; else herohightj=0; start+; if (starthero) break; for(int i=start;ihero;i+) herohighti=0;
6、/caculate the grade int sd=0; int sh=0; for(int i=0;idragon;i+) sd=sd+dragonheadi; for(int i=0;ihero;i+) sh=sh+herohighti; if(sd=0) printf(%dn,sh); else printf(bit is doomed!n);31 合并字符串成绩: 10 / 折扣: 0.8输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。输入: 两个已经排好顺序(升序)的两个字符串输出: 一个合并在一起的有序(升序)的字符
7、串要求: 设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。 如果采用先进行串连接,然后再进行排序的算法,则效率太低了。测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 1.abcdef 2.bcefghi以文本方式显示 1.abbccdeeffghi1秒 64M 0 测试用例 2以文本方式显示 1.123456 2.789以文本方式显示 1.91秒 64M 0 测试用例 3以文本方式显示 1.789 2.12345以文本方式显示 1.1秒 64M 0 测试用例 4以文本方式显示 1.123456 2.123456以文本方式显示 1.11秒 64M 0 测试用例 5
8、以文本方式显示 1.123456 2.以文本方式显示 1.1234561秒 64M 0 测试用例 6以文本方式显示 1. 2.123456以文本方式显示 1.1234561秒 64M 0 #includeint main() char a50,b50; gets(a); gets(b); char *p1; p1=&a0; char *p2; p2=&b0; for(;1;) if(*p1=0) printf(%s,p2); break; if(*p2=0) printf(%s,p1); break; if(*p1*p2) printf(%c,*p2); p2+; else printf(%c
9、,*p1); p1+; printf(n);32 串的减法成绩: 10 / 折扣: 0.8输入字符串s和t(串长不超过80个字符),将在字符串s中出现,但未在字符串t中出现的字符组成一个新的字符串放在u中,u中字符按原字符串中字符顺序排列,不去掉重复字符,输出u。 例如:当s=112345,t=2467时,u=1135。输入:第一行为串s第二行为串t输出: 串u测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 1.112345 2.2467以文本方式显示 1.11351秒 64M 0 #include#includeint main() char a80; char b80
10、; gets(a); gets(b); int l=strlen(a); for(int i=0;bi!=0;i+) for(int j=0;jl;j+) if(aj=bi) aj=0; for(int k=0;kl;k+) if(ak!=0) printf(%c,ak); printf(n);H9:五年级小学生的题目(选做)成绩: 5 / 折扣: 0.8那两个小朋友在不断进步,他们已经学会了负数和多位数,于是他们又开始进行游戏了。小明给出一堆整数和运算要求(+、-、*、/、%),小丽要找出这些整数中的最大值和最小值,然后按照小明的要求算出最大数与最小数进行算术运算的结果。输入: 用逗号分隔的
11、整数序列,及其运算符和等号输出: 最大数 op 最小数=结果说明:本题目应该可以不使用数组就可以完成,关键是如何处理负数和减法。测试输入期待的输出时间限制内存限制额外进程测试用例 1以文本方式显示 1.1,10,100,+,=以文本方式显示 1.100+1=1011秒 64M 0 测试用例 2以文本方式显示 1.-100,-1,1,100,+,=以文本方式显示 1.100+(-100)=01秒 64M 0 测试用例 3以文本方式显示 1.-20,-10,0,10,20,*,=以文本方式显示 1.20*(-20)=-4001秒 64M 0 #include#includeint intpow(int a,int b)/ab int result=1; for(int i=0;ib;i+) result=result*a; return result;struct date int max; int min; char op; int r;struct date function(char p,int n) struct date result; n=n-4; int max=-10000; int
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1