本帖最后由 黑骏马 于 2013-7-30 15:32 编辑
1.求1-100间所有偶数之和- //求1-100间所有偶数和
- int sum = 0;
- for (int i = 0; i <= 100; i+=2)
- {
- sum += i;
- }
- Console.WriteLine(sum);
- Console.ReadKey();
复制代码 2.找出100-999间所有水仙花数- //找出100-999间所有水仙花数
- Console.WriteLine("100-999间所有水仙花数:");
- int ge=0,shi=0,bai=0;
- for (int i = 100; i < 1000; i++)
- {
- ge = i % 10;
- shi = i / 10 % 10;
- bai = i / 100;
- if (i==ge*ge*ge+shi*shi*shi+bai*bai*bai)
- {
- Console.WriteLine(i);
- }
- }
- Console.ReadKey();
复制代码 3.输出九九乘法表- Console.WriteLine("九九乘法表:");
- for (int i = 1; i < 10; i++)
- {
- for (int j = 1; j <= i ; j++) // j<=i 保证每一行输出到相同数字相乘时就停止,输出的表是阶梯形而不是矩形
- {
- //Console.Write(i+"X"+j+"="+i*j+" ");
- Console.Write("{0}X{1}={2}\t",i,j,i*j);//用Write()避免每个算式后都换行,插入Tab分隔算式
- }
- Console.WriteLine("");//一行Write()完,输出一个换行
- }
- Console.ReadKey();
复制代码.
4. - Console.WriteLine("请输入一个数字,程序将其分解为两数之和:");
- try
- {
- int sum = Convert.ToInt32(Console.ReadLine());
- for (int i = 0, j = sum ; i <= sum && j >= 0 ; i ++ , j --)
- {
- Console.WriteLine("{0}+{1}={2}",i,j,sum);
- }
- }
- catch
- {
- Console.WriteLine("输入有误,只能输入数字,请重新运行。");
- }
复制代码
4.5 老师讲的方法 ,替换上面代码中的for循环部分 - for (int i = 0; i <= sum; i++)
- {
- Console.WriteLine("{0}+{1}={2}", i, sum - i, sum);
- }
复制代码 5.对4的改造,分解一个数为两数乘积。这个题目是视频里没有的,大家来做做看吧,效果如下,最后一个图为最终效果:
我的代码先隐藏起来,大家做完把代码发出来对比下。
Console.WriteLine("请输入一个数字,程序将其分解为两数乘积:");
try
{
int sum = Convert.ToInt32(Console.ReadLine());
int jsum = sum;
//for (int i = 1; i <= sum ; i++)
//for (int i = 1; i <= sum / 2.0 ; i++) //i取值不超过sum的一半,不寻找乘数与被乘数互换的算式,提高效率
//for (int i = 1; i <= sum / 2.0 && i <= jsum; i++)// 下一轮循环时,i取值不大于上一轮找到的j值
for (int i = 1; i <= sum / 2.0 && i < jsum; i++)
{
for (int j = jsum; j >= 1; j--)// 下一轮循环时,j取值不大于上一轮找到的j值
{
if (i * j == sum)
{
jsum = j;// 下一轮循环时,j取值不大于上一轮找到的j值
Console.WriteLine("{0}X{1}={2}", i, j, sum);
break;//一旦找到一个算式,即跳出内层for循环,i++,寻找下一个算式,减少无效计算,提高效率。
}
}
}
}
catch
{
Console.WriteLine("输入有误,只能输入数字,请重新运行。");
}
Console.ReadKey();
...
|
|