使用填充将整数转换为字符串

#include stdio.h#include limits.h#define MAXLINE 1000void itoa(int n, char s[], int w);

编程学习网为您整理以下代码实例,主要实现:使用填充将整数转换为字符串,希望可以帮到各位朋友。

#include <stdio.h>
#include <limits.h>

#define MAXliNE 1000

voID itoa(int n, char s[], int w);
voID reverse(char s[]);

int main(voID){
    char s[MAXliNE];
    int wIDth;

    wIDth = 11;
    itoa(INT_MIN, s, wIDth);
    printf("%12d is converted to %s.\n", INT_MIN, s);
    itoa(123, s, wIDth);
    printf("%12d is converted to %s.\n", 123, s);
    itoa(-321, s, wIDth);
    printf("%12d is converted to %s.\n", -321, s);

    return 0;
}

voID itoa(int n, char s[], int w){
    int i = 0, sign= n, remainder, k, j;

    do {
        remainder = n % 10;
        s[i++] = ((sign < 0) ? -remainder : remainder) + '0';
    } while (n /= 10);
    if (sign < 0)
        s[i++] = '-';

    while (i < w)
        s[i++] = ' ';

    s[i] = '\0';
    reverse(s);
}

voID reverse(char s[]){
    int tmp;
    int j = 0;
    for (j = 0; s[j] != '\0'; ++j)
        ;
    --j;

    for (int i = 0; i < j; ++i, --j) {
        tmp = s[i];
        s[i] = s[j];
        s[j] = tmp;
    }
}
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐