收藏 分销(赏)

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

上传人:pc****0 文档编号:7194623 上传时间:2024-12-27 格式:DOCX 页数:35 大小:53.52KB 下载积分:10 金币
下载 相关 举报
郑州轻工业学院ACM网站试题1041-1080部分解析.docx_第1页
第1页 / 共35页
郑州轻工业学院ACM网站试题1041-1080部分解析.docx_第2页
第2页 / 共35页


点击查看更多>>
资源描述
1041: 绝对值最大 时间限制: 1 Sec  内存限制: 30 MB 提交: 1053  解决: 589 [提交][状态][讨论版] 题目描述 输入3个整数,输出绝对值最大的那个数。 输入 输入包含3个int范围内的整数,用空格隔开。 输出 输出三个数中绝对值最大的数,单独占一行。若绝对值最大的数不唯一,则输出最先出现的那个。例如,若输入为1 -3 3,则输出为-3;若输入为1 3 -3则输出为3。 样例输入 1 2 -3 样例输出 -3 提示 来源 #include<stdio.h> #include<math.h> int main() { int a,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列,左对齐。 样例输入 5 样例输出 1 1 2 2 3 6 4 24 5 120 提示 来源 #include<stdio.h> int main() { int i,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)。 输出 输出第一天的桃子个数。 样例输入 3 样例输出 10 提示 来源 #include<stdio.h> int main() { int n,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个月有多少对兔子。 样例输入 3 样例输出 2 提示 来源 #include<stdio.h> int main() { int n,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,表示月息。 输出 输出一个实数,小数点后保留两位小数,占一行。 样例输入 0.01875 样例输出 2833.29 提示 来源 #include<stdio.h> #include<math.h> int main() { int i,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的取值范围,具体格式见输出样例。 样例输入 1000000 样例输出 m<=9 提示 来源 #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的最大公约数。 样例输入 4 6 样例输出 2 提示 来源 #include<stdio.h> int main() { int m,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的最大公约数和最小公倍数。 样例输入 4 6 样例输出 2 12 提示 来源 #include<stdio.h> int main() { int m,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)、其它字符,保持不变。 样例输入 Kyh520@ 样例输出 lzi520 提示 来源 #include<stdio.h> int main() { char a[1000]; int i; 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 [提交][状态][讨论版] 题目描述 输入一行字符,以回车符作为输入结束的标志。统计其中数字字符的个数。 输入 多个字符,以回车符结束,回车符不作为有效字符。 输出 输出一个整数,表示数字字符的个数。 样例输入 abrt12@2013 样例输出 6 提示 来源 #include<stdio.h> #include<string.h> int main() { char a[100]; int i,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行,格式见输出样例。 样例输入 Abse 4+5*3=? 样例输出 letter:4 digit:3 other:5 提示 来源 #include<stdio.h> #include<string.h> int main() { char a[100]; int i,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。 输入 输入一个正整数n(2<=n<=2000)。 输出 从小到大输出n的所有质因子,每两个数之间空一格。 样例输入 20 样例输出 2 2 5 提示 注意,最后一个数后面没有空格!! 来源 #include<stdio.h> int main() { int i,j,a,b,c,d=0; scanf("%d",&a); while(a!=1) { for(i=2;i<=a;i++) { b=a%i; if(b==0) { c=i; break; } } a=a/c; if(d==0) { printf("%d",c); } else if(d>0) printf(" %d",c); d=1; } return 0; } 1075: 青蛙爬井 时间限制: 1 Sec  内存限制: 128 MB 提交: 356  解决: 246 [提交][状态][讨论版] 题目描述 有一口深度为high米的水井,井底有一只青蛙,它每天白天能够沿井壁向上爬up米,夜里则顺井壁向下滑down米,若青蛙从某个早晨开始向外爬,对于任意指定的high、up和down值(均为自然数),计算青蛙多少天能够爬出井口? 输入 输入3个正整数:high、up和down。 输出 输出一个整数,表示天数。输出单独占一行。 样例输入 10 2 1 样例输出 9 提示 来源 #include<stdio.h> int main() { int a,b,c,i=0; scanf("%d%d%d",&a,&b,&c); while(a>0) { a=a-b; i++; if(a<=0) { printf("%d",i);break; } a=a+c; } return 0; } 1076: 海军节上的鸣炮声计算 时间限制: 1 Sec  内存限制: 128 MB 提交: 332  解决: 111 [提交][状态][讨论版] 题目描述 在海军节开幕式上,有A、B、C三艘军舰要同时开始鸣放礼炮各n响。已知A舰每个a秒放一次,B舰每隔b秒放一次,C舰每隔c秒放一次。假设各炮手对时间的掌握非常准确,请编程计算观众总共可以听到几次炮声。 输入 输入n,a,b,c的值,所有输入不大于10000。 输出 输出一个整数,代表观众听到的礼炮声总数。 样例输入 21 7 6 5 样例输出 54 提示 来源 1077: 百钱买百鸡 时间限制: 1 Sec  内存限制: 128 MB 提交: 867  解决: 322 [提交][状态][讨论版] 题目描述 百钱买百鸡问题:公鸡五文钱一只,母鸡三文钱一只,小鸡三只一文钱,用100文钱买100只鸡,公鸡、母鸡、小鸡各买多少只? 本程序要求解的问题是:给定一个正整数n,用n文钱买n只鸡,问公鸡、母鸡、小鸡各买多少只? 输入 输入一个正整数n(n<=100)。 输出 如果有解,种组合占一行,包含公鸡、母鸡、小鸡的个数,用正整数表示,每个数据占4列。公鸡母鸡小鸡个数均大于等于0,按公鸡数目从小到大输出,公鸡数目相同按母鸡数目从小到大输出,以此类推。如果无解,输出“No Answer”。  样例输入 100 样例输出 0 25 75 4 18 78 8 11 81 12 4 84 提示 来源 #include<stdio.h> int main() { double s,n,i,j,k,a=0; scanf("%lf",&n); for(i=0;i<=n;i++) { for(j=0;j<=n;j++) { for(k=0;k<=n;k++) { s=(double)(5*i+3*j+k/3); if((s==n)&&(i+j+k==n)) { a=1; printf("%4.0lf%4.0lf%4.0lf\n",i,j,k); } } } } if(a==0) { printf("No Answer"); } return 0; } 1078: 聚餐人数统计 时间限制: 1 Sec  内存限制: 128 MB 提交: 363  解决: 225 [提交][状态][讨论版] 题目描述 马克思手稿中有这样一道趣味数学题:男人、女人和小孩总计m个人,在一家饭店里吃饭,共花了n先令,每个男人各花3先令,每个女人各花2先令,每个小孩各花1先令,请用穷举法编程计算男人、女人和小孩各有几个。 输入 输入两个正整数,表示人数m和花费n。 输出 若问题有解,则输出所有解,每行输出三个数据,代表男人、女人和小孩的人数,用空格分隔;若问题无解,则输出“No answer"。 样例输入 30 50 样例输出 0 20 10 1 18 11 2 16 12 3 14 13 4 12 14 5 10 15 6 8 16 7 6 17 8 4 18 9 2 19 10 0 20 提示 来源 #include<stdio.h> int main() { int s,i,j,k,a=0,n,m; scanf("%d%d",&m,&n); for(i=0;i<=m;i++) { for(j=0;j<=m;j++) { for(k=0;k<=m;k++) { s=3*i+2*j+k; if(s==n&&i+j+k==m) { a=1; printf("%d %d %d\n",i,j,k); } } } } if(a==0) { printf("No answer"); } return 0; } 1079: 三位数求解 时间限制: 1 Sec  内存限制: 128 MB 提交: 557  解决: 198 [提交][状态][讨论版] 题目描述 已知xyz+yzz=n,其中n是一个正整数,x、y、z都是数字(0-9),编写一个程序求出x、y、z分别代表什么数字。如果无解,则输出“No Answer” 注意:xyz和yzz表示一个三位数,而不是表示x*y*z和y*z*z。 输入 输入一个正整数n。 输出 输出一行,包含x、y、z的值,每个数值占4列。 样例输入 532 样例输出 3 2 1 提示 来源 #include<stdio.h> int main() { int s,n,x,y,z,a,b,c,flot=0; scanf("%d",&n); c=n%10; b=(n/10)%10; a=n/100; for(x=1;x<=9;x++) { for(y=1;y<=9;y++) { for(z=0;z<=9;z++) { s=100*x+10*y+z+100*y+10*z+z; if(s==n) { flot=1; printf("%4d%4d%4d",x,y,z); } } } } if(flot==0) { printf("No Answer"); } return 0; } 1080: 打印数字图形 时间限制: 1 Sec  内存限制: 128 MB 提交: 134  解决: 105 [提交][状态][讨论版] 题目描述 从键盘输入一个整数n(1≤n≤9),打印出指定的数字图形。 输入 正整数n(1≤n≤9)。 输出 指定数字图形。 样例输入 5 样例输出 1 121 12321 1234321 123454321 1234321 12321 121 1 提示 来源 #include<stdio.h> int main() { int i,j,k,n,b,a=0,c,d; scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=n-i;j++) { printf(" "); } for(j=n-i+1;j<=n;j++) { a++; printf("%d",a); } a=0; b=i; for(j=n+1;j<=n+i-1;j++) { printf("%d",b-1); b--; } printf("\n"); } for(i=1;i<=n-1;i++) { for(j=1;j<=i;j++) { printf(" "); } c=0; for(j=i+1;j<=n;j++) { c++; printf("%d",c); } d=n-i-1; for(j=n+1;j<=2*n-i-1;j++) { printf("%d",d); d--; } printf("\n"); } return 0; }
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服