当前位置:首页 >> 其它课程 >> 杭电acm答案无敌版

杭电acm答案无敌版


选修课考试作业
2012 素数判定................................................................................................................................ 34 2014 青年歌手大奖赛_评委会打分362017 字 符 串 统 计 ..

...................................................................................................................................................... 42 2019 数列有序! .............................................................................................................................. 43 2020 绝对值排序............................................................................................................................ 45 2033 人见人爱 A+B ....................................................................................................................... 48 2039 三角形.................................................................................................................................... 50 2040 亲和数.................................................................................................................................... 51

姓名:春杰 级:电商 14

1001 Sum Problem

Problem Description
Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge). In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.

Input
The input will consist of a series of integers n, one integer per line.

Output
For each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer.

Sample Input
1 100

Sample Output
1 5050

Author
DOOM III

解答: #include<stdio.h>

main() { int n,i,sum; sum=0; while((scanf("%d",&n)!=-1)) { sum=0; for(i=0;i<=n;i++) sum+=i;

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

1089

A+B for Input-Output Practice (I)

Problem Description
Your task is to Calculate a + b. Too easy?! Of course! I specially designed the problem for acm beginners. You must have found that some problems have the same titles with this one, yes, all these problems were designed for the same aim.

Input
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.

Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input
1 5 10 20

Sample Output
6 30

Author
lcy

Recommend
JGShining

解答: #include<stdio.h> main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%d\n",a+b); }

1090 A+B for Input-Output Practice (II)
Problem Description
Your task is to Calculate a + b.

Input
Input contains an integer N in the first line, and then N lines follow. Each line consists of a pair of integers a and b, separated by a space, one pair of integers per line.

Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input
2 1 5 10 20

Sample Output
6 30

Author
lcy

Recommend
JGShining

解答: #include<stdio.h> #define M 1000 void main() { int a ,b,n,j[M],i; //printf("please input n:\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"); } }

1091 A+B for Input-Output Practice (III)
Problem Description
Your task is to Calculate a + b.

Input
Input contains multiple test cases. Each test case contains a pair of integers a and b, one pair of integers per line. A test case containing 0 0 terminates the input and this test case is not to be processed.

Output
For each pair of input integers a and b you should output the sum of a and b in one line, and with one line of output for each line in input.

Sample Input
1 5 10 20 0 0

Sample Output
6 30

Author
lcy

Recommend
JGShining

解答: #include<stdio.h> main() { int a,b; scanf("%d %d",&a,&b); while(!(a==0&&b==0)) { printf("%d\n",a+b); scanf("%d %d",&a,&b); } }

1092 A+B for Input-Output Practice (IV)
Problem Description
Your task is to Calculate the sum of some integers.

Input
Input contains multiple test cases. Each test case contains a integer N, and then N integers follow in the same line. A test case starting with 0 terminates the input and this test case is not to be processed.

Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input.

Sample Input
4 1 2 3 4 5 1 2 3 4 5 0

Sample Output
10

15

Author
lcy

Recommend
JGShining

解答: #include <stdio.h> int main() { int n,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); } }

1093

A+B for Input-Output Practice (V)

Problem Description
Your task is to calculate the sum of some integers.

Input
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.

Output
For each group of input integers you should output their sum in one line, and with one line of output for each line in input.

Sample Input
2 4 1 2 3 4 5 1 2 3 4 5

Sample Output
10 15

Author
lcy

解答: #include<stdio.h> main() { int n,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; } } }

1094 A+B for Input-Output Practice (VI)
Problem Description
Your task is to calculate the sum of some integers.

Input
Input contains multiple test cases, and one case one line. Each case starts with an integer N, and then N integers follow in the same line.

Output
For each test case you should output the sum of N integers in one line, and with one line of output for each line in input.

Sample Input
4 1 2 3 4 5 1 2 3 4 5

Sample Output
10 15

Author
lcy

Recommend
JGShining

解答: #include<stdio.h> main() { int n,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; } }
[ Copy to Clipboard ] [ Save to File]

1095 A+B for Input-Output Practice (VII)
Problem Description
Your task is to Calculate a + b.

Input
The input will consist of a series of pairs of integers a and b, separated by a space, one pair of integers per line.

Output
For each pair of input integers a and b you should output the sum of a and b, and followed by a blank line.

Sample Input
1 5 10 20

Sample Output
6 30

Author
lcy

Recommend
JGShining

解答: #include<stdio.h> main() { int a,b; while(scanf("%d%d",&a,&b)!=EOF) printf("%d\n\n",a+b); }

1096 A+B for Input-Output Practice (VIII)
Problem Description
Your task is to calculate the sum of some integers.

Input
Input contains an integer N in the first line, and then N lines follow. Each line starts with a integer M, and then M integers follow in the same line.

Output
For each group of input integers you should output their sum in one line, and you must note that there is a blank line between outputs.

Sample Input
3 4 1 2 3 4 5 1 2 3 4 5 3 1 2 3

Sample Output
10 15 6

Author
lcy

Recommend
JGShining

解答: int main() { int a,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]); }

2000 ASCII 码排序
Problem Description
输入三个字符后,按各字符的 ASCII 码从小到大的顺序输出这三个字符。

Input
输入数据有多组,每组占一行,有三个字符组成,之间无空格。

Output
对于每组输入数据,输出一行,字符中间用一个空格分开。

Sample Input
qwe asd zxc

Sample Output
e q w a d s c x z

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> main() { char a,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); else if(b>=c) printf("%c %c %c\n",c,b,a); else if(b<c) printf("%c %c %c\n",b,c,a); }

else { if(c>=b) printf("%c %c %c\n",a,b,c); else if(c>=a) printf("%c %c %c\n",a,c,b); else if(a>c) printf("%c %c %c\n",c,a,b); }

} }

2001 计算两点间的距离
Problem Description
输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

Input
输入数据有多组,每组占一行,由 4 个实数组成,分别表示 x1,y1,x2,y2,数据之间用空格隔 开。

Output
对于每组输入数据,输出一行,结果保留两位小数。

Sample Input
0 0 0 1 0 1 1 0

Sample Output
1.00 1.41

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> #include<math.h> main() { double a,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 计算球体积
Problem Description
根据输入的半径值,计算球的体积。

Input
输入数据有多组,每组占一行,每行包括一个实数,表示球的半径。

Output
输出对应的球的体积,对于每组输入数据,输出一行,计算结果保留三位小数。

Sample Input
1 1.5

Sample Output
4.189 14.137 Hint #define PI 3.1415927

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> #define PI 3.1415927 main() { double a,v; while(scanf("%lf",&a)!=EOF) { v=4*PI*a*a*a/3; printf("%.3lf\n",v); } }

2003 求绝对值
Problem Description
求实数的绝对值。

Input
输入数据有多组,每组占一行,每行包含一个实数。

Output
对于每组输入数据,输出它的绝对值,要求每组数据输出一行,结果保留两位小数。

Sample Input
123 -234.00

Sample Output
123.00 234.00

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> main() { double a; while(scanf("%lf",&a)!=EOF) { if(a<0) a=-a; printf("%.2lf\n",a); } }

2004 成绩转换

Problem Description
输入一个百分制的成绩 t,将其转换成对应的等级,具体转换规则如下: 90~100 为 A; 80~89 为 B; 70~79 为 C; 60~69 为 D; 0~59 为 E;

Input
输入数据有多组,每组占一行,由一个整数组成。

Output
对于每组输入数据,输出一行。如果输入数据不在 0~100 范围内,请输出一行:“Score is error!”。

Sample Input
56 67 100 123

Sample Output
E D A Score is error!

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答:

#include <stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF) { if(n>100||n<0)printf("Score is error!\n"); else if(n>=90)printf("A\n"); else if(n>=80)printf("B\n"); else if(n>=70)printf("C\n"); else if(n>=60)printf("D\n"); else printf("E\n"); } return 0; }

2005 第几天?
Problem Description
给定一个日期,输出这个日期是该年的第几天。

Input
输入数据有多组,每组占一行,数据格式为 YYYY/MM/DD 组成,具体参见 sample input , 另外,可以向你确保所有的输入数据是合法的。

Output
对于每组输入数据,输出一行,表示该日期是该年的第几天。

Sample Input
1985/1/20 2006/3/12

Sample Output
20 71

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> main() { int a,b,c,d,e,f,g; while(scanf("%d/%d/%d",&a,&b,&c)!=EOF) { if(b==1) d=c; else if(b==2) d=31+c; else if(b==3) d=31+28+c; else if(b==4) d=31+28+31+c; else if(b==5) d=31+31+28+30+c; else if(b==6) d=31+28+31+30+31+c; else if(b==7) d=31+28+31+30+31+30+c; else if(b==8) d=31+28+31+30+31+30+31+c; else if(b==9) d=31+28+31+30+31+30+31+31+c; else if(b==10) d=31+28+31+30+31+30+31+31+30+c; else if(b==11) d=31+28+31+30+31+30+31+31+30+31+c; else if(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; else d=d; } else if(g=0) d=d+1; else d=d; printf("%d\n",d); } }

2006 求奇数的乘积
Problem Description
给你 n 个整数,求他们中所有奇数的乘积。

Input
输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为 n,表示本组数据一 共有 n 个,接着是 n 个整数,你可以假设每组数据必定至少存在一个奇数。

Output
输出每组数中的所有奇数的乘积,对于测试实例,输出一行。

Sample Input
3 1 2 3 4 2 3 4 5

Sample Output
3 15

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> main() { int n,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 平方和与立方和
Problem Description
给定一段连续的整数,求出他们中所有偶数的平方和以及所有奇数的立方和。

Input
输入数据包含多组测试实例,每组测试实例包含一行,由两个整数 m 和 n 组成。

Output
对于每组输入数据,输出一行,应包括两个整数 x 和 y,分别表示该段连续的整数中所有偶 数的平方和以及所有奇数的立方和。 你可以认为 32 位整数足以保存结果。

Sample Input
1 3 2 5

Sample Output
4 28 20 152

Author
lcy

Source
C 语言程序设计练习(一)

Recommend
JGShining

解答: #include<stdio.h> int main() { int sum1,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); else sum2+=(i*i*i); } printf("%d %d\n",sum1,sum2); } return 0; }

2008 数值统计

Problem Description
统计给定的 n 个数中,负数、零和正数的个数。

Input
输入数据有多组,每组占一行,每行的第一个数是整数 n(n<100),表示需要统计的数值 的个数,然后是 n 个实数;如果 n=0,则表示输入结束,该行不做处理。

Output
对于每组输入数据,输出一行 a,b 和 c,分别表示给定的数据中负数、零和正数的个数。

Sample Input
6 0 1 2 3 -1 0 5 1 2 3 4 0.5 0

Sample Output
1 2 3 0 0 5

Author
lcy

Source
C 语言程序设计练习(二)

Recommend
JGShining

解答: #include<stdio.h> int main() { int n,i,b1,b2,b3; double a[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++; else if(a[i]==0) b2++; else b3++; } printf("%d %d %d\n",b1,b2,b3); } }

2009 求数列的和
Problem Description
数列的定义如下: 数列的第一项为 n,以后各项为前一项的平方根,求数列的前 m 项的和。

Input
输入数据有多组,每组占一行,由两个整数 n(n<10000)和 m(m<1000)组成,n 和 m 的含 义如前所述。

Output
对于每组输入数据,输出该数列的和,每个测试实例占一行,要求精度保留 2 位小数。

Sample Input
81 4 2 2

Sample Output
94.73 3.41

Author
lcy

Source
C 语言程序设计练习(二)

Recommend
JGShining

解答: #include<stdio.h> #include<math.h> main() { double n,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 水仙花数
Problem Description
春天是鲜花的季节, 水仙花就是其中最迷人的代表, 数学上有个水仙花数, 他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=1^3+5^3+3^3。 现在要求输出所有在 m 和 n 范围内的水仙花数。

Input
输入数据有多组,每组占一行,包括两个整数 m 和 n(100<=m<=n<=999)。

Output
对于每个测试实例,要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须 大于等于 m,并且小于等于 n,如果有多个,则要求从小到大排列在一行内输出,之间用一个 空格隔开; 如果给定的范围内不存在水仙花数,则输出 no; 每个测试实例的输出占一行。

Sample Input
100 120 300 380

Sample Output
no 370 371

Author
lcy

Source
C 语言程序设计练习(二)

Recommend
JGShining

解答: #include<stdio.h> main() { int m,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"); else printf("\n"); } }

2011 多项式求和
Problem Description
多项式的描述如下: 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 位小数。

Sample Input
2 1 2

Sample Output
1.00 0.50

Author
lcy

Source
C 语言程序设计练习(二)

Recommend
JGShining

解答: #include<stdio.h> #include<math.h> main() { double m,n,i,s,j,k,a; while(scanf("%lf",&m)!=EOF) { for(i=0;i<m;i++) { s=0; scanf("%lf",&n); for(j=1;j<=n;j++) s=s+1/j*pow(-1,j+1); printf("%.2lf\n",s); } } }

2012 素数判定

Problem Description
对于表达式 n^2+n+41,当 n 在(x,y)范围内取整数值时(包括 x,y)(-39<=x<y<=50),判定 该表达式的值是否都为素数。

Input
输入数据有多组,每组占一行,由两个整数 x,y 组成,当 x=0,y=0 时,表示输入结束,该 行不做处理。

Output
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”, 每组输出占一行。

Sample Input
0 1 0 0

Sample Output
OK

Author
lcy

Source
C 语言程序设计练习(二)

Recommend
JGShining

解答: #include<stdio.h> main() { int x,y,i,j,s,k,w,d; while(scanf("%d%d",&x,&y)==2&&(x!=0||y!=0)) { w=0;

for(i=x;i<=y;i++) { k=i*i+i+41; for(j=2;j<k;j++) { d=k%j; if(d==0) w++; } } if(w==0) printf("OK\n"); else printf("Sorry\n");

} }

2014 青年歌手大奖赛_评委会打分
Problem Description
青年歌手大奖赛中, 评委会给参赛选手打分。 选手得分规则为去掉一个最高分和一个最低分, 然后计算平均得分,请编程输出某选手的得分。

Input
输入数据有多组,每组占一行,每行的第一个数是 n(2<n<100),表示评委的人数,然后是 n 个评委的打分。

Output
对于每组输入数据,输出选手的得分,结果保留 2 位小数,每组输出占一行。

Sample Input
3 99 98 97 4 100 99 98 97

Sample Output
98.00 98.50

Author
lcy

Source
C 语言程序设计练习(三)

Recommend
lcy

解答: #include<stdio.h> int main() { int n,s,a[100],i,k,b; double w; while(scanf("%d",&n)!=EOF) { k=0; w=0; s=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); k++; b=a[0]; w=w+a[i]; } for(i=0;i<k;i++) { if(a[i]>s) s=a[i]; } for(i=1;i<k;i++) { if(b>a[i]) b=a[i]; }

w=(w-s-b)/(k-2); printf("%.2lf\n",w); } }

2015 偶数求和
Problem Description
有一个长度为 n(n<=100)的数列,该数列定义为从 2 开始的递增有序偶数,现在要求你按照 顺序每 m 个数求出一个平均值,如果最后不足 m 个,则以实际数量求平均值。编程输出该 平均值序列。

Input
输入数据有多组,每组占一行,包含两个正整数 n 和 m,n 和 m 的含义如上所述。

Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。

Sample Input
3 2 4 2

Sample Output
3 6 3 7

Author
lcy

Source
C 语言程序设计练习(三)

Recommend
lcy

解答: #include<stdio.h>

main() { int n,m,a,b,i,j,k,w,l,e,s,d,r; while(scanf("%d%d",&n,&m)!=EOF) { s=0; e=0; l=0; if(n<=m) { for(i=0;i<n;i++) { s=s+2; e=e+s; k=e/n; } printf("%d\n",k); } else { w=n%m; r=0; for(i=1;i<=n-w;i++) { s=s+2; l=l+s; e=e+s; if(i%m==0) { k=e/m; e=0; if(r) printf(" "); printf("%d",k); r=r+1; } } s=0; if(w!=0) { for(j=0;j<n;j++) { s=s+2;

e=e+s; } d=e-l; k=d/w; printf(" "); printf("%d",k); } printf("\n"); } } }

2016 数据的交换输出
Problem Description
输入 n(n<100)个数,找出其中最小的数,将它与最前面的数交换后输出这些数。

Input
输入数据有多组, 每组占一行, 每行的开始是一个整数 n, 表示这个测试实例的数值的个数, 跟着就是 n 个整数。n=0 表示输入的结束,不做处理。

Output
对于每组输入数据,输出交换后的数列,每组输出占一行。

Sample Input
4 2 1 3 4 5 5 4 3 2 1 0

Sample Output
1 2 3 4 1 4 3 2 5

Author
lcy

Source
C 语言程序设计练习(三)

Recommend
lcy

解答: #include<stdio.h> main() { int n,a[100],i,j,k,s,w; while(scanf("%d",&n)!=EOF&&n!=0) { j=0; for(i=0;i<n;i++) { scanf("%d",&a[i]); k=a[0]; } for(i=0;i<n;i++) { if(k>a[i]) { k=a[i]; j=i; } } w=a[0]; a[0]=k; a[j]=w; for(i=0;i<n;i++) { printf("%d",a[i]); if(n-i!=1) printf(" "); } printf("\n"); } }

2017 字符串统计
Problem Description
对于给定的一个字符串,统计其中数字字符出现的次数。

Input
输入数据有多行,第一行是一个整数 n,表示测试实例的个数,后面跟着 n 行,每行包括一 个由字母和数字组成的字符串。

Output
对于每个测试实例,输出该串中数值的个数,每个输出占一行。

Sample Input
2 asdfasdf123123asdfasdf asdf111111111asdfasdfasdf

Sample Output
6 9

Author
lcy

解答: #include<stdio.h> main() { int n,i,j,a; char s[1000]; while(scanf("%d",&n)!=EOF) { getchar(); for(i=0;i<n;i++) { gets(s); a=0;

for(j=0;s[j]!='\0';j++) { if((s[j]<='9')&&(s[j]>='0')) a=a+1; } printf("%d\n",a); } } }

2019 数列有序!
Problem Description
有 n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数 x,请将该数插 入到序列中,并使新的序列仍然有序。

Input
输入数据包含多个测试实例,每组数据由两行组成,第一行是 n 和 m,第二行是已经有序的 n 个数的数列。n 和 m 同时为 0 标示输入数据的结束,本行不做处理。

Output
对于每个测试实例,输出插入新的元素后的数列。

Sample Input
3 3 1 2 4 0 0

Sample Output
1 2 3 4

Author
lcy

Source
C 语言程序设计练习(三)

Recommend
lcy

解答: #include<stdio.h> main() { int n,m,a[100],b[100],i,j,k,s,w,d; scanf("%d%d",&n,&m); while(!(n==0&&m==0)) { w=0; for(i=0;i<n;i++) scanf("%d",&a[i]); s=a[0]; if(m<s) { printf("%d",m); for(j=0;j<n;j++) { printf(" "); printf("%d",a[j]); } } else { for(j=0;j<n;j++) { if(m>a[j]) w=w+1; } for(j=0;j<w;j++) { printf("%d",a[j]); printf(" "); } printf("%d",m); for(j=w;j<n;j++) { printf(" ");

printf("%d",a[j]); } } printf("\n"); scanf("%d%d",&n,&m); } }

2020 绝对值排序
Problem Description
输入 n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例, 所有的数的绝对值都不相等。

Input
输入数据有多组,每组占一行,每行的第一个数字为 n,接着是 n 个整数,n=0 表示输入数据 的结束,不做处理。

Output
对于每个测试实例, 输出排序后的结果, 两个数之间用一个空格隔开。 每个测试实例占一行。

Sample Input
3 3 -4 2 4 0 1 2 -3 0

Sample Output
-4 3 2 -3 2 1 0

Author
lcy

Source
C 语言程序设计练习(三)

Recommend
lcy

解答: #include<stdio.h> main() { int n,m,a[100],b[100],c,d,e,f,i,j,k; while(scanf("%d",&n)!=EOF&&n!=0) { for(i=0;i<n;i++) scanf("%d",&a[i]); f=0; for(j=0;j<n;j++) { c=0; for(i=0;i<n;i++) { if(a[i]<0) m=-a[i]; else m=a[i]; if(c<=m) { c=m; b[j]=a[i]; k=i; } } a[k]=0; if(f) printf(" "); printf("%d",b[j]); f=f+1; } printf("\n"); } }

2021 发工资咯: )

Problem Description
作为杭电的老师,最盼望的日子就是每月的 8 号了,因为这一天是发工资的日子,养家糊口 就靠它了,呵呵 但是对于学校财务处的工作人员来说, 这一天则是很忙碌的一天, 财务处的小胡老师最近就 在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每 位老师发工资的时候都不用老师找零呢? 这里假设老师的工资都是正整数,单位元,人民币一共有 100 元、50 元、10 元、5 元、2 元和 1 元六种。

Input
输入数据包含多个测试实例,每个测试实例的第一行是一个整数 n(n<100),表示老师的 人数,然后是 n 个老师的工资。 n=0 表示输入的结束,不做处理。

Output
对于每个测试实例输出一个整数 x,表示至少需要准备的人民币张数。每个输出占一行。

Sample Input
3 1 2 3 0

Sample Output
4

Author
lcy

Source
C 语言程序设计练习(四)

Recommend
lcy

解答: #include<stdio.h>

main() { int n,m,a,b,c,d,e,f,i,j,k; while(scanf("%d",&n)!=EOF&&n!=0) { k=0; for(i=0;i<n;i++) { scanf("%d",&m); a=m/100; b=m%100/50; c=m%100%50/10; d=m%100%50%10/5; e=m%100%50%10%5/2; f=m%100%50%10%5%2; k=k+a+b+c+d+e+f; } printf("%d\n",k); } }

2033 人见人爱 A+B
Problem Description
HDOJ 上面已经有 10 来道 A+B 的题目了,相信这些题目曾经是大家的最爱,希望今天的这 个 A+B 能给大家带来好运,也希望这个题目能唤起大家对 ACM 曾经的热爱。 这个题目的 A 和 B 不是简单的整数,而是两个时间,A 和 B 都是由 3 个整数组成,分别表 示时分秒,比如,假设 A 为 34 45 56,就表示 A 所表示的时间是 34 小时 45 分钟 56 秒。

Input
输入数据有多行组成,首先是一个整数 N,表示测试实例的个数,然后是 N 行数据,每行 有 6 个整数 AH,AM,AS,BH,BM,BS,分别表示时间 A 和 B 所对应的时分秒。题目保证所有 的数据合法。

Output
对于每个测试实例,输出 A+B,每个输出结果也是由时分秒 3 部分组成,同时也要满足时 间的规则(即:分和秒的取值范围在 0~59),每个输出占一行,并且所有的部分都可以用 32 位整数表示。

Sample Input
2 1 2 3 4 5 6 34 45 56 12 23 34

Sample Output
5 7 9 47 9 30

Author
lcy

Source
ACM 程序设计期末考试(2006/06/07)

Recommend
lcy

解答: #include<stdio.h> main() {int i,j,a,b,c,d,e,f,n,s; while(scanf("%d",&n)!=EOF) { c=0;d=0;e=0; for(i=0;i<n;i++) { a=0;b=0;c=0;d=0;e=0;f=0; scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f); a=a+d; b=b+e;c=c+f; j=0; while(c>60) { c=c-60; j=j+1; } b=b+j; s=0; while(b>60) { b=b-60;

s=s+1; } a=a+s; printf("%d %d %d\n",a,b,c); } } }

2039 三角形
Problem Description
给定三条边,请你判断一下能不能组成一个三角形。

Input
输入数据第一行包含一个数 M,接下有 M 行,每行一个实例,包含三个正数 A,B,C。其中 A,B,C <1000;

Output
对于每个测试实例,如果三条边长 A,B,C 能组成三角形的话,输出 YES,否则 NO。

Sample Input
2 1 2 3 2 2 2

Sample Output
NO YES

Author
linle

Source
2005 实验班短学期考试

Recommend
lcy

解答: #include<stdio.h> main() { double n,a,b,c,i; while(scanf("%lf",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%lf%lf%lf",&a,&b,&c); if((a+b)>c&&(b+c)>a&&(a+c)>b) printf("YES\n"); else printf("NO\n"); } } }

2040 亲和数
Problem Description
古希腊数学家毕达哥拉斯在自然数研究中发现,220 的所有真约数(即不是自身的约数)之和 为: 1+2+4+5+10+11+20+22+44+55+110=284。 而 284 的所有真约数为 1、2、4、71、 142,加起来恰好为 220。人们对这样的数感到很惊 奇,并称之为亲和数。一般地讲,如果两个数中任何一个数都是另一个数的真约数之和,则 这两个数就是亲和数。 你的任务就编写一个程序,判断给定的两个数是否是亲和数

Input
输入数据第一行包含一个数 M, 接下有 M 行, 每行一个实例,包含两个整数 A,B; 其中 0 <= A,B <= 600000 ;

Output
对于每个测试实例,如果 A 和 B 是亲和数的话输出 YES,否则输出 NO。

Sample Input
2 220 284 100 200

Sample Output
YES NO

Author
linle

Source
2005 实验班短学期考试

Recommend
lcy

解答: #include<stdio.h> main() { double n,a,b,c,i; while(scanf("%lf",&n)!=EOF) { for(i=0;i<n;i++) { scanf("%lf%lf%lf",&a,&b,&c); if((a+b)>c&&(b+c)>a&&(a+c)>b) printf("YES\n"); else printf("NO\n"); } }

}


更多相关文档:

杭电acm答案无敌版

杭电acm答案无敌版_理学_高等教育_教育专区 暂无评价|0人阅读|0次下载|举报文档杭电acm答案无敌版_理学_高等教育_教育专区。选修课考试作业 2012 素数判定...选...

杭电acm 练习题100例(删减版)

杭电acm 练习题100例(删减版)_其它_高等教育_教育专区。【程序 1】题目:有 ...杭电ACM100题 2页 1下载券 杭电acm答案无敌版 54页 1下载券 杭电ACM部分题目...

杭电ACM部分题目答案

杭电ACM部分题目答案_IT认证_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档杭电ACM部分题目答案_IT认证_资格考试/认证_教育专区。杭电 ACM 1001 Sum...

杭电acm部分题目及答案答案

杭电acm部分题目及答案答案_IT/计算机_专业资料 暂无评价|0人阅读|0次下载|举报文档 杭电acm部分题目及答案答案_IT/计算机_专业资料。自己刷的题 这是我在杭电...

杭电acm部分答案

杭电acm部分答案_计算机软件及应用_IT/计算机_专业资料。Problem Description ...杭电ACM水题题目及代码 75页 免费 杭电acm答案无敌版 54页 免费 杭电ACM部分...

杭电ACM部分题答案

杭电ACM部分题答案_工学_高等教育_教育专区。杭电第1000,1002,1005,1021题等....杭电acm答案无敌版 54页 免费 杭电ACM部分题目答案 54页 免费 杭电ACM一小...

杭电ACM一小部分题目答案

杭电ACM一小部分题目答案_IT/计算机_专业资料。HDU 蟠桃记 http://acm.hdu.edu...杭电acm答案无敌版 54页 1下载券 杭电ACM部分题目答案 54页 免费©...

杭电ACM试题分类

杭电ACM 试题分类注:网上搜的 第一篇 1001 1002 1003 1004 1005 1006 1007 ...杭电acm答案无敌版 54页 免费 杭电ACM部分题目答案 54页 免费 杭电-acm 41...

杭电acm1002答案

杭电acm1002答案_英语考试_外语学习_教育专区。杭电acm1002答案 C++版 已通过测试绝对正确 欢迎参考!杭电acm 1002 答案 C++版已通过测试 #include<iostream> #includ...

杭电ACM水题题目及代码

ACM 程序设计期末考试 #include <stdio.h> #include <string.h> int main (...杭电acm 练习题100例(删... 23页 2下载券 杭电题目acm答案 54页 2下载券喜...
更多相关标签:
杭电acm | 杭电acm答案 | 杭电acm题目及答案 | 杭电acm1000答案 | 杭电acm java答案 | 杭电acm2000答案 | 杭电acm1001答案 | 杭电acm1002答案 |
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com