黑马程序员技术交流社区

标题: 第四天练习 [打印本页]

作者: 毕业生    时间: 2014-7-16 23:15
标题: 第四天练习
第一题:
求1-100之和。

int sum = 0 ;
for(int i = 1 ; i<= 100;i++ )
{
sum = sum+i;
}
System.out.println("sum="+sum);
  

求1-100之间偶数和。
int sum = 0;
for(int i=1;i<=100;i++)
{
if(i%2==0)
sum = sum+i;
}
System.out.println("sum="+sum);
------------------------------------
while(i<=100)
{
if(i%2==0)
{
sum +=i;
}
i++;
}

求1-100之间奇数和。
int sum = 0;
while(i<=100)
{
if(i%2!=0)
{
sum+=i;
}
i++;
}
第二题:
打印出所有的"水仙花数"。
所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如:
153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次
// int sum = 0;
for (int x=100;x<=999;x++)
{
int ge = x%10;
int shi = (x/10)%10;
int bai = (x/100)%10;
if((ge*ge*ge+shi*shi*shi+bai*bai*bai)==x)
{
System.out.println("x="+x)
//sum++;
}
}

第三题:
请输出满足这样条件的五位数。
  个位=万位
  十位=千位
  个位+十位+千位+万位=百位
for (int i=10000;i<=99999;i++)
{
int ge = x%10;
int shi = (x/10)%10;
int bai = (x/100)%10;
int qian = (x/1000)%10;
int wan = (x/10000)%10;
if(ge==wan&&shi==qian&&(ge+shi+qian+wan)==bai)
{
Systemout.println("x="+x);
}

}

第四题:
我国最高山峰是珠穆朗玛峰,8848米。现在我有一张足够大的纸,它的厚度是0.01米。
请问,我折叠多少次,可以折成珠穆朗玛峰的高度。
int n = 0;
  float h = 0.01f;
  do
  {
   h = h*2;
    n++;
  }
  while (h<8848);
   System.out.println("n="+n);
}
第五题:
九九乘法表。
class Demo4
{
public static void main(String[] args)
{
  print99(5);
  System.out.println("-----------------------------------");
  print99();
  
}
public static void print99(int num)
{
for(int x = 1;x<=num ;x++ )
  {
  for (int y = 1;y<=x  ;y++ )
  {
   System.out.print(y+"*"+num+"="+y*num+"\t");
  }
  System.out.println();
   }
}

public static void print99()
{
  for (int x = 1;x<=9 ;x++ )
  {
  for (int y = 1;y<=x ;y++ )
  {
   System.out.print(y+"*"+x+"="+y*x+"\t");
  }
  System.out.println();
  }
}
  
}

作者: hejinzhong    时间: 2014-7-17 02:38
  1. class SumDemo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 int sum = 0;
  6.                 for(int i=1;i<=100;i++)
  7.                 {
  8.                         sum+=i;
  9.                 }
  10.                 System.out.println("sum="+sum);
  11.         }
  12. }
复制代码

作者: mytongyong    时间: 2014-7-17 07:29
想起大学时候留的C语言作业就是打印99乘法表,呵呵,当时被折磨完了。
作者: Solomon    时间: 2014-7-17 07:38
楼主是来写笔记来了?
作者: 多此一举    时间: 2014-7-17 08:41
学习学习
作者: fantacyleo    时间: 2014-7-17 10:46
一些建议:
求奇数和与偶数和,直接修改循环变量的起始值和增加值即可,
奇数和:for(i=1; i <= 100; i+=2)
偶数和:for(i=2; i <= 100; i+=2)

水仙花数百位数的计算,只要/100即可,无需再%10

折纸问题,可以把厚度和山峰高度都放大100倍,这样只要定义int变量就可以了。浮点数的计算效率低,而且容易出现一些诡异的误差问题。能避免就尽量避免吧
作者: 毕业生    时间: 2014-7-17 19:27
fantacyleo 发表于 2014-7-17 10:46
一些建议:
求奇数和与偶数和,直接修改循环变量的起始值和增加值即可,
奇数和:for(i=1; i  ...

嗯嗯 谢谢
作者: 小乖乖灬浩歌    时间: 2014-7-17 19:53
感觉这些题目可以多做做的 练习固定的解题思维  加快解题速度
作者: 刘一阳    时间: 2014-8-2 23:19
C++摧毁了我对编程的兴趣
作者: 王石    时间: 2014-8-10 10:34
路过路过




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2