C语言中如何截取一个大于10000的数的前4位数字? 如:a=1230412313232,如果只输出前四位1230,应该怎么办

只要输出a的前四位,怎么办?

挺好办的。你用一个字符串接收这一串数字,然后输出其前4位。

下面是我写的程序和运行的结果

#include <stdio.h>

int main()

{

    char s[1000];

    int i;

    while(scanf("%s", s)!=EOF)

    {

        printf("%s的前4位是:", s);

        for(i=0; i<4; i++)

        {

            printf("%c", s[i]);

        }

        printf("\n");

    }

}

追问

谢谢,只是这有缺陷,会占很大内存的。

追答

可是如果你不用字符串接收的话,那用什么方法接收非常大的数字呢??

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-03
#include<stdio.h>
int main()
{ char a[1000];
gets(a);
int i;
for(i=0;i<4;i++)
printf("%c",a[i]);
printf("\n");
return 0;
}
第2个回答  2011-05-03
while(1)
{if(a>=10*10000) a=a/10;
else break;
}追问

好主意!谢谢

追答

不客气!

本回答被提问者采纳
相似回答