关于C语言数字拆分的问题
发布网友
发布时间:2022-04-22 09:37
我来回答
共5个回答
热心网友
时间:2023-10-08 12:31
最简单的方式方式:
#include"stdio.h"
void main()
{
int i,n[8];
char num[9];
printf("Input Number:");
gets(num); //gets() 字符串接受 这时候 num[0]等 于你第一个输入的数 num[1]等于第二个...(依此类推)
printf("These is you have putted in :")
for(i=0;i<8;i++)
{
n[i]=(int)num[i];
printf("%d",n[i]);
}
}
你的方式改正后:
#include<stdio.h>
void main()
{
long int a;
int b,i;
int in[8];
scanf("%ld",&a);
for(i=7;i=>0;i--)
{
b=a%10;
a=(a-b)/10;
in[i]=b;
}
for(i=0;i<8;i++)
{
printf("%d ",in[i]);
}
}
//此方法比较麻烦的方式
热心网友
时间:2023-10-08 12:32
#include"stdio.h"
void main()
{
int i;
char num[10];
printf("Input Number:");
gets(num); //gets() 字符串接受 这时候 num[0]等于你第一个输入的数 num[1]等于第二个...(依此类推)
printf("These is you have putted in :")
puts(num); //puts() 字符串输出
}
热心网友
时间:2023-10-08 12:32
楼上的,itoa并非标准函数;
建议改为sprintf();
另外,一般题目中,是不允许调用这些函数的,所以交作业的话,最好是分别取出 个十百千。。。。
热心网友
时间:2023-10-08 12:33
#include <stdlib.h>
main()
{
int i;
long data;
char a[10];
printf("Input number:");
scanf("%ld",&data);
ltoa(data,a,10);
printf("You input:");
for (i=0;i<8;i++)
printf("%c",a[i]);
getch();
}
热心网友
时间:2023-10-08 12:34
pow函数学过吧?
就是平方pow(a,b)
a的b次方
我暂时想不到什么简单的算法
先给个复杂的
#include
#include
int
main()
{
int
n,s=-1,d,m;
scanf("%d",&n);
m=n;
while(m)
{
m/=10;
s++;
}
while(s>-1)
{
d=n/pow(10,s);
n-=d*pow(10,s);
printf("%d",d);
s--;
}
}