c语言怎么取一个数的前三位一体

如题所述

c语言取一个数的前三位,可以有两种方法:

    可以按字符串的形式接受该整数,在依次输出字符数组的前3位即可:

    #include<stdio.h>
    int main()
    {   
    char s[20];
    gets(s);
    printf("%c%c%c",s[0],s[1],s[2]);
    return 0;
    }
    /*
    输出:
    12345
    123
    */

    定义整数接受该整数,再依次分解该整数放到一个数组中,最后输出数组的后三位。

    #include<stdio.h>
    int main()
    {   
    int n,s[20],i=0;
    scanf("%d",&n);
    while(n){
    s[i++]=n%10;
    n/=10;
    }
    printf("%d%d%d",s[i-1],s[i-2],s[i-3]);
    return 0;
    }
    /*
    输出:
    12345
    123
    */
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-05-18
取高位的3位:转换为字符串,再读出前三位。
例如:
int x=12345678,y;
char s[20];
sprintf(s,"%d",x);
sscanf(s,"%3d",&y);
printf("%d",y);
---------------
取个十百 三位 用 %1000:
int x=12345678,y;
y = x %1000;本回答被提问者采纳
相似回答