...请问只输入一个多位数,如何把个位、十位、百位等分开输出...
发布网友
发布时间:2024-02-04 17:43
我来回答
共5个回答
热心网友
时间:2024-07-22 15:06
这个代码的功能可以将所输入的数分解,并且根据提示可以输出你想输出位的数字,比如,你想输出个位上的数字
按q为退出程序
#include "stdio.h"
#define N 10
main()
{
long n,i,a[N],k=0;
char ch;
printf("请输入任意数:\n");
scanf("%d",&n);
for(i=n;i>0;i/=10)
{
a[k++]=i%10;
}
for(i=k-1;i>=0;i--)
printf("%d ",a[i]);
printf("\n");
do
{
printf("请选择要输出位:(0代表个位,1代表十位,...)\n");
scanf("%d",&i);
if(i>=0&&i<k)
printf("%d\n",a[i]);
else
printf("输入错误!\n");
}while((ch=getch())!='q');
}
如果对你有所帮助,请记得采纳最佳答案,谢谢!
热心网友
时间:2024-07-22 15:04
#include<stdio.h>
int main()
{
__int64 n,tenthousand,thousand,hundred,ten,gewei;
scanf("%I64d",&n);
tenthousand=thousand=hundred=ten=gewei=0;
if(n/10000>0)
{
tenthousand=n/10000;
n=n%10000;
}
if(n%1000>0)
{
thousand=n/1000;
n=n%1000;
}
if(n%100>0)
{
hundred=n/100;
n=n%100;
}
if(n%10>0)
{
ten=n/10;
n=n%10;
}
if(n>0)
{
gewei=n;
}
if(tenthousand>0)
printf("万位位是%I64d\n",tenthousand);
if(thousand>0)
printf("千位位是%I64d\n",thousand);
if(hundred>0)
printf("百位位是%I64d\n",hundred);
if(ten>0)
printf("十位位是%I64d\n",ten);
if(gewei>0)
printf("各位位是%I64d\n",gewei);
}//很久没练了,这个你看看
热心网友
时间:2024-07-22 15:04
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
const int size = 11;
const char Bit[size][10] = {"个位","十位","百位","千位","万位","十万位","百万位","千万位","亿位","十亿位","百亿位"};
int main()
{
int i=0;
char sNum[100] = "";
char* pNumHead;
char* pNumEnd;
printf("请输入一个数字:\n");
scanf("%s",sNum);
pNumHead = sNum;
pNumEnd = pNumHead + strlen(pNumHead)-1;
if(strlen(pNumHead) > size)
{
printf("超出显示范围!\n");
system("PAUSE");
return -1;
}
printf("从低位到高位输出结果:\n");
i = 0;
while(pNumEnd != pNumHead - 1)
{
printf("%s:\n%c\n",Bit[i++],*pNumEnd--);
}
system("PAUSE");
return 0;
}
热心网友
时间:2024-07-22 15:03
每次输入一个数回车,或以空格隔开,直到输入负数为止 #include<stdio.h建议你去找本C语言基础的书看看 你们学过数组了吧!用数组很简单
热心网友
时间:2024-07-22 15:11
int a[10];//从0开始 代表 个 十 百 千 万 ......
int number;//你输入的数
int i=0;
while(number/10)
{
a[i++]=number%10;
number /= 10;
}
a[i++]=number%10;