主题:求救!利用循环结构求100-1000整数个数
ノ零界ヘ
[专家分:0] 发布于 2009-09-17 19:44:00
在C#环境中利用循环结构while。 do_while,for
求出100-1000的各位位数之和为5的整数个数!
列如:
203=2+0+3=5;
请赐教!
回复列表 (共3个回复)
沙发
wmingcsharp [专家分:10] 发布于 2009-09-19 22:15:00
using System;
namespace ArrayTest
{
class Program
{
private static bool sum5(int n)
{
int num = 0;
int num1 = 0;
int num2 = 0;
if (n > 100 && n < 1000)//这个语句可以根据情况可要可不要,我这里可以不要,只是为了写成一个函数而已.
{
num = n / 100;
num1 = (n - num * 100) / 10;
num2 =n- num * 100 - num1 * 10;
num=num+num1+num2;
}
if (num == 5)
{
return true;
}
else
return false;
}
static void Main()
{
for (int j = 100; j < 1000; j++)//这个地方和上面一样,只要有一个地方有就可以了
{
if (sum5(j))
Console.Write("{0}\t", j);
//else
// Console.Write("the sum of the {0} is not 5", givenNum);
}
Console.Read();
}
}
}
[em12][em12][em12][em12][em72][em72][em72][em72][em62][em43][em72]
板凳
linxiaoming [专家分:0] 发布于 2009-09-25 13:32:00
人家要的是个数不是j值啊,不要去数啊你应该用count 方法啊
3 楼
@杨.com [专家分:0] 发布于 2009-09-25 16:42:00
楼主这个问题不难,自己应该先做着试试看再发帖,顺便把符合的值输出了,如果不用的话,就把那句删掉就好了
using System;
namespace xunhuan1
{
class Program
{
static void Main(string[] args)
{
int count = 0;
int bai, shi, ge, sum;
for (int i = 100; i < 1000; i++)
{
bai = i / 100;
shi = (i - bai * 100) / 10;
ge = i % 10;
sum = bai + shi + ge;
if (sum == 5)
{
count++;
Console.WriteLine("{0}", i);
}
}
Console.WriteLine("{0}", count);
Console.ReadLine();
}
}
}
我来回复