题解 | 数字颠倒

#include <stdio.h>
#include <string.h>

void swap(int *a,int *b){//交换函数
    int temp;
    temp = *a;
    *a = *b;
    *b = temp;
}
void reverse(int *a,int start,int end){//数组反转函数
    int i,j;
    i = start;j = end;
    while(i < j){
        swap(&a[i], &a[j]);
        i++;j--;
    }
}
int  char_to_int(char *s,int *a){//字符数组转int数组
    
    int i;
    int len = 0;
    for(i = 0;s[i] != '\n';i++){
        len++;
        switch(s[i]){
            case '0':case '1':case '2':case '3':case '4':case '5':case '6': case '7':case '8':case '9': a[i] = s[i] - '0';break;
        };
    }
    return len;
}
int main() {
    char ch[100] ;
    int a[100];
    fgets(ch,sizeof(ch), stdin);
    int len = char_to_int(ch, a);
    reverse(a, 0 ,len - 1);
    int i;
    for(i =0;i < len;i++){
        printf("%d",a[i]);
    }
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务