应数计算机程序设计(C语言)实验_第1页
应数计算机程序设计(C语言)实验_第2页
应数计算机程序设计(C语言)实验_第3页
应数计算机程序设计(C语言)实验_第4页
应数计算机程序设计(C语言)实验_第5页
已阅读5页,还剩104页未读 继续免费阅读

下载本文档

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

文档简介

问题A:问候世界

时间限制:1Sec内存限制:2MB

题目描述

输出:Helloworld

输入

输出

Helloworld

样例输入

样例输出

Helloworld

提示

AppendCode

#include<stdio.h>

include<stdlib.h>

intmain()

(

printf("Helloworld\n");

return0;

问题B:Helloworld!

时间限制:1Sec内存限制:2MB

题目描述

Xiao_ming有两个哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放学回家,父母分别跟他

们打招呼。

输入

输出

请输出:

HelloDa_min,

HelloEr_min,

HelloXiao_ming!

样例输入

样例输出

HelloDa_min,

HelloEr_min,

HelloXiao_ming!

提示

请注意换行符

AppendCode

#include<stdio.h>

#include<stdlib.h>

intmain()

(

printf("HelloDa_minz\nHelloEr_min,\nHelloXiao_ming!\n");

return0;

问题C:I/O练习

时间限制:1Sec内存限制:2MB

题目描述

I/O是Input/Output的缩写,是“输入与输出”的意思。

从键盘输入一个整数,然后输出这个整数。

输入

一个整数,在int类型的表示范围内。

输出

输入的整数。

样例输入

3

样例输出

10

提示

AppendCode

include<stdio.h>

#include<stdlib.h>

intmain()

(

intn;

scant("%d",&n);

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

问题A:货币兑换

时间限制:1Sec内存限制:2MB

题目描述

给出人民币对美元、欧元、日元的当日汇率,求给定金额的人民币能兑换成外币的金额,求

给定金额的外币能兑换成人民币的金额。

要计算的外币有三种:美元、欧元、日元。

输入

输入有三行。

第一行依次为美元、欧元、II元外币汇率,用空格分开。汇率用100外币为单位,精确到小

数点后4位,如668.5200表示“100美元=668.5200人民币”。汇率浮动范围为(0,10000)。

第二行为外币金额x,第三行为人民币金额y。x,y均为整数,且0vx,yvl0000。

输出

输出为两行。

第一行是金额为X的美元、欧元、II元兑换成人民币的金额,用空格分开。

第二行是金额为y的人民币兑换成美元、欧元、日元的金额,用空格分开。

所有金额精确到小数点后两位。

样例输入

668.5200908.06857.9852

1500

1500

样例输出

10027.8013621.03119.78

224.38165.1918784.75

提示

了解浮点数据类型的精确度和输出控制。

AppendCode

#include<stdio.h>

include<stdlib.h>

intmain()

(

doublea,b,c;

doublex,y;

scanf("%lf%lf%lf/n"z&a,&b,&c);

scanf(”%lf”,&x);

scanfC%lf^&y);

printf("%.2lf%.2lf%.2lf\n",x*0.01*a,x*0.01*b,x*0.01*c);

printf("%.2lf%.2lf%.2lf\n"zy/a*100,y/b*100,y/c*100);

return0;

问题B:求字符的值

时间限制:1Sec内存限制:2MB

题目描述

从键盘输入3个字符(不含双字节字符),分别输出每个字符的十进制值(ASCII码)、八

进制值和十六进制值。

输入

输入为3个字符。

输出

输出为3行。

每行为每个字符(对应输入顺序)的十进制、八进制和十六进制值,用空格分隔开。每个

输出的值占3个字符,不足3个字符前面补0。

样例输入

0A

样例输出

048060030

032040020

065101041

提示

了解字符值的存储和整型的关系。

AppendCode

#include<stdio.h>

include<stdlib.h>

intmain()

(

chara,b,c;

scanf(”%c%c%c",&a,&b,&c);

printf("%.3d%.3o%.3x\n",a,a,a);

printf("%.3d%.3o%.3x\n",b,b,b);

printf("%.3d%.3o%.3x\n”,c,c,c);

return0;

问题C:奇数还是偶数?

时间限制:1Sec内存限制:2MB

题目描述

输入一个整数,判读它是奇数还是偶数。

输入

输入只有一行,为一个100以内的正整数。

输出

输出为一行。

若输入为偶数则输出“even”,奇数输出“odd”。

样例输入

30

样例输出

even

提示

用整数运算可以解决,练习“?:"表达式。

AppendCode

#include<stdio.h>

include<stdlib.h>

intmain()

inta;

scanf("%d",&a);

if(a>=0&&a<=100);

if(a%2==0)printf("even");

else

printf("odd");

return0;

问题A:判断是否是元音字母

时间限制:1Sec内存限制:2MB

题目描述

输入一个英文字母,判断是否是元音字母。元音字母是:a,e,i,ou,A,E,I,0,U

输入

输入一个英文字母

输出

是元音字母,输出“yes”,否则输出“no”,行尾没有回车。

样例输入

样例输出

提示

AppendCode

//include<stdio.h>

#include<stdlib.h>

voidmain()

(

charc;

scanf("%c"z&c);

if((c>='a,&&c<=,z,)11(c>='A'&&c<=,Z,))

(

if(c=='A'||c=='E'||c==T||c=='O'||c=='U'||c=='a'||c=='e'||c=='i'||c=='o'||c=='u')

printf("yes");

elseprintf("no");

return0;

)

问题B:你过线了吗?

时间限制:1Sec内存限制:128MB

题目描述

经过四年的学习,你决定报考我国著名的“285”高校之一的北青大学,经过认真的复习,残

酷的考试,终于知晓了自己的考试成绩,也知道了北青大学的录取分数线,请你编程判断,

自己过线了吗?

输入

输入有2行,第一行有4个正整数,分别表示三门课程的分数线以及总分分数线。第二行有

3个非负整数,分别表示你考的三门课程的成绩。

输出

如果你的三门课程成绩都不低于相应课程的分数线,且你的考试总分也不低于北青大学的总

分分数线要求,则输出“congratulations”,否则输出“sorry”。

样例输入

708070240

808082

样例输出

congratulations

提示

如果你不会使用分支语句,同样可以使用条件运算符实现该程序。

AppendCode

include<stdio.h>

#include<stdlib.h>

intmain()

(

inta,b,x,y,c,d,e;

scanf("%d%d%d%d”,&a,&b,&x,&y);

scanf(H%d%d%d”,&c,&d,&e);

if(c<a||d<b||e<x||c+d+e<y)

printf("sorryn);

else

printf("congratulations");

return0;

}

问题C:k个数的平均值

时间限制:1Sec内存限制:128MB

题目描述

求k个数的平均值。

输入

输入分为两部分:第一个数是k,然后输入k个较小的整数。

输出

输出为这k个整数的平均值,保留3位小数。

样例输入

3

123

样例输出

2.000

提示

AppendCode

#include<stdio.h>

intmain()

(

intk,i,s;

doubleave=0;

scanf("%d"z&k);

for(i=l;i<=k;i++)

(

scanf("%dH,&s);

ave+=s;

)

ave=ave/k;

printf("%.3lf\n"zave);

问题D:多个数的平均值

时间限制:1Sec内存限制:128MB

题目描述

求k个数的平均值。

输入

输入k个较小的整数,以EOF结尾。

输出

输出为这k个整数的平均值,保留3位小数。

样例输入

123

样例输出

2.000

提示

AppendCode

include<stdio.h>

intmain()

(

intczkJ=O;

doubleazsum=0;

while(scanf(“%lf”,&a)!=EOF)

(

i++;

sum+=a;

}

printf("%.3lf",sum/i);

问题A:分数转小数

时间限制:1Sec内存限制:2MB

提交:4367解决:2562

[提交][状态][讨论版]

题目描述

求一个分数的小数值,要求保留小数点后2位,并且进行四舍五入。

输入

输入为一个分数m,格式为:“分子/分母”,也可能会有负号:“-分子/分母

输出

输出m的小数值,输出保留到小数后2位,根据小数点后的第3位向前四舍五入。

样例输入

-5/3

样例输出

-1.67

提示

printf函数是可以进行四舍五入的。

AppendCode

[提交][状态][讨论版]

西MOK中文“jEnglish1y,u

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-201111USTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

#include<stdlib.h>

intmain()

(

doublea,b,m;

scanf(”%lf/%lf”,&a,&b);

m=a/b;

printf("%.2f"zm);

)

问题B:产生等差序列之一

时间限制:1Sec内存限制:2MB

提交:6534解决:2688

[提交][状态][讨论版]

题目描述

根据给出的初始数、公差和序列长度求等差序列。

输入

输入为一行,格式见sample。其中,start为初始数,slep为公差,limes为序列长度。满足,

times>0,step不为0。

输出

把这个等差序列输出在•行里,序列两数之间用一个空格分隔。

样例输入

start=1,step=2,times=100

样例输出

1357911131517192123252729313335373941434547495153

5557596163656769717375777981838587899193959799101

103105107109111113115117119121123125127129131133135137

139141143145147149151153155157159161163165167169171173

175177179181183185187189191193195197199

提不

AppendCode

[提交][状态][讨论版]

国三0K中文_______山白English1M0

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

include<stdlib.h>

intmain()

(

intx,y,z,n;

inta[1000];

scanf("start=%d,step=%d,times=%d”,&x,&y,&z);

for(n=0;n<z;n++)

a[n]=x+y*n;

)

for(n=0;n<z;n++)

(

if(n==z-l)

printf(H%d",a[n]);

else

printf("%d",a[n]);

)

问题c:产生等差序列之二

时间限制:1Sec内存限制:2MB

提交:5970解决:2119

[提交][状态][讨论版]

题目描述

根据给出的初始数、公差和终止条件求等差序列。

输入

输入为一行,格式见sample。其中,start为初始数,step为公差,end为终止条件。满足,

step不为0,并且start和end的大小关系与step的方向一致。end不一定是序列的最后一个

数。start>step和end均为int类型的范围内的整数。

输出

把这个等差序列输出在一行里,序列两数之间用一个空格分隔。

样例输入

start=1,step=2,end=200

样例输出

1357911131517192123252729313335373941434547495153

5557596163656769717375777981838587899193959799101

103105107109111113115117119121123125127129131133135137

139141143145147149151153155157159161163165167169171173

175177179181183185187189191193195197199

提示

根据start和step的大小关系,判断序列终止的条件可能不同。

AppendCode

[提交][状态][讨论版]

国中文English1Mu

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

include<stdlib.h>

intmain()

(

inti,j,k,b,n;

inta[1000];

seanf("start=%d,step=%d,end=

a[0]=i;

•f(j>=0)

for(n=0;a[n]<=k;n++)

a[n+l]=i+(n+l)*j;

else

for(n=0;a[n]>=k;n++)

a[n+l]=i+(n+l)*j;

for(b=0;b<n;b++)

if(b==n-l)

printf("%d"za[b]);

else

printf("%d",a[b]);

问题D:PrintGraphicsProb1erm(II)

时间限制:1Sec内存限制:16MB

提交:5259解决:2184

[提交][状态][讨论版]

题目描述

向标准输出上打印一些用ASCII字符组成的图形。

输入

输入为多个整数n,0<n<100o当n为0时结束输入。

输出

若n为偶数,则输出一个正向的n层等腰三角形;n为奇数,则输出一个倒向的n层等腰三

角形。三角形由“+”组成。任意两个图形之间有一个空行分隔,格式见sample。

样例输入

540

样例输出

+++++++++

+++++++

+++++

+++

I

+

+++

+++++

+++++++

提示

AppendCode

[提交][状态][讨论版]

西MOK中文_______山区English1竹口

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

include<stdlib.h>

intmain()

{inti,j,k;

inta[100];

scanf("%d",&a[0]);

for(i=l;i<100;i++)

(

scanf(“%d”,&a[i]);

if(a[i]==O)

break;

)

for(i=0;i<=100;i++)

(

if(a[i]==O)

break;

if(a[i]%2==0)

(

for(j=l;j<=a[i];j++)

(

for(k=l;k<=(a[i]-j);k++)

printf("");

for(k=l;k<=(2*j-l);k++)

printf("+");

printf("\n");

)

printf(H\n");

)

else

for(j=a[i];j>=l;j-)

(

for(k=a[i]-j;k>=l;k-)

print""');

for(k=2*j-l;k>=l水--)

printf("+");

printf("\n");

)

printf("\n");

)

)

return0;

问题E:它满足条件吗?

时间限制:1Sec内存限制:128MB

提交:3696解决:2040

[提交][状态][讨论版]

题目描述

需要判断给定的一个整数是否同时满足如下三个条件:

1.它是一个完全平方数。

2.它是一个偶数。

3.它是一个正数。

注:若一个数能表示成某个自然数的平方的形式,则称这个数为完全平方数。例如:

0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,5

29

输入

一个int范围内的整数。

输出

如果输入的数字满足条件,则输出yes,否则输出no。

样例输入

100

样例输出

yes

提示

注意逻辑表达式判断三个条件的顺序。

如果你不会使用分支语句,同样可以使用条件运算符实现该程序。

库函数sqrt()可以用于求个数的平方根。

AppendCode

[提交][状态][讨论版]

包三0K中文English1M0

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

/include<stdio.h>

#include<stdlib.h>

include<math.h>

intmain()

intx,y;

scanf(”%d,&x);

y=sqrt(x);

if(x==y*y&&x%2==0&&x>0)

printf("yesn);

else

printfC'no");

return0;

问题A:输出整数的最低两位

时间限制:1Sec内存限制:2MB

提交:5800解决:2383

[提交][状态][讨论版]

题目描述

把一个整数的最低两位打印出来,不输出整数的符号。

输入

输入为一个整数n,不会超出int类型的数据范围。

输出

输出n的最低两位数字。但是,输入的数字本身不足两位时,不应当补0。如,输入为“1”,

则输出为“1”。

样例输入

-102

样例输出

02

提示

printf函数可以完成补0的操作。

AppendCode

[提交][状态][讨论版]

国三0K中文English1切u

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

include<stdlib.h>

intmain()

(

intz;

scanf("%d",&z);

if(z<0)

z*=-l;

if(z<100)

printf(H%d\n",z);

else

(

intans=z%100;

if(ans<10)

printfCO'1);

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

)

return0;

问题B:笛卡尔平面

时间限制:1Sec内存限制:16MB

提交:5805解决:1693

[提交][状态][讨论版]

题目描述

在数学里,笛卡儿坐标系(Cartesian坐标系),也称直角坐标系,是一种正交坐标系。二维

的直角坐标系是山两条相互垂直、0点重合的数轴构成的。在平面内,任何一点的坐标是

根据数轴上对应的点的坐标设定的。

二维的直角坐标系通常山两个互相垂直的坐标轴设定,通常分别称为x-轴和y-轴;两个

坐标轴的相交点,称为原点,通常标记为O,既有“零”的意思,又是英语“Origin”的首字

母。每一个轴都指向一个特定的方向。这两个不同线的坐标轴,决定了一个平面,称为xy-

平面,又称为笛卡儿平面。

以笛卡尔平面上个点的坐标(x,y)坐标为输入,输出该点是否在坐标轴上或者位于哪一个象

限。

输入

输入为一行。输入的坐标x、y值都会带有1位小数,括号和逗号都是英文半角符号,逗号

后面有一个空格。

输出

四个象限输出为“quadrandF'、"quadrandII"、"quadrandIII“、“quadrandIV”,x-轴和y-轴输

出为“xaxis”和“yaxis”,原点输出为“origin”

输出为以下三种:

(-1.0,-2.5)isinquadrandIII

(0.0,4.8)isontheyaxis

(0.0,0.0)isorigin

样例输入

(-1.0,-2.5)

样例输出

(-1.0,-2.5)isinquadrandIII

提示

AppendCode

[提交][状态][讨论版]

国M0K中文English1M0

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-201111UST0JProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

#include<stdlib.h>

intmain()

(

doublex,y;

H

scanf((%lfz%lf)”,&x,&y);

if(x>0&&y>0)

printf(H(%.llf,%.Ilf)isinquadrandl",x,y);

elseif(x<0&&y>0)

printf("(%.llfz%.Ilf)isinquadrand

elseif(x<0&&y<0)

printf("(%.llf,%.llf)isinquadrand

elseif(x>0&&y<0)

printf("(%.llf,%.Ilf)isinquadrandIV",x,y);

elseif(x!=0&&y==0)

printf(n(%.llf,%.Ilf)isonthexaxis",x,y);

elseif(x==O&&y!=O)

printf("(%.llfz%.Ilf)isontheyaxis,x,y);

elseif(x==O&&y==O)

printf("(%.llf,%.llf)isorigin”,x,y);

return0;

)

问题C:PrintGraphicsProb1erm(I)

时间限制:1Sec内存限制:16MB

提交:2220解决:1439

[提交][状态][讨论版]

题目描述

向标准输出上打印些用ASCH字符组成的图形。

输入

输入为一个整数n,0<n<100o

输出

输出一个n层等腰三角形,格式见sample。

样例输入

5

样例输出

+

+++

+++++

+++++++

+++++++++

提不

推导出第i层要输出的空格和“+”与i的关系,用循环很容易完成。

AppendCode

[提交][状态][讨论版]

封MOK中文"iEnglish1M0

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

include<stdlib.h>

intmain()

(

inta,izt;

scanf(”%d”,&a);

for(i=l;i<=a;i++)

(

for(t=l;t<=a-i;t++)

printfC'");

for(t=l;t<=2*i-l;t++)

printf("+");

printf("\n");

问题D:输出连续的整数序列之一

时间限制:1Sec内存限制:128MB

提交:2938解决:1579

[提交][状态][讨论版]

题目描述

输出指定区间内的所有整数。

输入

输入只有1行,即N,N是一个int类型的数据。

输出

如果N>0,则输出[1,N]区间内的所有整数;如果N=0,则输出0;如果N<0,则输出

内的所有整数。

如果输出的整数多于1个,则两两之间用•个空格隔开。

样例输入

样例输出

123456789

提示

AppendCode

[提交][状态][讨论版]

笆M0K中文English1MD

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

#include<stdlib.h>

intmain()

{intn,mj;

scanf("%d",&n);

if(n==0)

printf("%d”,O);

elseif(n>0)

(

printf("%d"zl);

for(i=l;i<n;i++)

printf(u%d"J+l);}

else

(

printf(”%d”,n);

for(i=n;i<-l;i++)

,,

printf("%d/i+l);

)

return0;

问题E:输出连续的整数序列之二

时间限制:1Sec内存限制:128MB

提交:3835解决:844

[提交][状态][讨论版]

题目描述

输出若干个连续的整数序列。

输入

输入有多行。第一行是N>0,表示后面有N行输入。

之后每行输入包含2个数据P和Q,两者之间用空格隔开,且均在int类型的表示范围内。

输出

输出N个连续的整数序列,序列两两之间用一个空行隔开。

其中第i个序列是在P和Q之间的整数,包括P和Q,且当输出的数据多于1个时,两两

之间用一个空格隔开。

样例输入

3

110010

-101010

样例输出

1234567891011121314151617181920212223242526272829

30313233343536373839404142434445464748495051525354

55565758596061626364656667686970717273747576777879

8081828384858687888990919293949596979899100-10-9-8-7

-6-5-4-3-2-101234567891010

提示

当P或Q是int类型的能够表示的最大值或者最小值时,应该如何处理?

AppendCode

[提交][状态][讨论版]

包中文"iEnglish1w0

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

include<stdlib.h>

intmain()

{intn,m/i,a,b/e/j=l;

scanf("%d",&n);

i=l;

while(i<=n)

(

i++;

scanf("%d%d",&a/&b);

if(a>b)

e=a;

a=b;

b=e;

)

printf("%d",a);

for(j=l;j<=b-a;j++)

(

printf("%d",a+j);

}

printf("\n\n");

)

return0;

)

ProblemA:编写函数:求三个整数的最大值(Append

Code)

TimeLimit:1SecMemoryLimit:2MB

Submit:5834Solved:2272

[Submit][Status][WebBoard]

Description

求三个整数的最大值。

编写•个函数maxValue。求三个整数的最大值。其原型为:

intmaxValue(inta,intb,intc);

功能:函数的三个参数传入a,b,c的值,返回其中最大值。

函数的调用格式见“AppendCode”。

Input

输入三个int类型的整数,两两之间用空格隔开。

Output

输出三个整数的最大值。

SampleInput

123

SampleOutput

3

HINT

参看系统首页上的“AppendCode”使用说明,讨论版(WebBoard)上也有。

AppendCode

append.c,append.cc,

[Submit][Status][WebBoard]

包三OK中文______+旧English1竹⑶

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

include<stdlib.h>

intmaxValue(inta,intbJntc)

(

if(c>=a&&c>=b)

{returnc;}

if(a>=b&&a>=c)

returna;

if(b>=a&&b>=c)

returnb;

)

intmain()

intx,y,z;

scanf("%d%d%d",&x,&y,&z);

printfC%d",maxValue(x,y,z));

returnO;

)

ProblemB:编写函数:计算分段函数(AppendCode)

TimeLimit:1SecMemoryLimit:2MB

Submit:6176Solved:2797

[Submit][Status][WebBoard]

Description

设有函数y=f(x)定义为:

Wx<0

sin(2力0<x<l

l<x<5

2x4-10dse

给定x的值,编程求出y的值并输出。

编写函数func()和output。,其原型为:

doublefunc(doublex);

功能:计算f(x)并返回。

intoutput(intn,doublex)

功能:按照题意的格式输出。

函数的调用格式见“AppendCode”。

Input

输入的第一个是测试样例数N,后跟N个输入为x的值。

Output

输出为N行,每行顺序与输入对应的y=f(x)的计算结果,即y的值。输出时y值保留6位小

数,且不输出无意义的0。

每行的格式为:

casei:y=?.

其中i表示测试用例编号(从1开始),?表示计算结果。

SampleInput

4

-3

0.5

2.1

10.08

SampleOutput

casel:y=3.

case2:y=0.841471.

case3:y=3.37061.

case4:y=30.16,

HINT

参看系统首页上的“AppendCode”使用说明,讨论版(WebBoard)上也有。

AppendCode

append.c,append.cc,

[Submit][Status][WebBoard]

向"MOK中文English1u

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

#include<math.h>

doublefunc(doublex)

doubley;

if(x<0)

y=-x;

elseif(x<l)

y=sin(2*x);

elseif(x<5)

y=sqrt(x*x*x+x);

else

y=2*x+10;

returny;

)

intoutput(intn,doublex)

printf("case%d:y=%.6g.\n",n,x);

intmain()

(

inti,cases;

doublex;

scanf("%d",&cases);

for(i=1;i<=cases;i++)

(

scanf(H%lf",&x);

output(i,func(x));

)

return0;

ProblemC:几点几分几秒

TimeLimit:1SecMemoryLimit:2MB

Submit:3606Solved:1547

[Submit][Status][WebBoard]

Description

•天24小时,每小时60分钟,每分钟60秒。一天共有86400秒。

。点0分0秒是每天的第1秒;

0点0分1秒是每天的第2秒;

0点1分0秒是每天的第61秒;

1点。分0秒是每天的第3601秒;

23点59分59秒是每天的第86400秒。

你的任务是编写一个程序,把每天的第n秒转换成具体的24小时制时间(从00:00:00到

23:59:59)。

Input

输入为若干整数n,表示每天的第n秒,l<=n<=86400,当输入n为0时表示输入结束。

Output

每行输出■个第n秒对应的具体时间,格式为“hh:mm:ss"。时、分、秒各占2位,不足两位

要补0,如0点0分0秒为“00:00:00”。

SampleInput

1

2

61

3600

9999

86400

0

SampleOutput

00:00:00

00:00:01

00:01:00

00:59:59

02:46:38

23:59:59

HINT

AppendCode

[Submit][Status][WebBoard]

包三OK中文“jEnglish1力b

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

#include<stdlib.h>

intmain()

{

longintn,h,m,s;

(

scanf("%ld\&n);

if(n<=0||n>86400)break;

n=n-l;

h=n/3600%60;

m=n/60%60;

s=n%60;

printf("%021d:%021d:%021d\n">s);

)

return0;

)

ProblemD:编写函数:求整数的位数之一(Append

Code)

TimeLimit:1SecMemoryLimit:2MB

Submit:2282Solved:1557

[Submit][Status][WebBoard]

Description

输入一个十进制正整数,它共有几位数字组成?

编写一个函数digits。,其原型为:

intdigits(intn);

功能:返回n的十进制位数。

函数的调用格式见“AppendCode”。

Input

一个不超过10位的正整数num。

Output

输出num有多少位十进制数字。

SampleInput

1000

SampleOutput

4

HINT

参看系统首页上的“AppendCode”使用说明,讨论版(WebBoard)上也有。

AppendCode

append.c,append.cc,

[Submit][Status][WebBoard]

笆MOK中文English1MD

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-2011HUSTOJProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

#include<stdio.h>

#include<stdlib.h>

intdigits(intn)

inti=0;

while(n!=0)

{

n=n/10;

i++;

)

returni;

intmain()

{

intnum;

scanf&num);

printf("%d\n",digits(num));

)

ProblemA:求矩阵的每行之和

TimeLimit:1SecMemoryLimit:16MB

Submit:3723Solved:2107

[Submit][Status][WebBoard]

Description

编写一个程序,求矩阵各行元素值相加之和。其中,矩阵的元素都是很小的整数,且各行元

素之和的数值不会超出int类型的表示范围。

Input

输入为多行。第一行K>0,表示有K个测试用例。

之后K个测试用例中,首先是两个整数0<=M,N<=100,表示该测试用例的矩阵是一个M行

N列的矩阵。之后是一个M行N列的整数组成的矩阵。

Output

输出有K行,每个测试用例的结果占一行。每行的格式为:

casei:dld2...dj

其中i表示测试用例的编号(从1开始),dl、d2........dj表示相应测试用例的各行的和,

两两之间用空格隔开。

SampleInput

4

33

123

123

123

23

111

111

1

1

5

3

4

5

6

7

SampleOutput

case1:666

case2:33

case3:1

case4:34567

HINT

AppendCode

[Submit][Status][WebBoard]

国MOK中文English1Mu

AllCopyrightReserved2010-2011SDUSTOJTEAM

GPL2.02003-201111UST0JProjectTEAM

AnythingabouttheProblems,PleaseContactAdmin:admin

include<stdio.h>

#include<stdlib.h>

intmain()

(

inti,k,m,nj,x,y;

ints[120];

scanf(”%d”,&k);

for(i=l;i<=k;i++)

{

scanf("%d%d"/&m,&n);

for(x=l;x<=m;x++)

(

s[x]=0;

for(j=l;j<=n;j++)

(

scanf("%d",&y);

s[x]=s[x]+y;

)

)

printf("case

for(x=l;x<=m;x++)

(

if(x==l)

printf("%d"zs[x]);

else

printf("%d"zs[x]);

)

printf(u\n");

)

)

ProblemB:PrintGraphicsProb1erm(IV)(Append

Code)

TimeLimit:1SecMemoryLimit:16MB

Submit:2494Solved:1663

[Submit][Status][WebBoard]

Description

向标准输出上打印一些用ASCII字符组成的图形。

编写一个函数用于输出ASCII图形。

用C语言实现:append©中函数原型为

intprint_graphic(intn);

用C++实现:append.cc中函数原型为

intprintGraphic(intn);

功能:输出n层的图形。

函数的调用格式见“AppendCode”。

Input

输入为一个奇数n,l<n<100。

Output

输出一个n层的空心菱形,格

温馨提示

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

评论

0/150

提交评论