用控制台应用程序实现下列功能:从键盘接受一个大于100的整数,然后分别输出该整数每一位的值,并输出这些位相加的结果。要求分别用字符提取法和证书整除法实现。字符提取法是指先将整数转换为字符串,然后依次取字符串中的每个字符,在将每个字符转换为整数求和。整数整除法指利用取整和求余数的方法求每一位的值,在求这些位的和。
程序运行效果如图所示
代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace A._2._3字符提取和整数整除练习
{
class Program
{
static void Main(string[] args)
{
Console.Write("请输入一个大于100的整数:");
int a = int.Parse(Console.ReadLine());
string s = a.ToString();
Console.WriteLine("该整数共有{0}位。", s.Length);
string m;
int sum1 = 0,sum2=0;
Console.Write("实现思路1:每一位的值为");
for (int i = 0; i < s.Length; i++) //用字符提取法实现
{
m = s.Substring(i, 1);
sum1 += int.Parse(m);
Console.Write(m);
if (i != s.Length - 1)
Console.Write("、");
}
Console.WriteLine(",这些位之和为" + sum1);
Console.Write("实现思路2:每一位的值为");
int temp1;
int temp2;
int ten=1;
for(int i= s.Length; i>=1;i--) //用整数整除法实现
{
for (int j = 1; j <= i; j++)
ten *= 10;
temp1 = a % ten;
temp2 = temp1 / (ten / 10);
Console.Write(temp2);
sum2 += temp2;
if(i!=1)
Console.Write("、");
ten = 1;
}
Console.WriteLine(",这些位之和为" + sum2);
Console.ReadKey();
}
}
}