1、郑州轻工业学院ACM13411350网站试题解析1341 最大值Description 输入一个整数n和n个整数,输出这n个整数的最大值。 Input 输入有两行:第一行是一个正整数n,第二行是n个整数 Output 输出包含一个整数,即n个数中的最大值,单独占一行。 Sample Input 43 7 5 6Sample Output 7Source#includeint main() int n,i,a10000,max; scanf(%d,&n); scanf(%d,&a0); max=a0; for(i=1;in;i+) scanf(%d,&ai); if(maxai) max=ai;
2、 printf(%dn,max); return 0;1342 对数表Description 输入两个正整数m和n,输出m到n之间每个整数的自然对数。 Input 输入包括两个整数m和n(m=n),之间用一个空格隔开。 Output 每行输出一个整数及其对数,整数占4列,对数占8列,对数保留4位小数。 Sample Input 2 4Sample Output 2 0.6931 3 1.0986 4 1.3863Source#include#includeint main() double n,m,r; int i; scanf(%lf%lf,&m,&n); for(i=m;i=n;i+) r
3、=log(i); printf(%4d%8.4lfn,i,r); return 0;1343 求数列的和Description 数列的定义如下: 数列的第一项为n,以后各项为前一项的平方根,求数列的前m项的和。 Input 由两个整数n(n10000)和m(m1000)组成,n和m的含义如前所述。 Output 输出该数列的和,占一行,要求精度保留2位小数。 Sample Input 84 4Sample Output 97.93Source#include#includeint main() double m,n,a100000,s; int i; scanf(%lf%lf,&n,&m);
4、s=n; a0=n; for(i=0;im-1;i+) ai+1=sqrt(ai); s=s+ai+1; printf(%.2lfn,s); return 0;1344 求水仙花数Description 春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的: “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+33。 现在要求输出所有在m和n范围内的水仙花数。 Input 包括两个整数m和n(100=m=n=999)。 Output 要求输出所有在给定范围内的水仙花数,就是说,输出的水仙花数必须大于等于m,并且小于等于n,如果有多个
5、,则要求从小到大排列在一行内输出,每个数后面有一个空格; 如果给定的范围内不存在水仙花数,则输出no; 输出占一行。 Sample Input 300 380Sample Output 370 371 Source#include#includeint main() int m,n,a,b,c,s,j=0,i; scanf(%d%d,&m,&n); for(i=m;i=n;i+) a=i/100; b=i%100/10; c=i%10; s=a*a*a+b*b*b+c*c*c; if(i=s) j+; printf(%d ,i); if(j=0) printf(no); return 0;13
6、45 前N项和Description 输入n和a,求a+aa+aaa+aaa(n个a),如当n=3,a=2时,2+22+222的结果为246 Input 包含两个整数,n和a,含义如上述,你可以假定n和a都是小于10的非负整数 Output 输出前n项和,单独占一行 Sample Input 3 2Sample Output 246Source #include#includeint main() int a,n,s=0,i,j,b10; scanf(%d%d,&n,&a); b0=0; for(i=0;i=n;i+) for(j=0;jn;j+) bj+1=bj*10+a; s=s+bi;
7、printf(%d,s); return 0;1346 数值统计Description 统计给定的n个数中,负数、零和正数的个数。 Input 输入的第一个数是整数n(n100),表示需要统计的数值的个数,然后是n个整数 Output 输出一行a,b和c,分别表示给定的数据中负数、零和正数的个数。 Sample Input 6 0 1 2 3 -1 0Sample Output 1 2 3Source #includeint main() int a100000,s=0,j=0,k=0,n,i; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); if(ai
8、0) s+; printf(%d %d %d,j,k,s); return 0;1347 平方和与立方和Description 给定两个整数m和n,求出mn这段连续的整数中所有偶数的平方和以及所有奇数的立方和。 Input 由两个整数m和n组成,你可以假定m=n. Output 应包括两个整数x和y,分别表示该段连续的整数中所有偶数的平方和以及所有奇数的立方和。 你可以认为32位整数足以保存结果。 Sample Input 2 5Sample Output 20 152Source #include#includeint main() int i,m,n; double s1=0,s2=0;
9、scanf(%d%d,&m,&n); for(i=m;i=n;i+) if(i%2=0) s1=s1+pow(i,2); else s2=s2+pow(i,3); printf(%.0lf %.0lf,s1,s2); return 0;1348 奇数的乘积Description 给你n个整数,求他们中所有奇数的乘积。 Input 第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。 Output 输出n个数中的所有奇数的乘积,占一行。 Sample Input 5 2 5 4 6 7Sample Output 35Source#includeint m
10、ain() int n,i,a100000,s=1; scanf(%d,&n); for(i=0;in;i+) scanf(%d,&ai); if(ai%2=1) s=s*ai; printf(%d,s); return 0;1349 阶乘的累加和Description 求1! + 2! + n! Input 输入一个整数n,你可以假定n不大于10。 Output 输出一个整数,即阶乘累加的结果,单独占一行。 Sample Input 4Sample Output 33Source #includeint main() int i,j,n,sum1,sum2; sum1=0;sum2=1; s
11、canf(%d,&n); for(i=1;i=n;i+) sum2=sum2*i; sum1=sum1+sum2; printf(%d,sum1); return 0;1350 素数的判定Description 输入一个正整数n,判断n是否是素数,若n是素数,输出”Yes”,否则输出”No”。 Input 输入一个正整数n(n=1000) Output 如果n是素数输出Yes,否则输出No。输出占一行。 Sample Input 2Sample Output YesSource #includeint main() int a,b,n,i,j; j=0; scanf(%d,&n); a=n/2; if(n=1) printf(No); else if(n=2) printf(Yes); else if(n2) for(i=2;i0) printf(No); return 0;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1