编写一个函数求将一个整数转换成数字字符串 C语言 10
编写一个函数将一个整数的各位数提取出来,并将其转换成数字字符串,在主函数中输出该字符串,不用指针,用简单点的C语言。...
编写一个函数将一个整数的各位数提取出来,并将其转换成数字字符串,在主函数中输出该字符串,不用指针,用简单点的C语言。
展开
4个回答
展开全部
仅供参考 没有把数字按字符串输出 只是效果差不多
#include<stdio.h>
void main()
{int p[5];
int x,i,j;
printf("请输入1—60000之间的数");
scanf("%d",&x);
if(x<60000&&x>0)
{
for( i=0;i<5;i++)//提取每一位
{j=i;//记录当前下标
if(x!=0)
{p[i]=x%10;
x=x/10; }
else break;
}
//如果输入数字为五位,
if(j==4)
{
for(i=j;i>=0;i--)
printf("%d",p[i]);
}
//输入数字小于五位时,j要减1,因为for还没结束而i+1,又因为j=i;所以p[i]上没有值
else
{for(i=j-1;i>=0;i--)
printf("%d",p[i]);}
}
else
printf("输入有误");
}
#include<stdio.h>
void main()
{int p[5];
int x,i,j;
printf("请输入1—60000之间的数");
scanf("%d",&x);
if(x<60000&&x>0)
{
for( i=0;i<5;i++)//提取每一位
{j=i;//记录当前下标
if(x!=0)
{p[i]=x%10;
x=x/10; }
else break;
}
//如果输入数字为五位,
if(j==4)
{
for(i=j;i>=0;i--)
printf("%d",p[i]);
}
//输入数字小于五位时,j要减1,因为for还没结束而i+1,又因为j=i;所以p[i]上没有值
else
{for(i=j-1;i>=0;i--)
printf("%d",p[i]);}
}
else
printf("输入有误");
}
展开全部
方法一:
将字符串格式化为字符串
int num;
string str;
str.format("%d",num);
方法二
利用求余求出各位上的数字
scanf(%d,&number)//已三位数为例
int x1,x2,x3;
x1=number/100; //百位数
x2=(number/10)%10; //十位数
x3=number%10; //个位数
将字符串格式化为字符串
int num;
string str;
str.format("%d",num);
方法二
利用求余求出各位上的数字
scanf(%d,&number)//已三位数为例
int x1,x2,x3;
x1=number/100; //百位数
x2=(number/10)%10; //十位数
x3=number%10; //个位数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果可以确定位数会好做一点
追问
位数不确定
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/////////////////////////////////////////
// C-Free 4.1
// MinGW 3.4.5
// veket的小号
/////////////////////////////////////////
#include <stdio.h>
void inttostr(int x, char s[]);
void reverseorder(char s[], int last);
int main()
{
char str[100] = "";
int n;
scanf("%d", &n);
inttostr(n, str);
printf("%s\n", str);
getchar();
return 0;
}
void inttostr(int x, char s[])
{
int i = 0;
int j;
while(x)
{
s[i] = x%10 + '0';
x /= 10;
i++;
}
s[i] = '\0';
reverseorder(s, i-1);
}
void reverseorder(char s[], int last)
{
int i = 0;
int j = last;
char tmp;
while(i<j)
{
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
i++;
j--;
}
}
// C-Free 4.1
// MinGW 3.4.5
// veket的小号
/////////////////////////////////////////
#include <stdio.h>
void inttostr(int x, char s[]);
void reverseorder(char s[], int last);
int main()
{
char str[100] = "";
int n;
scanf("%d", &n);
inttostr(n, str);
printf("%s\n", str);
getchar();
return 0;
}
void inttostr(int x, char s[])
{
int i = 0;
int j;
while(x)
{
s[i] = x%10 + '0';
x /= 10;
i++;
}
s[i] = '\0';
reverseorder(s, i-1);
}
void reverseorder(char s[], int last)
{
int i = 0;
int j = last;
char tmp;
while(i<j)
{
tmp = s[i];
s[i] = s[j];
s[j] = tmp;
i++;
j--;
}
}
追问
char str[100] = "";
是什么意思啊
追答
str[0] = '\0';
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询