for循环练习题

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

for循环练习题

1.可以从控制台连续输入数字,当输入的数字为0时不可以再输入。**

//思路: 不知道输入次数只要结果不为零就可以一直输入

Scanner sc = new Scanner(System.in); //控制台

System.out.println("请输入数字");

while(true){

int sum = sc.nextInt();

if (sum == 0){

System.out.println("你输入了0 GG~"); //输入了0就结束啦结束当前循环

break;

}

}

2.任意输入一个整数(小于10位),求它一共有多少位。**

//思路:对输入的数字用最大位数(9位数)取整,如果结果为0说明输入的数字里没有九位数那么就用八位数对其取整.........

System.out.println("请输入数字(不要超过十位数哦)");

int sum = sc.nextInt();

int s = 0; //记录器

for( int x =100000000 ; x/sum !=0; x/=10 ) {s++;}System.out.println( 9-s); //最大位数-循环次数==当前位数

3.本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是多少**

//思路:这应该是最简单的一道题......本年本金+利息就是下一年的本金累计五年就可以了double sum = 0; //因为涉及到利息会有小数所以这里用double

for( double principal = 10000,year =0; year<5 ;year++) {

principal = principal + principal*0.003;

//principal *=(1+0.003);

sum = principal;}System.out.println("五年后的本金是"+sum+"元");

//PS:现在知道为什么学java要数学好了.....我竟然把公式写成了本金=本金+本金/0.003...亏死

4.计算1000以内所有不能被7整除的整数之和。**

//思路只要不能整除7数字相加起来就可以了,说整除就想到取余只要余数不是0那就是不能被整除

int s= 0; //计数器

for(int sum=1; sum<=1000;sum++){

if(sum%7!=0){

s = sum +s;}

}

System.out.println(s);

5.用for画一个圣诞树**

//三部分行列每行递减的空格数量

for(int ln = 0;ln <5;ln++){ //外层行数

for(int space = 5;space>ln;space--){ //第一样前面五个空格,第二行前面四个,这个循环执行完了去下一个循环

System.out.print(" "); //print 去掉ln 同行输出

}

for(int row =0;row<=ln;row++){ //内层列数

System.out.print("* ");

}

System.out.println();

}

6.计算1+2-3+4-5+6-

7....+100的结果**

//注意审题..是1加二减三加四减五,不是加二加三。这个只要偶数累加减去奇数就好了,注意1是正数不是负数

int s=0; //计数器

for(int sum = 2; sum <=100;sum++){

if(sum%2 ==0){ //说明是偶数

s+=sum;

}else if(sum%2 != 0){

s-=sum;

}

}System.out.println(s+1);

7.一张纸的厚度大约是0.08mm,对折多少次之后能达到珠穆朗玛峰的高度(8848.13米)。//思路起始为8,用while或者du..while都可以,每次翻倍就好还有注意单位换算....1m=1000mm

int sum = 8;

int s = 0; //累加器

do{

sum *=2;

s++;

}while(sum<=884813000);

System.out.println("需折叠"+s+"次");

8.从控制台输入一个正整数,计算该数的阶乘。例如输入5,阶乘为5*4*3*2*1. **

// 获取输入的数字然后累乘就好啦

int sum=sc.nextInt(); //从控制台获取数字上面已经写过这里就不写啦

int s =1; //存贮值的,因为是累乘,所以不能为0

for(;sum>=1;sum--){ //上面定义了初始变量的值,这里可以不用写s *= sum;

}

System.out.println(s);

相关文档
最新文档