C++编程练习题及答案_第1页
C++编程练习题及答案_第2页
C++编程练习题及答案_第3页
C++编程练习题及答案_第4页
C++编程练习题及答案_第5页
免费预览已结束,剩余49页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、简单问题:5.编程计算:1!+2!+3!+ +20!,并将结果输出.输出格式:1!+2!+3!+20!=表达式的值package moreEasy;public class The5th public static void main(String口 args) long sum=0;for(int i=1;i<=20;i+)long r=1;for(int j=1;j<=i;j+)r*=j;sum=sum+r;编程求下列式子的值,y = 1-1/2+1/3-1/4+ + 1/99-1/100并将结果输出,格式为:1-1/2+1/3-1/4+1/99-1/100 = 表达式的值p

2、ublic class Porg public static void main(String args) double sum=0;for ( double i=1;i<=100;i+)sum=sum+(-1, i-1)*(1/i);"1-1/2+1/3-1/4+ +1/99-1/100="+sum);m和小2. 请编程实现:由键盘输入的任意一组字符,统计其中大写字母的个数写字母的个数n,并输出m n中的较大者。import class Prog2 public static void main(String args) int m=0,n=0;Scanner ci

3、n= new Scanner;String str=();for (int i=0;i<();i+)(if (i)>'A'&&(i)<='Z')m+;elsen+;if (m>n)(else3. 编程,求全部水仙花数。所谓水仙花数是指一个三位数,其各位数字立方的和等于该数。如: 153 = 1 3 + 5 3+ 33。public class Prog3 public static void main(String args) int a,b,c;for (a=1;a<=9;a+)for (b=0;b<=9;b

4、+)for (c=0;c<=9;c+)if (a*100+b*10+c=a*a*a+b*b*b+c*c*c) 4. 请编制程序判断输入的正整数是否既是5又是 7 的整倍数。 若是, 则输出 yes;否则输出 no。import class Prog4 public static void main(String args) Scanner cin= new Scanner;int i=();if ( i%5=0&&i%7=0)"yes");else"no");5. 请编程实现:对于给定的一个百分制成绩,输出相应的五分制成绩。设: 9

5、0分以上为A,8089 分为B,7079 分为C,6069 分为D, 60 分Eimport class Prog5 public static void main(String args) Scanner cin= new Scanner;int m=();if (m>=60&&m<=69)"D");elseif (m>=70&&m<=79)"C");elseif (m>=80&&m<=89)"B");elseif (m>=90)"A

6、");elsead,6 .输入一行字符,将其中的字母变成其后续的第3个字母,输出x a ; y b ;编程实现。import class Prog6 public static void main(String口 args) char 口 zimu= newchar'a','b','c','d','e','f,'g','h','i','j','k',T,'m','n','o

7、9;,'p','q','r','s','t','u','v','w','x','y','z','a','b','c'Scanner cin= new Scanner;String str=();for (int j=0;j<();j+)if (j)=zimui)break;7 .编写程序,输入任意一个17之间的整数,将他们转换成对应的英文单词.例如:1转换成 Mond

8、ay 7转换成Sunday.import class Prog7 public static void main(String口 args) "请输入任意一个17之间的整数n");Scanner cin= new Scanner;int m=();if (m=1)"Monday");elseif (m=2)"Tuesday");elseif (m=3)"Wensday");elseif (m=4)"Thuesday");elseif (m=5)"Friday");elseif

9、 (m=6)"Saturday");else"Sunday");8 . 输入三角形的三边a, b, c ,判断能否构成三角形. 若能,计算面积.import class Prog8 public static void main(String args) " 请输入三个整数n");Scanner cin= new Scanner;int a=();int b=();int c=();if (a+b<c|a+c<b|c+b<a)" 不能构成三角形n");else int l=a+b+c;9 .编程序

10、,输入a,b,c ,求方程ax2+bx+c=0的解 import class Prog9 public static void main(String口 args) "请输入三个整数n");Scanner cin= new Scanner;int a=();int b=();int c=();if (a=0) else if (b*b-4*a*c>=0)double x1=(-b+(1/2, b*b-4*a*c)/(2*a);double x2=(1/2, b*b-4*a*c)/(2*a);else "无解)10 .计算出前20项fibonacci 数列,要

11、求一行打印5个数.一般而言,兔子在出生两个月后,就有繁殖能力,一对兔子每个月能生出一对小兔子来。如果所有兔都不死,那么一年以后可以繁殖多少对兔子我们不妨拿新出生的一对小兔子分析一下:第一个月小兔子没有繁殖能力,所以还是一对;两个月后,生下一对小兔总数共有两对;三个月以后,老兔子又生下一对,因为小兔子还没有繁殖能力,所以一共是三对;依次类推可以列出下表:经过月数0123456789101112幼仔对0112358123558914数3144成兔对1123581235891423数314543总体对1235812358142337数31459437import class Prog10 publi

12、c static void main(String args) Scanner cin= new Scanner;int n=();int a=0,b=1,c=1;if (n=1) );););elsefor ( int i=2;i<=n;i+)a=b;b=c;c=a+b;" 幼崽数 "+a+" 成年兔子书 "+ b+" 总数 "+ c);11输出 10010000之间个位数为 3 的所有素数。public class Prog11 public static void main(String args) for (int i=

13、103;i<10000;i=i+10)boolean flag= true ;for ( int j=2;j<i/2;j+)if (i%j=0)flag=false ; break ;if (flag= true )12 . 百钱买百鸡问题:公鸡每只 5 元,母鸡每只 3 元,小鸡 3 只一元,问一百元买一百只鸡有几种买法.public class Prog12 public static void main(String args) int m=0;for ( int a=0;a<100;a+)for ( int b=0;b<100;b+)for ( int c=0;

14、c<100;c+)if (5*a+3*b+1/3*c=100&&a+b+c=100)m+;"一百元买一百只鸡有"+m+”种买法)13 .请编制程序要求输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上 的数字,否则输出两数之和。import class Prog13 public static void main(String args) " 请输入两个整数n");Scanner cin= new Scanner;int a=();int b=();if (a*a+b*b>100)else14 .编程实现:对键盘

15、输入的任意一个四位正整数,计算各位数字平方和如:2345 ,则:计算 22+32+42+52import class Prog14 public static void main(String口 args) "请输入任意一个四位正整数n");int sum=0;Scanner cin= new Scanner;int a=();sum=(a/1000*a/1000)+(a/100)%10*(a/100)%10)+(a/10%100%10)*(a/10% 100%10)+(a%10)*(a%10);15 . 有 1020个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,

16、问几天以后能卖完,请编程.public class Prog15 public static void main(String args) int m=0,sum=1020;dosum=sum/2-2;m+; while (sum>=0);" 天以后能卖完 ");16 .编程,输出200以内所有完全平方数C (满足C2=A2+B2)及其个数.public class Prog16 public static void main(String args) int m=0;for (int C=1;C<200;C+)for ( int A=1;A<=200;A

17、+)for (int B=1;B<=200;B+)(A=201;if (A*A+B*B=C*C)(B=201;m+;)"个数为:"+m);17 .设N是一个四位数,它的9倍恰好是其反序数(例如:123的反序数是321),编程,输出所有满足条件的N。package easy;public class The17 static long s,M;public static void main(String args) for(long N=1009;N<=1109;N=N+10)M=9*N;s=0;while(M>0)s=s*10+M%10;M=M/10;if

18、(N=s)18 . 编程,输出 555555 的约数中最大的三位数。package easy;public class The18th public static void main(String args) double a=555555;long b=0;编程,输出所有个位数为 6 且能被 31 整除的五位数及其个数。package easy;public class The19th public static void main(String args) for(long i=10006;i<=99996;i=i+10)if(i%31=0)20. 编写程序,输入两个整数,和 +、

19、- 、 * 、 / 、之中的任意一个运算符,输出计算结果.package easy;计算:1+1/ (1+2) +1/ (1+2+3)+ 1/ (1+2+-+n) , n 由键盘输入。package easy;import class The21th public static void main(String args) double sum=0,div=0;Scanner cin=new Scanner;int n=();for(int i=1;i<=n;i+)div=div+i;"1/"+div);sum=sum+1/div;22.编程计算:1*2*3+3*4*

20、5+ +99*100*101 的值.package easy;public class The22th public static void main(String args) long sum=0;for(int i=1;i+2<=101;i=i+2)sum=sum+i*(i+1)*(i+2);二、比较简单问题:1.编一个函数GCD求两个无符号整数的最大公约数。主函数输入两个正整数m和n,调用GCD求出m和n的最大公约数和最小公倍数.并输出。package moreEasy;import class Thelth public static void main(String口 args

21、) Scanner cin=new Scanner;int m=();int n=();"和"+n+”的最大公约数为:"+GCD(m,n);"和"+n+”的最小公倍数为:"+m*n/GCD(m,n);public static int GCD(int a,int b)int r=0;for(int i=1;i<=a&&i<=b;i+)if(a%i=0&&b%i=0&&r<i) r=i;请编程实现:建立一个4*4 的二维整型数组,求对角线元素的和。package more

22、Easy;import class The2th public static void main(String args) int ewsz=new int44;Scanner cin=new Scanner;for(int i=0;i<i+)for(int j=0;j<ewszi.length;j+)ewszij=();/*for(int i=0;i<i+)for(int j=0;j<ewszi.length;j+)if(j=3)"");*/int sum=0;for(int i=0;i<i+)sum=sum+ewszii;3. 写一个判断素

23、数的函数prime ,在主函数中输入 10个整数,调用 prime ,输出这1 0个整数中的素数的累力和。package moreEasy;import class The3th public static void main(String args) int shu=new int10;int sum=0;Scanner cin=new Scanner;for(int i=0;i<i+)shui=();for(int i=0;i<i+)if(prime(shui)sum=sum+shui;public static boolean prime(int a)输出最高成绩和最低成绩及

24、相应的序号。package moreEasy;import class The4th public static void main(String args) int n,n1=0,max,min;Scanner cin=new Scanner;" 学生人数 ");n=();int chengJi=new intn;for(int i=0;i<n;i+)chengJii=();max=chengJi0;min=chengJi0;for(int j=0;j<j+)if(max<chengJij)max=chengJij;n=j;)if(min>chen

25、gJij)min=chengJij;n1=j;)"max="+max+" "+n);"min="+min+" "+n1);)5.编程计算:1!+2!+3!+ +20!,并将结果输出.输出格式:1!+2!+3!+20!=表达式的值package moreEasy;public class The5th public static void main(String args) long sum=0;for(int i=1;i<=20;i+)long r=1;for(int j=1;j<=i;j+)r*=j;

26、sum=sum+r;有一个3 * 4的矩阵,编程实现:找出该矩阵中每行元素的最大值,存入一个一维数组中。输出原始矩阵和结果矩阵。7. 将若干个整数放到一维数组中,找出该数组中的最大值和它的下标。然后将它和数组中的最前面的元素对换。不明白package moreEasy;import class The7th int array=new int10;Scanner cin=new Scanner;" 数组长度: ");int n=();for(int i=0;i<n;i+)arrayi=();int min=array0;int max=array0;编写一个函数con

27、verse ,将一维数组中的数逆序存放,不允许使用辅助数组。主函数输入原始数据,调用 converse ,实现逆置。并将原数组和逆置后的数组输出package moreEasy;import class The8th public static void main(String args) converse();public static void converse()int ar=new int10;Scanner cin=new Scanner;for(int i=0;i<i+)ari=();编写函数, 将给定的字符串的大写字母转变成小写字母; 其它字符不变。主函数输入一个字符串,调

28、用该函数对其进行转换,分别输出原串和转换之后的串。package moreEasy;import class The9th static String str=""public static void main(String args) String str=""Scanner cin=new Scanner;str=();zhuanHuan(str);public static void zhuanHuan(String str1)str=str1;str=();10. 编写一个函数,将字符数组 a 中的全部字符复制到字符数组 b 中 . 不要使用 s

29、trcpy 函数 . 主函数输入任意一个字符串,调该函数,复制出另一个字符串。将两个串输出。package moreEasy;import class The10th public static void main(String args) Scanner cin=new Scanner;char aa=new char();char bb=new char();for(int i=0;i<i+)aai=(i);copy(aa,bb);for(int i=0;i<i+)" ");"");for(int i=0;i<i+)" &

30、quot;);public static void copy(char a,char b)for(int i=0;i<i+)bi=ai;11. 判断一个N*N 的矩阵是否为对称矩阵. 将原矩阵输出,判断结果输出package moreEasy;import class The11th public static void main(String args) Scanner cin=new Scanner;int n=();int count=0;int duiCheng=new intnn;for(int i=0;i<i+)for(int j=0;j<duiChengi.le

31、ngth;j+)duiChengij=();for(int i=0;i<i+)for(int j=0;j<duiChengi.length;j+)if(j=n-1)"n");else" ");for(int i=0;i<i+)for(int j=0;j<duiChengi.length;j+)if(duiChengij=duiChengji)count+;if(count=n*n)" 对称矩阵 ");else" 非对称矩阵 ");12. 给出年、月、日 , 计算该日是该年的第几天packag

32、e moreEasy;import class The12th public static void main(String args) int n=0;Scanner cin=new Scanner;int y=();" 年");int m=();“月)int d=();"日)if(y%4=0&&y%100!=0|y%400=0)switch(m)case 1:n=d;break;case 2:n=d+31;break;case 3:n=d+31+29;break;case 4:n=d+31+29+31;break;case 5:n=d+31+2

33、9+31+30;break;case 6:n=d+31+29+31+30+31;break;case 7:n=d+31+29+31+30+31+30;break;case 8:n=d+31+29+31+30+31+30+31;break;case 9:n=d+31+29+31+30+31+30+31+31;break;case 11:n=d+31+29+31+30+31+30+31+31+30;break;case 11:n=d+31+29+31+30+31+30+31+31+30+31;break;case 12:n=d+31+29+31+30+31+30+31+31+30+31+30;br

34、eak;elseswitch(m)case 1:n=d;break;case #:n=d+31;break;case 3:n=d+31+28;break;case 4:n=d+31+28+31;break;case 5:n=d+31+28+31+30;break;case 6:n=d+31+28+31+30+31;break;n=d+31+28+31+30+31+30;break;case 7:n=d+31+28+31+30+31+30+31;break;case 8:n=d+31+28+31+30+31+30+31+31;break;case 9:n=d+31+28+31+30+31+30+31+31+30;break;case 10:n

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论