C语言练习

本文介绍了一种使用C语言处理不超过五位数的正整数的方法,包括判断数位、正序及逆序输出各数位的具体实现。通过条件判断和取余运算实现了灵活的数位处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、给出一个不多于5位的正整数,要求:

①求出它是几位数

②分别输出每一位数字

③按逆序输出各位数字,例如原数为321,应输出123。

 

#include<stdio.h>
int main(){
int i;
scanf("%d",&i);
if(i/10000>0){
printf("输出得数是5位数:"); 
printf("%d",i%100000/10000);
printf("%d",i%10000/1000);
printf("%d",i%1000/100);
printf("%d",i%100/10);
printf("%d",i%10/1);
printf("  逆序为:");
printf("%d",i%10/1);
printf("%d",i%100/10);
printf("%d",i%1000/100);
printf("%d",i%10000/1000);
printf("%d",i%100000/10000);
}
else if(i/1000>0){
printf("输出得数是4位数:"); 
printf("%d",i%10000/1000);
printf("%d",i%1000/100);
printf("%d",i%100/10);
printf("%d",i%10/1);
printf("  逆序为:");
printf("%d",i%10/1);
printf("%d",i%100/10);
printf("%d",i%1000/100);
printf("%d",i%10000/1000);
}else if(i/100>0){
printf("输出得数是3位数:"); 
printf("%d",i%1000/100);
printf("%d",i%100/10);
printf("%d",i%10/1);
printf("  逆序为:");
printf("%d",i%10/1);
printf("%d",i%100/10);
printf("%d",i%1000/100);
}else if(i/10>0){
printf("输出得数是2位数:"); 
printf("%d",i%100/10);
printf("%d",i%10/1);
printf("  逆序为:");
printf("%d",i%10/1);
printf("%d",i%100/10);
}else {
printf("输出得数是1位数:") ; 
printf("%d",i%10/1);
printf("  逆序为:");
printf("%d",i%10/1);
}
}

总结:

①关于判定一个数是几位数的方法:用这个数除以这个位数的最小位即可。假如输入一个223,用if(233/100)如果是真则是两位数。

②正序、逆序输出一个数:假设这个数为a

a%这个数的位数+1的最小数/这个数的位数的最小数

例如:12345 第五位: 12345%100000/10000=1

              第四位: 12345%10000/1000=2

逆序输出调过来即可!

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值