这是第一题的,我用linq写的static void fun() { string i = Console.ReadLine(); var intEven = from a in i orderby a descending where a % 2 == 0 select a; var intOdd = from a in i orderby a descending where a % 2 != 0 select a; StringBuilder strEven = new StringBuilder(); foreach (var ss in intEven) { strEven.Append(ss); } Console.WriteLine(strEven); StringBuilder strOdd = new StringBuilder(); foreach (var ss in intOdd) { strOdd.Append(ss); } Console.WriteLine(strOdd); }
第二个 int i,j,p,q;
int count=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=7;j++)
{
for(p=1;p<=13;p++)
{
for(q=1;q<=65;q++)
{
if(20*i+10*j+5*p+1*q==100)
{
count++;
Console.Writeline("20有{0},10有{1},5有{2},1有{3}",i,j,p,q);
Console.writeline("总共有{0}",count);
}
}
}
}
}这方法挺烦的,等高人有更简单的……
int i,j,p,q;
int count=0;
for(i=1;i<=4;i++)
{
for(j=1;j<=7;j++)
{
for(p=1;p<=13;p++)
{
for(q=1;q<=65;q++)
{
if(20*i+10*j+5*p+1*q==100)
{
count++;
Console.WriteLine("20有{0},10有{1},5有{2},1有{3}", i, j, p, q);
}
}
}
}
}
Console.WriteLine("总共有{0}", count);
Console.ReadLine();
4个for循环,你想卡死啊
给第一题一个
static void Main(string[] args)
{
Console.WriteLine("请输入一组数据,并回车确认:");
string strData = Console.ReadLine(); List<int> lodd = new List<int>();
List<int> leven = new List<int>();
foreach (char c in strData)
{
if (char.IsDigit(c))
{
int n =c-48;
if (n % 2 == 1)
{
lodd.Add(n);
}
else
{
leven.Add(n);
}
}
}
lodd.Sort();
leven.Sort(); int odd = 0;
int even = 0;
for (int i = 0; i < lodd.Count; i++)
{
odd += lodd[i] *(int) Math.Pow( 10 , i);
}
for (int i = 0; i < leven.Count; i++)
{
even += leven[i] * (int)Math.Pow(10, i);
} Console.WriteLine("最大奇数是{0},最大偶数是{1}", odd, even);
Console.ReadLine();
}
1.把取得的数分割转换,放入list<int> list
2.排序.sort()
3.遍历list
if(list/2==0)
os+=list.tostring();
else
js+=list.tostring();os,与JS转换为int
有个条件你是不是忽略了,就是i+j+p+q=10
i+j+p+q=10由此可知q一定能被5整除,进一步推出q只能是0,5
所以q的循环可以精简掉,i,j,p不可能超过10
每种至少一张,可见q只能是5了
20*i+10*j+5*p=95
i+j+p=5
->
4*j+2*j+p=19
i+j+p=5
->
3*i+j=14
i+j<5
->
无解,哈哈
{
string i = Console.ReadLine(); var intEven = from a in i orderby a descending where a % 2 == 0 select a;
var intOdd = from a in i orderby a descending where a % 2 != 0 select a; StringBuilder strEven = new StringBuilder();
foreach (var ss in intEven)
{
strEven.Append(ss);
}
Console.WriteLine(strEven);
StringBuilder strOdd = new StringBuilder();
foreach (var ss in intOdd)
{
strOdd.Append(ss);
}
Console.WriteLine(strOdd); }