C# 字符提取和整数整除练习(Console)
用控制台应用程序实现下列功能:从键盘接收一个大于100的整数,然后分别输出该整数每一位的值,并且输出这些为相加的结果。要求分别用字符提取法和整数整除法实现。字符提取法是指先将整数转换为字符串,然后依次取字符串中的每个字符,再将每个字符转换为整数求和。整数整除法是指利用取整和求余数的方法求每一位的值,再求这些位的和。
程序運行效果如圖:
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201005180057335.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzQ2MzAwODI3,size_16,color_FFFFFF,t_70#pic_center)
代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace lianxi
{
class Program
{
static void Main(string[] args)
{
while (true)
{
Console.Write("请输入一个大于100的数:");
string str = Console.ReadLine();
int a = int.Parse(str);
int length = Math.Abs(a).ToString().Length;
Console.WriteLine("该整数共有" + length + "位");
Console.Write("实现思路1:每一位的值为");
int sum = 0;
int l;
for (int i = 0; i < length; i++)
{
if (i != length - 1)
{
Console.Write(str[i] + "、");
l = str[i] - '0';
}
else
{
Console.Write(str[i] + ",");
l = str[i] - '0';
}
sum = sum + l;
}
Console.WriteLine("这些位之和为" + sum);
int x = a;
int sum1 = 0;
Console.Write("实现思路2:每一位的值为");
for (int i = length - 1; i >= 0; i--)
{
int j = (int)Math.Pow(10, i);
int a1 = x / j;
if (i != 0)
{
Console.Write(a1 + "、");
}
else
{
Console.Write(a1 + ",");
}
x = x % j;
sum1 = sum1 + a1;
}
Console.WriteLine("这些位之和为" + sum1);
Console.WriteLine("按回車鍵退出,按任意键继续");
if (Console.ReadKey(true).Key == ConsoleKey.Enter) break;
}
}
}
}
ps:小白第一次寫,有很多不妥的地方,希望大家多多包涵。希望與大家一起共同進步。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)