当前位置:文档之家› 郑州轻工业学院ACM网站试题1041-1080部分解析

郑州轻工业学院ACM网站试题1041-1080部分解析

1041: 绝对值最大时间限制: 1 Sec 内存限制: 30 MB提交: 1053 解决: 589[提交][状态][讨论版]题目描述输入3个整数,输出绝对值最大的那个数。

输入输入包含3个int范围内的整数,用空格隔开。

输出输出三个数中绝对值最大的数,单独占一行。

若绝对值最大的数不唯一,则输出最先出现的那个。

例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。

样例输入样例输出提示来源#include<stdio.h>#include<math.h>int main(){inta,b,c,i,d,e,f,max;scanf("%d%d%d",&a,&b,&c); d=abs(a);e=abs(b);f=abs(c);max=d;i=a;if(e>max){max=e;i=b;}if(f>max){max=f;i=c;}printf("%d",i);return 0;}1053: 阶乘表时间限制: 1 Sec 内存限制: 128 MB提交: 1607 解决: 571[提交][状态][讨论版]题目描述输入一个正整数n(n<20),输出1到n之间阶乘表。

输入输入只有一个正整数n。

输出输出1到n之间的阶乘表,格式见输出样例。

每行两个数据,第一个数据占4列,第二个数据占20列,左对齐。

样例输入样例输出提示来源#include<stdio.h>int main(){inti,n,j;double s=1;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=i;j++){s=s*j;}printf("%-4d%-20.0lf\n",i,s);s=1;}return 0;}1059: 猴子吃桃时间限制: 1 Sec 内存限制: 128 MB提交: 455 解决: 378[提交][状态][讨论版]题目描述悟空第一天摘下桃子若干,当即吃掉一半,还不过瘾,又多吃一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。

聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?输入输入一个数n(1<=n<=30)。

输出输出第一天的桃子个数。

样例输入样例输出提示来源#include<stdio.h>int main(){intn,m=1,i;scanf("%d",&n);for(i=1;i<n;i++){m=2*(m+1);}printf("%d",m);return 0;}1060: 兔子繁殖问题时间限制: 1 Sec 内存限制: 128 MB提交: 806 解决: 459[提交][状态][讨论版]题目描述这是一个有趣的古典数学问题,著名意大利数学家Fibonacci曾提出一个问题:有一对小兔子,从出生后第3个月起每个月都生一对兔子。

小兔子长到第3个月后每个月又生一对兔子。

按此规律,假设没有兔子死亡,第一个月有一对刚出生的小兔子,问第n个月有多少对兔子?输入输入月数n(1<=n<=44)。

输出输出第n个月有多少对兔子。

样例输入样例输出提示来源#include<stdio.h>int main(){intn,a[100],b,i;a[0]=1;a[1]=1;scanf("%d",&n);if(n==1||n==2)printf("2");else if(n>2){for(i=2;i<n;i++){a[i]=a[i-1]+a[i-2];}printf("%d",a[n-1]);}return 0;}1061: 整存零取时间限制: 1 Sec 内存限制: 128 MB提交: 356 解决: 319[提交][状态][讨论版]题目描述假设银行一年整存零取的月息为x,现在某人手头有一笔钱,他打算在今后5年中,每年年底取出1000元作为孩子来年的教育金,到第5年孩子毕业时刚好取完这笔钱,请编程计算第1年年初时他应存入银行多少钱。

输入输入一个实数x,表示月息。

输出输出一个实数,小数点后保留两位小数,占一行。

样例输入样例输出提示来源#include<stdio.h>#include<math.h>int main(){inti,j;float a,b=0;scanf("%f",&a);for(i=1;i<=5;i++){b=b+1000;b=b/(1+a*12);}printf("%.2f",b);return 0;}1063: 求解不等式时间限制: 1 Sec 内存限制: 128 MB提交: 526 解决: 300[提交][状态][讨论版]题目描述已知不等式1!+2!+3!+...+m!‹n,请编程对用户指定的n值计算并输出满足该不等式的m的整数解。

输入输入一个正整数n,n不大于1000000。

输出输出m的取值范围,具体格式见输出样例。

样例输入样例输出提示来源#include<stdio.h>int main(){int m=1,j,s=0,a,n;scanf("%d",&n);while(s<n){a=1;for(j=1;j<=m;j++){a=a*j;}s=s+a;m=m+1;}printf("m<=%d",m-2); return 0;}1068: 最大公约数时间限制: 1 Sec 内存限制: 128 MB提交: 490 解决: 216[提交][状态][讨论版]题目描述输入两个正整数,输出其最大公约数。

输入输入两个正整数m和n,数据之间用空格隔开。

输出输出一个整数,表示m和n的最大公约数。

样例输入样例输出提示来源#include<stdio.h>int main(){intm,n,a,b;scanf("%d%d",&m,&n);if(m>n){a=m;m=n;n=a;}while(m!=n){b=n-m;if(m>b){n=m;m=b;}else{n=b;m=m;}}printf("%d",m);return 0;}1069: 最大公约与最小公倍时间限制: 1 Sec 内存限制: 128 MB提交: 581 解决: 190[提交][状态][讨论版]题目描述输入两个正整数,输出其最大公约数和最小公倍数。

输入输入两个正整数n和m(n,m<=1000000)。

输入保证最终结果在int范围内。

输出输出两个整数,用空格隔开。

表示m和n的最大公约数和最小公倍数。

样例输入样例输出提示来源#include<stdio.h>int main(){intm,n,a,b,c;double d;scanf("%d%d",&m,&n);c=m;d=n;if(m>n){a=m;m=n;n=a;}while(m!=n){b=n-m;if(m>b){n=m;m=b;}else{n=b;m=m;}}printf("%d %.0lf",m,(c*d)/m); return 0;}1070: 加密字符时间限制: 1 Sec 内存限制: 128 MB提交: 398 解决: 184[提交][状态][讨论版]题目描述从键盘输入一批字符,以@结束,按要求加密并输出。

输入从键盘输入一批字符,占一行,以@结束。

输出输出占一行加密规则:1)、所有字母均转换为小写。

2)、若是字母'a'到'y',则转化为下一个字母。

3)、若是'z',则转化为'a'。

4)、其它字符,保持不变。

样例输入样例输出提示来源#include<stdio.h>int main(){char a[1000];inti;scanf("%c",&a[0]);i=0;while(a[i]!='@'){if(a[i]>=65&&a[i]<90){a[i]=a[i]+33;printf("%c",a[i]);}else if(a[i]>=97&&a[i]<122) {a[i]=a[i]+1;printf("%c",a[i]);}else if(a[i]==122){a[i]=97;printf("%c",a[i]);}else if(a[i]==90){a[i]=97;printf("%c",a[i]);}else{printf("%c",a[i]);}i++;scanf("%c",&a[i]);}return 0;}1071: 统计数字字符的个数时间限制: 1 Sec 内存限制: 128 MB提交: 255 解决: 212[提交][状态][讨论版]题目描述输入一行字符,以回车符作为输入结束的标志。

统计其中数字字符的个数。

输入多个字符,以回车符结束,回车符不作为有效字符。

输出输出一个整数,表示数字字符的个数。

样例输入样例输出提示来源#include<stdio.h>#include<string.h>int main(){char a[100];inti,j=0,n;gets(a);n=strlen(a);for(i=0;i<n;i++){if(a[i]>=48&&a[i]<=57){j++;}}printf("%d",j);return 0;}1072: 字符分类统计时间限制: 1 Sec 内存限制: 128 MB提交: 433 解决: 218[提交][状态][讨论版]题目描述输入一行字符,以回车符作为输入结束的标志。

统计其中英文字母、数字字符和其他字符的个数。

输入多个字符,以回车符结束,回车符不作为有效字符。

有效字符个数不超过100。

输出输出分3行,格式见输出样例。

样例输入样例输出提示来源#include<stdio.h>#include<string.h>int main(){char a[100];inti,n,j=0,k=0,b=0;gets(a);n=strlen(a);for(i=0;i<n;i++){if((a[i]>='a'&&a[i]<='z')||(a[i]>='A'&&a[ i]<='Z')){b++;}else if(a[i]>='0'&&a[i]<='9'){j++;}else{k++;}}printf("letter:%d\n",b);printf("digit:%d\n",j);printf("other:%d\n",k);return 0;}1074: 分解质因子时间限制: 1 Sec 内存限制: 128 MB提交: 276 解决: 127[提交][状态][讨论版]题目描述将一个正整数分解质因数,例如,输入90,输出2 3 3 5。

相关主题