C语言,输入一个数(较大)到数组中,使该数字每一位分别储存在数组的一个元素中。求代码,非常感谢
C语言,输入一个数(较大)到数组中,使该数字每一位分别储存在数组的一个元素中。求代码,非常感谢例如:输入123456789到A[]中,A[0]为1,A[1]为2……。注意...
C语言,输入一个数(较大)到数组中,使该数字每一位分别储存在数组的一个元素中。求代码,非常感谢例如:输入123456789到A[]中,A[0]为1,A[1]为2……。 注意,由于我的A[i]还要进行数值计算(加减),如果使用字符串数组,用gets函数输入计算时会用asc‖码值计算,输出是若格式要求为%c时存在数字经计算后变成符号的问题
展开
2个回答
展开全部
#include<stdio.h>
#include<stdlib.h>
void main(void)
{
char buf[64] = {0};
long a = 0;
printf("请输入一个数字:\n");
scanf("%s", buf);
a = atol(buf); //将存放在字符串数组中的数字转换为实际的数字,之后就可以进行相应的运算
printf("你输入的数字是:%d\n", a);
system("pause");
}
更多追问追答
追问
我也是转换的,再声明一个int数组,char数组中每个值asc‖码值都减去48赋值给int数组
有没有不需要转换的呢?
展开全部
#include <stdio.h>
void main()
{
unsigned int a = 0;
int b[10] = { 0 };
int i = 0;
int j = 0;
scanf("%d",&a);
for(;;++i)
{
b[i]= a % 10;
a = a / 10;
if (0 == a)
{
break;
}
}
for (j = 0;j <= i; ++j)
{
printf("%d\n",b[j]);
}
}
我这个粗糙了一点。。
追问
首先,谢谢,思路挺好,不过其实我在编的是一个大数除法的程序(思路和网上不一样),既然是大数long int都装不下,按你的方法来我可能要把这个数分开成多部分在输入,有没有直接就可以的方法呢?
追答
感觉还是线面那个老哥答的靠谱~
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询