湘潭大学C语言整理xtuoj.docx

上传人:b****5 文档编号:5940317 上传时间:2023-01-02 格式:DOCX 页数:211 大小:76.35KB
下载 相关 举报
湘潭大学C语言整理xtuoj.docx_第1页
第1页 / 共211页
湘潭大学C语言整理xtuoj.docx_第2页
第2页 / 共211页
湘潭大学C语言整理xtuoj.docx_第3页
第3页 / 共211页
湘潭大学C语言整理xtuoj.docx_第4页
第4页 / 共211页
湘潭大学C语言整理xtuoj.docx_第5页
第5页 / 共211页
点击查看更多>>
下载资源
资源描述

湘潭大学C语言整理xtuoj.docx

《湘潭大学C语言整理xtuoj.docx》由会员分享,可在线阅读,更多相关《湘潭大学C语言整理xtuoj.docx(211页珍藏版)》请在冰豆网上搜索。

湘潭大学C语言整理xtuoj.docx

湘潭大学C语言整理xtuoj

1054平方数

Description

描述

给你一个整数集合A(无重复元素),如果x,y都属于A,且y=x*x,那么组成一个数对,请找出这个集合中满足条件的数对的个数。

比如说集合A={2,3,4},则只有4=2*2,则答案为1。

输入

每个样例占2行,第一行为一个非负整数n,n<=1000,为集合中元素的个数,如果n为0则输入结束。

第二行为n个整数,为集合的元素,所有的元素为非负整数,且<=100,000,000,两个整数之间有一个空格隔开。

输出

每行输出一个样例的结果。

SampleInput

3

234

5

336596

0

SampleOutput

1

2

#include

#include

#include

intmain()

{

intn,i,i1,i2,x,y,s,str[1001];

while(scanf("%d",&n)==1&&n)

{

s=0;

for(i=0;i

{

scanf("%d",&str[i]);

}

for(i1=0;i1

{

x=str[i1]*str[i1];

for(i2=0;i2

{

y=str[i2];

if(x==y)

{

s++;

}

}

}

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

}

return0;

}

1155整数分类

Description

按照下面方法对整数x进行分类:

如果x是一个个位数,则x属于x类;否则将x的各位上的数码累加,得到一个新的x,依次迭代,可以得到x的所属类。

比如说24,2+4=6,则24的类别数是6;39,3+9=12,1+2=3,则39的类别数是3。

输入

每行输入一个非负整数n,n≤10500,n为0时结束。

输出

每行输出对应整数的分类数。

SampleInput

24

39

0

SampleOutput

6

3

#include

#include

intmain()

{

charstr[501];

inti,sum,a;

gets(str);

while(str[0]!

='0')

{

for(i=0,sum=0;i

{

sum+=str[i]-'0';

}

while(sum>=10)

{

a=sum;

sum=0;

while(a)

{

sum+=a%10;

a=a/10;

}

}

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

gets(str);

}

return0;

}

1157XTU方阵

Description

eXtremeTalentUniversity(XTU)需要为他们的校名打印一些特别的图形,为了美观,他们选择了方阵。

现在他们需要你的帮助,帮他把这些方阵打印出来。

如果方阵一边只由一个XTU的校名组成,则方阵为:

XTU

XTU

XTU

输入

每个样例占一行,每行是一个整数n(0<=n<=10),表示一行需要使用多少个校名,n为0是输入结束标志。

输出

对于每个样例,先输出样例序号,比如说第一个样例输出“Case1:

”,换行再输出对应样例的方阵,每个方阵后有一个空行。

SampleInput

1

2

0

SampleOutput

Case1:

XTU

XTU

XTU

Case2:

XTUXTU

XTUXTU

XTUXTU

XTUXTU

XTUXTU

XTUXTU

#include

main()

{

chara[4]={'X','T','U'};

inti,n,k,t,h;

i=1;

while(scanf("%d",&n)==1&&n)

{

printf("Case%d:

\n",i++);

for(h=0;h

{

for(t=0;t<3;t++)

{

for(k=0;k

{

printf("%s",a);

}

printf("\n");

}

}

printf("\n");

}

}

1058青蛙王子

Description

一个王子被巫师诅咒,变成了一只青蛙。

500年后的一天,青蛙王子碰到了一个仙女,仙女告诉他,如果他能通过一个简单的测试,她就能帮他解除诅咒。

测试是这样子的,仙女要青蛙王子在一条直线上跳跃(青蛙王子最开始站在坐标为0的地方),但只能按照她给定的两种长度跳跃(假设这两种长度王子都能跳到),可以往前或者往后跳,如果能达到指定的地点,那么就通过测试;仙女给定的方式有多种,但有些是不可能满足达到指定地点的。

请你帮帮可怜的青蛙王子,寻找出那些可以完成测试的跳跃方式。

输入

每个样例占一行,为3个整数,都可以用一个unsignedint表示。

前两个表示可以跳跃的长度,最后一个表示需要达到的地点的坐标。

如果三个数为0,表示输入结束。

输出

每行输出一个样例的结果,如果可以到达指定的地点,输出Yes,否则输出No。

SampleInput

259

372

483

000

SampleOutput

Yes

Yes

No

#include

main()

{

unsignedinta,b,c;

inte,k;

for(k=1;;k++)

{

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

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

break;

if(a==0&&b==0)

printf("No\n");

else

{

if(a

{

e=a;a=b;b=e;

}

while(b!

=0)

{

if(a>b)

{

e=a;a=b;b=e;

}

b=b%a;

}

if(c%a==0)

printf("Yes\n");

else

printf("No\n");

}

}

}

1059有多少个1?

Description

计算机中存储的整数都是按补码的型式,一个32位有符号整数的补码的定义为:

如果x>=0,则x的补码等于x的二进制表示;如果x<0,那么x的补码为2^32+x的二进制表示。

请根据给定的整数,求出它的补码包含有多少位为1。

输入

每行一个样例,为一个整数(可以用int表示)。

输出

每行输出一个对应样例的结果。

SampleInput

1

0

-1

SampleOutput

1

0

32

#include

#definesum4294967296

intmain()

{

longlonginti,n;

intc=0;

while(scanf("%I64d",&i)!

=EOF)

{

if(i<0)

i=i+sum;

while(i!

=0)

{

n=i%2;

i=i/2;

if(n==1)

c++;

}

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

c=0;

}

return0;

}

1062大小写转换

Description

接收一个字母,如果是小写,则将其转换成大写;如果是大写,就将其转换成小写。

SampleInput

b

SampleOutput

B

#include

main()

{

charch;

scanf("%c",&ch);

if(ch>=97&&ch<=122)

{

ch=ch-32;

printf("%c",ch);

}

else

{

ch=ch+32;

printf("%c",ch);

}

}

1063输入输出1

Description

请输入一个非负整数,输出其10进制和16进制(使用A-F)的值,中间用逗号隔开,不要输出换行.

SampleInput

15

SampleOutput

15,F

#include

main()

{

inta;

scanf("%d",&a);

printf("%d,%X",a,a);

}

1064输入输出2

Description

读取一个整数和一个字符并输出它们,中间用逗号隔开,不要输出回车

SampleInput

234H

SampleOutput

234,H

 #include

main()

{

inta;charb;

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

printf("%d,%c",a,b);

}

1065io3

Description

1.      读取一个单精度浮点数并输出它(保留小数点后3位)

SampleInput

1.23

SampleOutput

1.230

#include

main()

{

floata;

scanf("%f",&a);

printf("%.3f",a);

}

1066io4

Description

1.      读取一个双精度浮点数,并输出它(保留小数点后8位),无须输出换行

SampleInput

1.098765432

SampleOutput

1.09876543

#include

main()

{

doublea;

scanf("%lf",&a);

printf("%.8lf",a);

}

1067io5

Description

输入一个字符,按格式输出这个字符及它的ASCII码

SampleInput

A

SampleOutput

TheASCIIof'A'is65.

#include

main()

{

chara;

scanf("%c",&a);

printf("TheASCIIof'%c'is%d.",a,a);

}

1068if语句1

Description

输入一个整数,如果整数在90和100之间,那么输出A;否则输出B。

SampleInput

90

SampleOutput

A

#include

main()

{

inta;

scanf("%d",&a);

if((90<=a)&(a<=100))

{

printf("A");

}

else

{

printf("B");

}

}

1069if语句2

Description

输入整数n,如果n是偶数,则输出“niseven.”,否则输出"nisodd."

SampleInput

6

SampleOutput

6iseven.

#include

main()

{

intn,a;

scanf("%d",&n);

a=n%2;

if(a==0)

{

printf("%diseven.",n);

}

else

{

printf("%disodd.",n);

}

}

1070if3

Description

输入一个三位的整数,如果它有且仅有两位数码相同,那么就输出Yes,否则输出No

SampleInput

112

SampleOutput

Yes

 #include

#include

main()

{

inta,b,c,d;

(100<=a)&(a<=999);

scanf("%d",&a);

b=a/100;

c=((a-(a%10))/10)%10;

d=a%10;

if((b==c&&d!

=b)||(b==d&&c!

=b)||(c==d&&b!

=c))

{

printf("Yes");

}

else

{

printf("No");

}

}

1071if4

Description

输入三角形的三条边a,b,c;如果构成三角形那么就计算三角形的面积并输出,保留2位小数,否则输出“Notatriangle.”

SampleInput

354

SampleOutput

6.00

#include

#include

main()

{

inta,b,c,d;

(100<=a)&(a<=999);

scanf("%d",&a);

b=a/100;

c=((a-(a%10))/10)%10;

d=a%10;

if((b==c&&d!

=b)||(b==d&&c!

=b)||(c==d&&b!

=c))

{

printf("Yes");

}

else

{

printf("No");

}

}

1072switch

Description

计算下面函数的值

y=cos(x+3.0) 当0<=x<10;

y=(cos(x+7.5))^2当10<=x<20;

y=(cos(x+4.0))^4当20<=x<30;

^表示幂运算,如x^2表示x的平方

如果x不在定义域内,输出“Notdefine”,否则输出y,保留5位小数

SampleInput

40

SampleOutput

Notdefine

 #include

#include

main()

{

floatx,a,b,c;

scanf("%f",&x);

a=cos(x+3.0);

b=pow(cos(x+7.5),2);

c=pow(cos(x+4.0),4);

if(0<=x&&x<10)

{

printf("%.5f",a);

}

elseif(10<=x&&x<20)

{

printf("%.5f",b);

}

elseif(20<=x&&x<30)

{

printf("%.5f",c);

}

else

{

printf("Notdefine");

}

}

1073最大最小数

Description

输入3个互不相等的整数a,b,c,请输出最大的和最小的数,中间用一个空格隔开。

SampleInput

123

SampleOutput

31

 #include

main()

{

inta,b,c,max,min;

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

if(a>b)

{

max=a,min=b;

}

else

{

max=b,min=a;

}

if(c>max)

{

max=c;

}

if(c

{

min=c;

}

printf("%d%d",max,min);

}

1074求和

Description

第一行是一个整数n(1<=n<=1000),表示有多少个数求和;

第二行是n个整数,每个整数都在-10^5到10^5之间,每个整数之间用空格隔开。

输出和的值(不要输出回车)

SampleInput

5

12345

SampleOutput

15

 #include

#include

main()

{

intn,x,c,sum;

sum=0,c=0;

scanf("%d",&n);

for(x=1;x<=n;x++)

{

scanf("%d",&c);

sum=sum+c;

}

printf("%d",sum);

}

1075求最小公倍数

Description

有多个测试用例,每行两个正整数x,y,保证x*y不超过2^31-1。

如果x与y都为0,则输入结束。

每行输出一个测试用例的结果,即x与y的最小公倍数。

(最后一行有回车)

SampleInput

45

36

00

SampleOutput

20

6

 #include

main()

{

inti,a,b,q,w;

for(i=1;;i++)

{

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

if(a==0||b==0)break;

w=a*b;

if(b>a)

{

q=a,a=b,a=q;

}

q=a%b;

while(q!

=0)

{

a=b,b=q;

q=a%b;

}

printf("%d\n",w/b);

}

}

1076素数

Description

对于大于1的自然数,如果n为素数,那么所有大于1且不大于n的平方根的自然数都不能整除n,反之亦然。

所以我们可以通过测试来确定n是否为素数。

现在给出n,要你求是否为素数,是输出Yes,否则输出No

每行一个正整数n,n<=2^32-1,如果n为0,则输入结束。

判断n是否为素数

每行输出一个用例的结果,如果是输出"Yes",否则输出“No”

SampleInput

2

3

4

5

6

0

SampleOutput

Yes

Yes

No

Yes

No

 #include

#include

main()

{

__int64x,i,j,k;

i=2;

while(scanf("%I64d",&x),x!

=0)

{

j=sqrt((double)x)+1;

k=1;

for(i=2;i<=j&&k!

=0;i++)

{

k=x%i;

}

if(i<=j||x==1)

printf("No\n");

else

printf("Yes\n");

}

}

1077数字塔

Description

有多个输入测试用例,每个用例一行,是一个1-9的整数,输入为0则结束。

请输出一个数字塔,若输入是4,则输出的数字塔为:

  1

 222

 33333

4444444

因为有多个样例,那么样例需要先输出一行"case样例号:

"

比如第一个样例是3,则输出

case1:

 1

 222

33333

 

SampleInput

2

3

0

SampleOutput

case1:

1

222

case2:

1

222

33333

 #include

main()

{

inti,n,k,t,q,a,m;

a=0;

while(scanf("%d",&n)==1&&n)

{

a++;

q=n;

printf("case%d:

\n",a);

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

{

m=q-1;

for(t=0;t

{

printf("%c",32);

}

for(k=1;k<=(2*i-1);k++)

{

printf("%d",i);

}

printf("\n");

q--;

}

}

}

1078字母三角形

Description

输出形如

ABCDEDCBA

 ABCDCBA

 ABCBA

   ABA

    A

的字母三角形。

输入有多个样例,每个样例是一行,每行是一个大写字母。

当输入字符是‘#’时结束。

样例前需要输出“case样例号:

”。

如示例所示。

SampleInput

C

D

#

SampleOutput

case1:

ABCBA

ABA

A

case2:

ABCDCBA

ABCBA

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1