计算两个数的和,并按要求转换,将转换后的数输出1.输入任意两个正整数,相加求和,其和值存放到一个变量当中,将该和值的每一位与9相减得到的绝对值组成一个新数,存放到变量r当中,并输出r
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/21 14:59:37
![计算两个数的和,并按要求转换,将转换后的数输出1.输入任意两个正整数,相加求和,其和值存放到一个变量当中,将该和值的每一位与9相减得到的绝对值组成一个新数,存放到变量r当中,并输出r](/uploads/image/z/6926111-71-1.jpg?t=%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%95%B0%E7%9A%84%E5%92%8C%2C%E5%B9%B6%E6%8C%89%E8%A6%81%E6%B1%82%E8%BD%AC%E6%8D%A2%2C%E5%B0%86%E8%BD%AC%E6%8D%A2%E5%90%8E%E7%9A%84%E6%95%B0%E8%BE%93%E5%87%BA1.%E8%BE%93%E5%85%A5%E4%BB%BB%E6%84%8F%E4%B8%A4%E4%B8%AA%E6%AD%A3%E6%95%B4%E6%95%B0%2C%E7%9B%B8%E5%8A%A0%E6%B1%82%E5%92%8C%2C%E5%85%B6%E5%92%8C%E5%80%BC%E5%AD%98%E6%94%BE%E5%88%B0%E4%B8%80%E4%B8%AA%E5%8F%98%E9%87%8F%E5%BD%93%E4%B8%AD%2C%E5%B0%86%E8%AF%A5%E5%92%8C%E5%80%BC%E7%9A%84%E6%AF%8F%E4%B8%80%E4%BD%8D%E4%B8%8E9%E7%9B%B8%E5%87%8F%E5%BE%97%E5%88%B0%E7%9A%84%E7%BB%9D%E5%AF%B9%E5%80%BC%E7%BB%84%E6%88%90%E4%B8%80%E4%B8%AA%E6%96%B0%E6%95%B0%2C%E5%AD%98%E6%94%BE%E5%88%B0%E5%8F%98%E9%87%8Fr%E5%BD%93%E4%B8%AD%2C%E5%B9%B6%E8%BE%93%E5%87%BAr)
计算两个数的和,并按要求转换,将转换后的数输出1.输入任意两个正整数,相加求和,其和值存放到一个变量当中,将该和值的每一位与9相减得到的绝对值组成一个新数,存放到变量r当中,并输出r
计算两个数的和,并按要求转换,将转换后的数输出
1.输入任意两个正整数,相加求和,其和值存放到一个变量当中,将该和值的每一位与9相减得到的绝对值组成一个新数,存放到变量r当中,并输出r的值.
2.将上一步得到的r的每一位的数值除0以外从小到大排列,得到另外一个新数s,记录r中各位出现0的次数n,则在新数s右边添加n个零并输出.
如:
第一步:
输入的两个数分别为247 35724
得到的和为 35971
每一位与9相减得到的绝对值组成的新数为
64028
输出结果为:64028
第二步:
第一步的结果为64280,其非零数分别为6、4、2、8,则得到新数为2468,而0出现的次数为1,那么在2468后面添加一个0,得到最终的数为24680,
输出结果为24680
计算两个数的和,并按要求转换,将转换后的数输出1.输入任意两个正整数,相加求和,其和值存放到一个变量当中,将该和值的每一位与9相减得到的绝对值组成一个新数,存放到变量r当中,并输出r
说实话,谁出的题目那么坑爹,没啥技术感,也没算法训练这种说法,就知道猛得叠加任务,实际涉及的技术含量却很低.就是欺负你时间多.
下面是用最笨的办法,最直接的办法做的,控制台程序:你看着调用吧!别说调用方法都不会,那太坑了.
private static int s,r; //声明变量
static void Main(string[] args)
{
Arithmetic(247,35724); //调用方法
Console.WriteLine("r="+r.ToString()+" s="+s.ToString()); //输出
Console.Read();
}
public static void Arithmetic(int K1,int K2)
{
int sum;
string str = string.Empty;
List sumlist = new List();
//求和
sum = K1 + K2;
//求绝对值r
foreach (char item in sum.ToString())
{
str += (9 - int.Parse(item.ToString())).ToString();
}
r = int.Parse(str);
//冒泡排序,先序列化.
int lenght = str.Length;
for (int i = 0; i < lenght; i++)
{
sumlist.Add(int.Parse(str[i].ToString()));
}
//开始冒泡
for (int i = 0; i < lenght; i++)
{
for (int j = i + 1; j < lenght; j++)
{
int temp = 0;
if (sumlist[i] > sumlist[j])
{
temp = sumlist[i];
sumlist[i] = sumlist[j];
sumlist[j] = temp;
}
}
}
//排序完成后将0到屁股后面
str = "";
for (int i = 0; i < lenght; i++)
{
if (sumlist[i] == 0)
{
sumlist.Remove(0);
sumlist.Add(0);
}
str += sumlist[i];
}
s = int.Parse(str);
}