C语言,输入一个数(较大)到数组中,使该数字每一位分别储存在数组的一个元素中。求代码,非常感谢
发布网友
发布时间:2022-04-23 13:40
我来回答
共2个回答
热心网友
时间:2023-10-16 04:44
#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");
}
热心网友
时间:2023-10-16 04:45
#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都装不下,按你的方法来我可能要把这个数分开成多部分在输入,有没有直接就可以的方法呢?
追答感觉还是线面那个老哥答的靠谱~
热心网友
时间:2023-10-16 04:44
#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");
}
热心网友
时间:2023-10-16 04:45
#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都装不下,按你的方法来我可能要把这个数分开成多部分在输入,有没有直接就可以的方法呢?
追答感觉还是线面那个老哥答的靠谱~