杭电ACM水题题目及代码_第1页
杭电ACM水题题目及代码_第2页
杭电ACM水题题目及代码_第3页
杭电ACM水题题目及代码_第4页
杭电ACM水题题目及代码_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1002A+BProblemIITimeLimit:2000/1000MS(Java/Others)

MemoryLimit:65536/32768K(Java/Others)

TotalSubmission(s):69615

AcceptedSubmission(s):12678ProblemDescriptionIhaveaverysimpleproblemforyou.GiventwointegersAandB,yourjobistocalculatetheSumofA+B.InputThefirstlineoftheinputcontainsanintegerT(1<=T<=20)whichmeansthenumberoftestcases.ThenTlinesfollow,eachlineconsistsoftwopositiveintegers,AandB.Noticethattheintegersareverylarge,thatmeansyoushouldnotprocessthembyusing32-bitinteger.Youmayassumethelengthofeachintegerwillnotexceed1000.OutputForeachtestcase,youshouldoutputtwolines.Thefirstlineis"Case#:",#meansthenumberofthetestcase.Thesecondlineistheanequation"A+B=Sum",SummeanstheresultofA+B.Notetherearesomespacesinttheequation.Outputablanklinebetweentwotestcases.SampleInput212SampleOutputCase1:1+2=3Case2:AuthorIgnatius.L#include<stdio.h>#include<string.h>intmain(){ charstr1[1001],str2[1001]; intt,i,len_str1,len_str2,len_max,num=1,k; scanf("%d",&t); getchar(); while(t--){ inta[1001]={0},b[1001]={0},c[1001]={0}; scanf("%s",str1); len_str1=strlen(str1); for(i=0;i<=len_str1-1;++i) a[i]=str1[len_str1-1-i]-'0'; scanf("%s",str2); len_str2=strlen(str2); for(i=0;i<=len_str2-1;++i) b[i]=str2[len_str2-1-i]-'0'; if(len_str1>len_str2) len_max=len_str1; else len_max=len_str2; k=0; for(i=0;i<=len_max-1;++i){ c[i]=(a[i]+b[i]+k)%10; k=(a[i]+b[i]+k)/10; } if(k!=0) c[len_max]=1; printf("Case%d:\n",num); num++; printf("%s+%s=",str1,str2); if(c[len_max]==1) printf("1"); for(i=len_max-1;i>=0;--i){ printf("%d",c[i]); } printf("\n"); if(t>=1) printf("\n"); } return0;}成绩转换TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):25250AcceptedSubmission(s):10776ProblemDescription输入一个百分制的成绩t,将其转换成对应的等级,具体转换规那么如下:90~100为A;80~89为B;70~79为C;60~69为D;0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。Output对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Scoreiserror!”。SampleInput5667100123SampleOutputEDAScoreiserror!AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining#include<stdio.h>intmain(){intn,k;while(scanf("%d",&n)!=EOF){if(n<0||n>100)printf("Scoreiserror!\n");else{k=n/10;switch(k){case10:printf("A\n");break;case9:printf("A\n");break;case8:printf("B\n");break;case7:printf("C\n");break;case6:printf("D\n");break;default:printf("E\n");break;}}}return0;}2007平方和与立方和TimeLimit:2000/1000ms(Java/Other)

MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):65

AcceptedSubmission(s):9Font:

TimesNewRoman

|

Verdana

|

GeorgiaFontSize:

→ProblemDescription给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。Output对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。SampleInput1325SampleOutput42820152AuthorlcySourceC语言程序设计练习〔一〕Statistic

|

#include<stdio.h>intmain(){intx,y,temp,sum1,sum2;while(scanf("%d%d",&x,&y)!=EOF){sum1=0;sum2=0;if(x>y){temp=x;x=y;y=temp;}for(;x<=y;x++){if(x%2==0){sum1+=x*x;}elsesum2+=x*x*x;}printf("%d%d\n",sum1,sum2);}return0;}2010水仙花数TimeLimit:2000/1000ms(Java/Other)

MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):144

AcceptedSubmission(s):27Font:

TimesNewRoman

|

Verdana

|

GeorgiaFontSize:

→ProblemDescription春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比方:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。Input输入数据有多组,每组占一行,包括两个整数m和n〔100<=m<=n<=999〕。Output对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,那么要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,那么输出no;每个测试实例的输出占一行。SampleInput100120300380SampleOutputno370371AuthorlcySourceC语言程序设计练习〔二〕#include<stdio.h>intmain(){intm,n,k1,k2,k3,count;while(scanf("%d%d",&m,&n)!=EOF){for(count=0;m<=n;++m){k1=m/100;k2=(m-100*k1)/10;k3=(m-100*k1-10*k2);if(m==k1*k1*k1+k2*k2*k2+k3*k3*k3){if(count!=0){printf("");}printf("%d",m);count++;}}if(count==0)printf("no\n");elseprintf("\n");}return0;}2012素数判定TimeLimit:2000/1000ms(Java/Other)

MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):29

AcceptedSubmission(s):15Font:

TimesNewRoman

|

Verdana

|

GeorgiaFontSize:

→ProblemDescription对于表达式n^2+n+41,当n在〔x,y〕范围内取整数值时〔包括x,y〕(-39<=x<y<=50),判定该表达式的值是否都为素数。Input输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。Output对于每个给定范围内的取值,如果表达式的值都为素数,那么输出"OK",否那么请输出“Sorry”,每组输出占一行。SampleInput0100SampleOutputOKAuthorlcySourceC语言程序设计练习〔二〕Statistic

|

Submit

|

Back#include<stdio.h>intmain(){intx,y,sum,i,count,n;while(scanf("%d%d",&x,&y)!=EOF&&(x!=0||y!=0)){count=0;for(n=x;n<=y;++n){sum=n*n+n+41;for(i=2;i*i<=sum;++i){if(sum%i==0)count=1;}}if(count==0)printf("OK\n");elseprintf("Sorry\n");}return0;}2013蟠桃记TimeLimit:2000/1000MS(Java/Others)

MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11490

AcceptedSubmission(s):8803ProblemDescription喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!什么问题?他研究的问题是蟠桃一共有多少个!不过,到最后,他还是没能解决这个难题,呵呵^-^当时的情况是这样的:第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?Input输入数据有多组,每组占一行,包含一个正整数n〔1<n<30〕,表示只剩下一个桃子的时候是在第n天发生的。Output对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。SampleInput24SampleOutput422#include<stdio.h>longpantao(intn){returnn==1?1:2+2*pantao(n-1);}intmain(){intn;while(scanf("%d",&n)!=EOF){printf("%d\n",pantao(n));}return0;}2014青年歌手大奖赛_评委会打分TimeLimit:2000/1000MS(Java/Others)

MemoryLimit:65536/32768K(Java/Others)

TotalSubmission(s):17419

AcceptedSubmission(s):7801ProblemDescription青年歌手大奖赛中,评委会给参赛选手打分。选手得分规那么为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。Input输入数据有多组,每组占一行,每行的第一个数是n(2<n<100),表示评委的人数,然后是n个评委的打分。Output对于每组输入数据,输出选手的得分,结果保存2位小数,每组输出占一行。SampleInput39998974100999897SampleOutput98.0098.50AuthorlcySourceC语言程序设计练习〔三〕Recommendlcy#include<stdio.h>intmain(){intn,i;doublesum,averge,max,min,score;while(scanf("%d",&n)!=EOF){scanf("%lf",&score);max=score;min=score;sum=score;for(i=2;i<=n;i++){scanf("%lf",&score);if(score>max)max=score;if(score<min)min=score;sum+=score;}averge=(sum-max-min)/(n-2);printf("%.2f\n",averge);}return0;}2016数据交换输出Font:

TimesNewRoman

|

Verdana

|

GeorgiaFontSize:

→ProblemDescription输入n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。Input输入数据有多组,每组占一行,每行的开始是一个整数n,表示这个测试实例的数值的个数,跟着就是n个整数。n=0表示输入的结束,不做处理。Output对于每组输入数据,输出交换后的数列,每组输出占一行。SampleInput421345543210SampleOutput123414325AuthorlcySourceC语言程序设计练习〔三〕Statistic

|

Submit

|

Back#include<stdio.h>intmain(){intn,i,k,a[100],min,temp;while(scanf("%d",&n)!=EOF&&n!=0){scanf("%d",&a[0]);min=a[0];k=0;for(i=1;i<n;++i){scanf("%d",&a[i]);if(a[i]<min){min=a[i];k=i;}}temp=a[0];a[0]=min;a[k]=temp;for(i=1;i<=n;++i){if(i!=1)printf("");printf("%d",a[i-1]);}printf("\n");}return0;}2017字符串统计TimeLimit:2000/1000ms(Java/Other)

MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):65

AcceptedSubmission(s):33Font:

TimesNewRoman

|

Verdana

|

GeorgiaFontSize:

→ProblemDescription对于给定的一个字符串,统计其中数字字符出现的次数。Input输入数据有多行,第一行是一个整数n,表示测试实例的个数,后面跟着n行,每行包括一个由字母和数字组成的字符串。Output对于每个测试实例,输出该串中数值的个数,每个输出占一行。SampleInput2asdfasdf123123asdfasdfasdf111111111asdfasdfasdfSampleOutput69AuthorlcySourceC语言程序设计练习〔三〕Statistic

|

Submit

|

B#include<stdio.h>intmain(){intnum,n,i;charline;scanf("%d",&n);getchar();for(i=1;i<=n;++i){num=0;for(;(line=getchar())!='\n';){if(line>='0'&&line<='9')num++;}printf("%d\n",num);}return0;}2024 C语言合法标识符TimeLimit:2000/1000MS(Java/Others)

MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11613

AcceptedSubmission(s):4840ProblemDescription输入一个字符串,判断其是否是C的合法标识符。Input输入数据包含多个测试实例,数据的第一行是一个整数n,表示测试实例的个数,然后是n行输入数据,每行是一个长度不超过50的字符串。Output对于每组输入数据,输出一行。如果输入数据是C的合法标识符,那么输出"yes",否那么,输出“no”。SampleInput312ajffi8x_affai_2SampleOutputnoyesnoAuthorlcySourceC语言程序设计练习〔四〕Recommendlcy#include<stdio.h>intmain(){intn,i,j,frag;charline[50];while(scanf("%d",&n)!=EOF){getchar();for(i=1;i<=n;++i){j=0;frag=0;while((line[j]=getchar())!='\n'){if(!((line[j]=='_')||(line[j]>='0'&&line[j]<='9')||(line[j]>='A'&&line[j]<='Z')||(line[j]>='a'&&line[j]<='z')))frag=1;if(line[0]>='0'&&line[0]<='9'){frag=1;}++j;}if(frag==0)printf("yes");elseprintf("no");printf("\n");}}return0;}2025查找最大元素TimeLimit:2000/1000MS(Java/Others)

MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):10087

AcceptedSubmission(s):5399ProblemDescription对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串“(max)”。Input输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。Output对于每个测试实例输出一行字符串,输出的结果是插入字符串“(max)”后的结果,如果存在多个最大的字母,就在每一个最大字母后面都插入"(max)"。SampleInputabcdefgfedcbaxxxxxSampleOutputabcdefg(max)fedcbax(max)x(max)x(max)x(max)x(max)AuthorlcySourceC语言程序设计练习〔四〕#include<stdio.h>intmain(){inti,max,n,j,line[100];while((line[0]=getchar())!=EOF){max=line[0];i=1;for(;(line[i]=getchar())!='\n';++i){if(line[i]>max){max=line[i];}}n=i;for(j=0;j<=n;++j){if(line[j]==max){printf("%c",line[j]);printf("(max)");}elseprintf("%c",line[j]);}//printf("\n");}return0;}2081短号TimeLimit:1000/1000MS(Java/Others)

MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):6198

AcceptedSubmission(s):3955ProblemDescription大家都知道,号是一个11位长的数字串,同时,作为学生,还可以申请参加校园网,如果参加成功,你将另外拥有一个短号。假设所有的短号都是是6+号的后5位,比方号码为的,对应的短号就是645678。现在,如果给你一个11位长的号码,你能找出对应的短号吗?Input输入数据的第一行是一个N(N<=200),表示有N个数据,接下来的N行每一行为一个11位的号码。Output输出应包括N行,每行包括一个对应的短号,输出应与输入的顺序一致。SampleInput2SampleOutput645678654321Source2006/1/15ACM程序设计期末考试#include<stdio.h>#include<string.h>intmain(){ intn,i; chara[11]; scanf("%d",&n); getchar(); while(n--){ for(i=0;i<6;++i) getchar(); gets(a); printf("6%s\n",a); } return0;}2096小明A+BTimeLimit:1000/1000MS(Java/Others)

MemoryLimit:32768/32768K(Java/Others)TotalSubmission(s):10221

AcceptedSubmission(s):4650ProblemDescription小明今年3岁了,现在他已经能够认识100以内的非负整数,并且能够进行100以内的非负整数的加法计算.对于大于等于100的整数,小明仅保存该数的最后两位进行计算,如果计算结果大于等于100,那么小明也仅保存计算结果的最后两位.例如,对于小明来说:

1)1234和34是相等的

2)35+80=15给定非负整数A和B,你的任务是代表小明计算出A+B的值.Input输入数据的第一行为一个正整数T,表示测试数据的组数.然后是T组测试数据.每组测试数据包含两个非负整数A和B(A和B均在int型可表示的范围内).Output对于每组测试数据,输出小明A+B的结果.SampleInput23580151152SampleOutput1567SourceHDU2007-SpringProgrammingContestRecommendlcy#include<stdio.h>intmain(){intT,n,m,i;scanf("%d",&T);for(i=1;i<=T;++i){scanf("%d%d",&n,&m);printf("%d\n",(n%100+m%100)%100);}return0;}盐水的故事#include<stdio.h>

voidmain()

{

ints,t,i;

doublevul,d,sum;

while(scanf("%lf%lf",&vul,&d)!=EOF)

{

s=vul/d;

if(vul>s*d)s++;

sum=0;t=0;

for(i=1;;i++)

{

sum+=i*d;

if(sum>=vul)break;

elset++;

}

s+=t;

printf("%d\n",s);

}

}选修课考试作业TOC\o"1-1"\h\z\u1001SumProblem21089A+BforInput-OutputPractice(I)41090A+BforInput-OutputPractice(II)61091A+BforInput-OutputPractice(III)81092A+BforInput-OutputPractice(IV)91093A+BforInput-OutputPractice(V)111094A+BforInput-OutputPractice(VI)121095A+BforInput-OutputPractice(VII)131096A+BforInput-OutputPractice(VIII)142000ASCII码排序162001计算两点间的距离172002计算球体积192003求绝对值202004成绩转换212005第几天?222006求奇数的乘积242007平方和与立方和262008数值统计272009求数列的和282010水仙花数292011多项式求和312012素数判定332014青年歌手大奖赛_评委会打分342015偶数求和362016数据的交换输出382017字符串统计402019数列有序!412020绝对值排序432021发工资咯:〕452033人见人爱A+B462039三角形482040亲和数491001SumProblemProblemDescriptionHey,welcometoHDOJ(HangzhouDianziUniversityOnlineJudge).

Inthisproblem,yourtaskistocalculateSUM(n)=1+2+3+...+n.InputTheinputwillconsistofaseriesofintegersn,oneintegerperline.OutputForeachcase,outputSUM(n)inoneline,followedbyablankline.Youmayassumetheresultwillbeintherangeof32-bitsignedinteger.SampleInput1100SampleOutput15050AuthorDOOMIII解答:#include<stdio.h>main(){intn,i,sum;sum=0;while((scanf("%d",&n)!=-1)){sum=0;for(i=0;i<=n;i++)sum+=i;printf("%d\n\n",sum);}}1089A+BforInput-OutputPractice(I)ProblemDescriptionYourtaskistoCalculatea+b.

Tooeasy?!Ofcourse!Ispeciallydesignedtheproblemforacmbeginners.

Youmusthavefoundthatsomeproblemshavethesametitleswiththisone,yes,alltheseproblemsweredesignedforthesameaim.InputTheinputwillconsistofaseriesofpairsofintegersaandb,separatedbyaspace,onepairofintegersperline.OutputForeachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.SampleInput151020SampleOutput630AuthorlcyRecommendJGShining解答:#include<stdio.h>main(){inta,b;while(scanf("%d%d",&a,&b)!=EOF)printf("%d\n",a+b);}1090A+BforInput-OutputPractice(II)ProblemDescriptionYourtaskistoCalculatea+b.InputInputcontainsanintegerNinthefirstline,andthenNlinesfollow.Eachlineconsistsofapairofintegersaandb,separatedbyaspace,onepairofintegersperline.OutputForeachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.SampleInput2151020SampleOutput630AuthorlcyRecommendJGShining解答:#include<stdio.h>#defineM1000voidmain(){inta,b,n,j[M],i;//printf("pleaseinputn:\n");scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&a,&b);//printf("%d%d",a,b);j[i]=a+b;}i=0;while(i<n){printf("%d",j[i]);i++;printf("\n");}}1091A+BforInput-OutputPractice(III)ProblemDescriptionYourtaskistoCalculatea+b.InputInputcontainsmultipletestcases.Eachtestcasecontainsapairofintegersaandb,onepairofintegersperline.Atestcasecontaining00terminatestheinputandthistestcaseisnottobeprocessed.OutputForeachpairofinputintegersaandbyoushouldoutputthesumofaandbinoneline,andwithonelineofoutputforeachlineininput.SampleInput15102000SampleOutput630AuthorlcyRecommendJGShining解答:#include<stdio.h>main(){inta,b;scanf("%d%d",&a,&b);while(!(a==0&&b==0)){printf("%d\n",a+b);scanf("%d%d",&a,&b);}}1092A+BforInput-OutputPractice(IV)ProblemDescriptionYourtaskistoCalculatethesumofsomeintegers.InputInputcontainsmultipletestcases.EachtestcasecontainsaintegerN,andthenNintegersfollowinthesameline.Atestcasestartingwith0terminatestheinputandthistestcaseisnottobeprocessed.OutputForeachgroupofinputintegersyoushouldoutputtheirsuminoneline,andwithonelineofoutputforeachlineininput.SampleInput412345123450SampleOutput1015AuthorlcyRecommendJGShining解答:#include<stdio.h>intmain(){intn,sum,i,t;while(scanf("%d",&n)!=EOF&&n!=0){sum=0;for(i=0;i<n;i++){scanf("%d",&t);sum=sum+t;}printf("%d\n",sum);}}1093A+BforInput-OutputPractice(V)ProblemDescriptionYourtaskistocalculatethesumofsomeintegers.InputInputcontainsanintegerNinthefirstline,andthenNlinesfollow.EachlinestartswithaintegerM,andthenMintegersfollowinthesameline.OutputForeachgroupofinputintegersyoushouldoutputtheirsuminoneline,andwithonelineofoutputforeachlineininput.SampleInput241234512345SampleOutput1015Authorlcy解答:#include<stdio.h>main(){intn,a,b,i,j,sum;sum=0;while(scanf("%d\n",&n)!=-1){for(i=0;i<n;i++){scanf("%d",&b);for(j=0;j<b;j++){scanf("%d",&a);sum+=a;}printf("%d\n",sum);sum=0;}}}1094A+BforInput-OutputPractice(VI)ProblemDescriptionYourtaskistocalculatethesumofsomeintegers.InputInputcontainsmultipletestcases,andonecaseoneline.EachcasestartswithanintegerN,andthenNintegersfollowinthesameline.OutputForeachtestcaseyoushouldoutputthesumofNintegersinoneline,andwithonelineofoutputforeachlineininput.SampleInput41234512345SampleOutput1015AuthorlcyRecommendJGShining

解答:#include<stdio.h>main(){intn,a,b,i,j,sum;sum=0;while(scanf("%d\n",&n)!=-1){for(j=0;j<n;j++){scanf("%d",&a);sum+=a;}printf("%d\n",sum);sum=0;}}[CopytoClipboard][SavetoFile]

1095A+BforInput-OutputPractice(VII)ProblemDescriptionYourtaskistoCalculatea+b.InputTheinputwillconsistofaseriesofpairsofintegersaandb,separatedbyaspace,onepairofintegersperline.OutputForeachpairofinputintegersaandbyoushouldoutputthesumofaandb,andfollowedbyablankline.SampleInput151020SampleOutput630AuthorlcyRecommendJGShining

解答:#include<stdio.h>main(){inta,b;while(scanf("%d%d",&a,&b)!=EOF)printf("%d\n\n",a+b);}1096A+BforInput-OutputPractice(VIII)ProblemDescriptionYourtaskistocalculatethesumofsomeintegers.InputInputcontainsanintegerNinthefirstline,andthenNlinesfollow.EachlinestartswithaintegerM,andthenMintegersfollowinthesameline.OutputForeachgroupofinputintegersyoushouldoutputtheirsuminoneline,andyoumustnotethatthereisablanklinebetweenoutputs.SampleInput3412345123453123SampleOutput10156AuthorlcyRecommendJGShining解答:intmain(){inta,b,i,j,l[1000],k;scanf("%d",&i);getchar();for(j=1;j<=i;j++)l[j]=0;for(j=1;j<=i;j++){scanf("%d",&a);getchar();for(k=1;k<=a;k++){scanf("%d",&b);getchar();l[j]+=b;}}for(j=1;j<=i-1;j++)printf("%d\n\n",l[j]);printf("%d\n",l[i]);}2000ASCII码排序ProblemDescription输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。Input输入数据有多组,每组占一行,有三个字符组成,之间无空格。Output对于每组输入数据,输出一行,字符中间用一个空格分开。SampleInputqweasdzxcSampleOutputeqwadscxzAuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>main(){chara,b,c,d;while(scanf("%c%c%c",&a,&b,&c)!=EOF){getchar();if(a>=b){if(c>=a)printf("%c%c%c\n",b,a,c);elseif(b>=c)printf("%c%c%c\n",c,b,a);elseif(b<c)printf("%c%c%c\n",b,c,a);}else{if(c>=b)printf("%c%c%c\n",a,b,c);elseif(c>=a)printf("%c%c%c\n",a,c,b);elseif(a>c)printf("%c%c%c\n",c,a,b);}}}2001计算两点间的距离ProblemDescription输入两点坐标〔X1,Y1〕,〔X2,Y2〕,计算并输出两点间的距离。Input输入数据有多组,每组占一行,由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。Output对于每组输入数据,输出一行,结果保存两位小数。SampleInput00010110SampleOutput1.001.41AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>#include<math.h>main(){doublea,b,c,d,s;while(scanf("%lf%lf%lf%lf",&a,&b,&c,&d)!=EOF){s=sqrt((a-c)*(a-c)+(b-d)*(b-d));printf("%.2lf\n",s);}}2002计算球体积ProblemDescription根据输入的半径值,计算球的体积。Input输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。Output输出对应的球的体积,对于每组输入数据,输出一行,计算结果保存三位小数。SampleInput11.5SampleOutput4.18914.137Hint#definePI3.1415927AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>#definePI3.1415927main(){doublea,v;while(scanf("%lf",&a)!=EOF){v=4*PI*a*a*a/3;printf("%.3lf\n",v);}}2003求绝对值ProblemDescription求实数的绝对值。Input输入数据有多组,每组占一行,每行包含一个实数。Output对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保存两位小数。SampleInput123-234.00SampleOutput123.00234.00AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>main(){doublea;while(scanf("%lf",&a)!=EOF){if(a<0)a=-a;printf("%.2lf\n",a);}}2004成绩转换ProblemDescription输入一个百分制的成绩t,将其转换成对应的等级,具体转换规那么如下:

90~100为A;

80~89为B;

70~79为C;

60~69为D;

0~59为E;Input输入数据有多组,每组占一行,由一个整数组成。Output对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Scoreiserror!”。SampleInput5667100123SampleOutputEDAScoreiserror!AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>intmain(){intn;while(scanf("%d",&n)!=EOF){if(n>100||n<0)printf("Scoreiserror!\n");elseif(n>=90)printf("A\n");elseif(n>=80)printf("B\n");elseif(n>=70)printf("C\n");elseif(n>=60)printf("D\n");elseprintf("E\n");}return0;}2005第几天?ProblemDescription给定一个日期,输出这个日期是该年的第几天。Input输入数据有多组,每组占一行,数据格式为YYYY/MM/DD组成,具体参见sampleinput,另外,可以向你确保所有的输入数据是合法的。Output对于每组输入数据,输出一行,表示该日期是该年的第几天。SampleInput1985/1/202006/3/12SampleOutput2071AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>main(){inta,b,c,d,e,f,g;while(scanf("%d/%d/%d",&a,&b,&c)!=EOF){if(b==1)d=c;elseif(b==2)d=31+c;elseif(b==3)d=31+28+c;elseif(b==4)d=31+28+31+c;elseif(b==5)d=31+31+28+30+c;elseif(b==6)d=31+28+31+30+31+c;elseif(b==7)d=31+28+31+30+31+30+c;elseif(b==8)d=31+28+31+30+31+30+31+c;elseif(b==9)d=31+28+31+30+31+30+31+31+c;elseif(b==10)d=31+28+31+30+31+30+31+31+30+c;elseif(b==11)d=31+28+31+30+31+30+31+31+30+31+c;elseif(b==12)d=31+28+31+30+31+30+31+31+30+31+c+30;e=a%100;f=a%400;g=a%4;if(e==0){if(f==0)d=1+d;elsed=d;}elseif(g=0)d=d+1;elsed=d;printf("%d\n",d);}}2006求奇数的乘积ProblemDescription给你n个整数,求他们中所有奇数的乘积。Input输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。Output输出每组数中的所有奇数的乘积,对于测试实例,输出一行。SampleInput312342345SampleOutput315AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>main(){intn,s,i,a;while(scanf("%d",&n)!=EOF){s=1;for(i=0;i<n;i++){scanf("%d",&a);if(a%2==1)s=s*a;else;}printf("%d\n",s);}}2007平方和与立方和ProblemDescription给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。Input输入数据包含多组测试实例,每组测试实例包含一行,由两个整数m和n组成。Output对于每组输入数据,输出一行,应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。你可以认为32位整数足以保存结果。SampleInput1325SampleOutput42820152AuthorlcySourceC语言程序设计练习〔一〕RecommendJGShining解答:#include<stdio.h>intmain(){intsum1,sum2,n,i,m,t;while(scanf("%d%d",&m,&n)!=EOF){sum1=sum2=0;if(m>n){t=m;m=n;n=t;}for(i=m;i<=n;i++){if(i%2==0)sum1+=(i*i);elsesum2+=(i*i*i);}printf("%d%d\n",sum1,sum2);}return0;}2008数值统计ProblemDescription统计给定的n个数中,负数、零和正数的个数。Input输入数据有多组,每组占一行,每行的第一个数是整数n〔n<100〕,表示需要统计的数值的个数,然后是n个实数;如果n=0,那么表示输入结束,该行不做处理。Output对于每组输入数据,输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。SampleInput60123-10512340.50SampleOutput123005AuthorlcySourceC语言程序设计练习〔二〕RecommendJGShining解答:#include<stdio.h>intmain(){intn,i,b1,b2,b3;doublea[101];while(scanf("%d",&n)!=EOF&&n!=0){for(i=0;i<n;i++)scanf("%lf",&a[i]);b1=b2=b3=0;for(i=0;i<n;i++){if(a[i]<0)b1++;elseif(a[i]==0)b2++;elseb3++;}printf("%d%d%d\n",b1,b2,b3);}}2009求数列的和ProblemDescription数列的定义如下:数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。Input输入数据有多组,每组占一行,由两个整数n〔n<10000〕和m(m<1000)组成,n和m的含义如前所述。Output对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保存2位小数。SampleInput81422SampleOutput94.733.41AuthorlcySourceC语言程序设计练习〔二〕RecommendJGShining解答:#include<stdio.h>#include<math.h>main(){doublen,m,s,w,i;while(scanf("%lf%lf",&n,&m)!=EOF){s=n;for(i=1;i<m;i++){n=sqrt(n);s=s+n;}printf("%.2lf\n",s);}}2010水仙花数ProblemDescription春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:

“水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比方:153=1^3+5^3+3^3。现在要求输出所有在m和n范围内的水仙花数。Input输入数据有多组,每组占一行,包括两个整数m和n〔100<=m<=n<=999〕。Output对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个,那么要求从小到大排列在一行内输出,之间用一个空格隔开;如果给定的范围内不存在水仙花数,那么输出no;每个测试实例的输出占一行。SampleInput100120300380SampleOutputno370371AuthorlcySourceC语言程序设计练习〔二〕RecommendJGShining解答:#include<stdio.h>main(){intm,n,i,w,a,b,c,j,s,d;while(scanf("%d%d",&n,&m)!=EOF){d=0;j=1;if(m>n){w=m;m=n;n=w;}else;for(i=m;i<=n;i++){a=i/100;b=i/10%10;c=i%10;s=a*a*a+b*b*b+c*c*c;if(i==s){if(d!=0)printf("");printf("%d",i);d=d+1;j=j+1;}}if(j==1)printf("no\n");elseprintf("\n");}}2011多项式求和ProblemDescription多项式的描述如下:

1-1/2+1/3-1/4+1/5-1/6+...现在请你求出该多项式的前n项的和。Input输入数据由2行组成,首先是一个正整数m〔m<100〕,表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000〕,求该多项式的前n项的和。Output对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保存2位小数。SampleInput212SampleOutput1.000.50AuthorlcySourceC语言程序设计练习〔二〕RecommendJGShining解答:#include<stdio.h>#include<math.h>main(){doublem,n,i,s,j,k,a;whil

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论