换行输出整数问题
输⼊任意⼀个位数未知的整数,输出这个数每⼀位上的数字。输出的时候,从个位开始输出,每输出⼀个数字换⼀⾏。样例输⼊:3547 输出:7 换行输出 4 换行输出5 换行输出3
int n = Convert.ToInt32(Console.ReadLine());
int x;
while (n > 0)
{
x = n % 10; // 对这个数取余 3457 第一次取余7
Console.WriteLine(x); // 取余完直接输出余数换行
n /= 10;// 这个数除10,第一次变为十位上的数 然后继续跟上面进入循环取余。。。。
}
去除整数各个位数为0的问题
随机输⼊⼀个位数未知的整数,去除这个整数各个位上的0,形成新的数,并输出。输⼊的数字n⼤于0,⼩于1000000 样例输⼊ 10502 样例输出 152
int n = Convert.ToInt32(Console.ReadLine());
int result = 0;// 作为容器相加
int a = 1;// 作为容器相乘
if (n > 0 && n < 1000000) // 规定范围
{
while (n > 0)
{
int i = n % 10; // i = 2 0 5 0 1
if (i != 0)
{
result += i * a;// 0+2*1 2+5*10 52+1*100
a = a * 10;// 每次条件符合a都必须*10进位
}
n /= 10;// 为这个数取下一位做准备
}
Console.WriteLine(result);// 152
}
else Console.WriteLine("输入的数不符合规范,请重新输入");
对输入的数取反问题
随机输⼊⼀个整数num,输出⼀个新的数,新数恰好与原数每⼀位上的数字相反。(如果原数末尾有多个零,输出的新数⾼位不含0)样例输⼊ 4735 样例输出 5374 样例输⼊1400 样例输出 41
int num = Convert.ToInt32(Console.ReadLine());
//定义变量假设条件
bool zero = false;// 默认还没有遇到第一个非0
while (num > 0) // 循环条件
{
int i = num % 10;
//判断是否遇到了第一个非0数字
//已经遇到了第一个非0数字
//不需要去掉0了
//还没有遇到第一个非0数字
//去掉
if (zero == false)// 还没有遇到第一个非0数字
{
if (i != 0) // 如果开始没有遇到到0
{
Console.Write(i);// 直接输出这个位数上的数
zero = true;// 条件改变
}
// 如果开始是0就啥都不管
}
else
{
Console.Write(i); // 继续输出其它不为0的数
}
num /= 10; // 取下一位数继续循环操作
}
原文地址:https://blog.csdn.net/m0_56181660/article/details/134586881
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_8987.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。