用C语言编写一个程序。要求读入一个整数,然后确定并打印出它是奇数还是偶数。并分解它的每位数字。
2个回答
展开全部
这个是数字分解()的,至于具体的格式你到printf里面调整一下就行了。辨别是否奇数偶数就更简单了 用这个数字%2,如果余数为1则是奇数,否则为偶数。
代码在此:
#include "stdio.h"
void NumberAbstract(long iNumber);
int main(int argc, char* argv[])
{
long i;
printf("输入一个小于10位数的整数:\n");
scanf("%d",&i);
NumberAbstract(i);
return 0;
}
void NumberAbstract(long iNumber)
{
if(iNumber>9999999999)
{
printf("数字超过10位数\n");
return;
}
int a = iNumber/1000000000;
int b = iNumber/100000000%10;
int c = iNumber/10000000%10;
int d = iNumber/1000000%10;
int e = iNumber/100000%10;
int f = iNumber/10000%10;
int g = iNumber/1000%10;
int h = iNumber/100%10; //取得百位
int i = iNumber/10%10; //取得十位
int j = iNumber%10; //取得个位
printf("十亿位 %d\n",a);
printf("亿位 %d\n",b);
printf("千万位 %d\n",c);
printf("百万位 %d\n",d);
printf("十万位 %d\n",e);
printf("万位 %d\n",f);
printf("千位 %d\n",g);
printf("百位 %d\n",h);
printf("十位 %d\n",i);
printf("个位 %d\n",j);
printf("\n");
}
代码在此:
#include "stdio.h"
void NumberAbstract(long iNumber);
int main(int argc, char* argv[])
{
long i;
printf("输入一个小于10位数的整数:\n");
scanf("%d",&i);
NumberAbstract(i);
return 0;
}
void NumberAbstract(long iNumber)
{
if(iNumber>9999999999)
{
printf("数字超过10位数\n");
return;
}
int a = iNumber/1000000000;
int b = iNumber/100000000%10;
int c = iNumber/10000000%10;
int d = iNumber/1000000%10;
int e = iNumber/100000%10;
int f = iNumber/10000%10;
int g = iNumber/1000%10;
int h = iNumber/100%10; //取得百位
int i = iNumber/10%10; //取得十位
int j = iNumber%10; //取得个位
printf("十亿位 %d\n",a);
printf("亿位 %d\n",b);
printf("千万位 %d\n",c);
printf("百万位 %d\n",d);
printf("十万位 %d\n",e);
printf("万位 %d\n",f);
printf("千位 %d\n",g);
printf("百位 %d\n",h);
printf("十位 %d\n",i);
printf("个位 %d\n",j);
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include"stdio.h"
void main()
{
int i,j,k,n,a[25];
printf("请输入一个数:\n");
scanf("%d",&k);
if(k/2==(float)k/2)
printf("是偶数\n");
else
printf("是奇数\n");
if(k>9)
for(i=1,j=0;;j++,i=i*10)
{
n=k/i;
a[j]=n%10;
if(n==0)
break;
}
else
printf("%d\t",k);
for(i=j-1;i>=0;i--)
printf("%d\t",a[i]);
}
我试过了,你可以试试。可以实现
void main()
{
int i,j,k,n,a[25];
printf("请输入一个数:\n");
scanf("%d",&k);
if(k/2==(float)k/2)
printf("是偶数\n");
else
printf("是奇数\n");
if(k>9)
for(i=1,j=0;;j++,i=i*10)
{
n=k/i;
a[j]=n%10;
if(n==0)
break;
}
else
printf("%d\t",k);
for(i=j-1;i>=0;i--)
printf("%d\t",a[i]);
}
我试过了,你可以试试。可以实现
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询