练习题

来源:互联网 发布:mysql sql union 编辑:程序博客网 时间:2024/04/28 23:59
#include <stdio.h>/*实现long数据转为字符串 * *1.long数据的正、负问题考虑,判断符号; 范围为:-2^31-1 (-2147483647)      ~~~~ 2^31 - 1  (2147483647) * *2.去每一位数转字符 从最后一位开始取,取模10,ASCII: ? + ‘0’,从后往前取保存在一个字符数组中char s【】 *  char S【20】 S[0]='+'/'-' *3.再吧字符数组逆序,最后位与第1位交换,倒数第2位与第2位交换~循环~*/int main(void){    long n;    char s[20];    int i = 0 , j;    char c;    printf("input data: \n");    scanf("%ld",&n);    /*判断正负*/    if (n > 0)    {        s[i++] = '+';    }    else    {        s[i++] = '-';        n = -n;    }    /*从后往前取数*/    while(n)    {        s[i++] = n%10 + '0';        n = n/10;    }    s[i] = '\0';    //结束字符串    /*数组逆序*/    for(j=1,i=i-1; j<=i; j++,i--)       //第1个字符为符号,从第2个字符开始交换    {        c = s[j];        s[j] = s[i];        s[i] = c;    }    printf("the result is %s \n",s);    return 0;}

0 0
原创粉丝点击