C#编程题分享(4)

换行输出整数问题

输⼊任意⼀个位数未知的整数,输出这个数每⼀位上的数字。输出的时候,从个位开始输出,每输出⼀个数字换⼀⾏。样例输⼊:3547 输出:7 换行输出 4 换行输出5 换行输出3

cs 复制代码
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

cs 复制代码
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

cs 复制代码
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; // 取下一位数继续循环操作
}
相关推荐
心在飞扬4 分钟前
AI开发应用 01-nodejs快速入门
后端·aigc·dnodejs
Ray668 分钟前
「阅读笔记」elasticSearch 是什么?工作原理是怎么样的?
后端
paopaokaka_luck9 分钟前
基于SpringBoot+Vue的非遗文化传承管理系统(websocket即时通讯、协同过滤算法、支付宝沙盒支付、可分享链接、功能量非常大)
java·数据库·vue.js·spring boot·后端·spring·小程序
辣辣y14 分钟前
python基础day08
开发语言·python
蓝倾21 分钟前
淘宝批量获取商品SKU实战案例
前端·后端·api
德育处主任21 分钟前
Amazon CloudFront CDN加速实践指南
后端
平平无奇的开发仔22 分钟前
JPA 中 @EmbeddedId 和 @IdClass 的区别与实现详解
后端
iOS开发上架哦24 分钟前
全面解析iOS加固工具:功能差异、应用场景与实战选择建议
后端
jack_yin25 分钟前
GOLANG 可以这样用 MCP Server!
后端
GeekAGI26 分钟前
如何进行 Python 虚拟环境管理
后端