• 华为的机试题


    字符串反转

    输入 wo ai ni zhong guo 

    输出 ow ia in gnohz oug

    我的代码:

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    
    int fanzhuan(char *a);
    
    int main()
    {
        //输入一串带有空格的字符
        char val[1000] = { 0 };
        gets(val);
    
        //输入字符串的总长度
        int len_val = strlen(val);
        //新的数组,用来存放转置后的单词
        char new_val[100][100] = { 0 };
        //数组中空格的数量 计算出单词的个数 没有空格时单词为1个
        int space_world = 1;
        //k是老字符串的下标,i是新字符串的行,j是新字符串的列
        int k = 0;
        //读取每一个单词并写入新的字符串数组
        for (int i = 0; i < len_val; i++)
        {
            if (val[k]<'A' || val[k]>'z')
            {
                break;
            }
            for (int j = 0;j<1000; j++)
            {
                if (val[k] == ' ')
                {
                    k++;
                    space_world++;
                    break;
                }
                new_val[i][j] = val[k];
                k++;
            }
    
        }
    
        for (int i = 0; i < space_world; i++)
        {
            fanzhuan(new_val[i]);
            //判断下是否是最后一个单词,如果不是,输出空格并且继续下一个单词;如果是,则不再输出空格同时跳出循环
            if (new_val[i + 1][0]>='a'&&new_val[i + 1][0]<='z' || new_val[i + 1][0]>='A'&&new_val[i + 1][0]<='Z')
            {
                printf(" ");
            }
            else
            {
                break;
            }
        }
    
        return 0;
    }
    
    //把所有字符反转过来
    int fanzhuan(char a[])
    {
        int len = strlen(a);
        for (int i = len-1; i >= 0; i--)
        {
            printf("%c", a[i]);
        }
    }
  • 相关阅读:
    修改tomcat访问路径
    HTML img标签属性
    HTML marquee标签属性详解
    HTML input标签
    HTML iframe 标签
    Linux root默认密码问题
    [Linux]查看本机IP
    [Linux]命令行模式切换
    [Linux]命令root与other切换
    [Linux]XAMPP安装
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/11845131.html
Copyright © 2020-2023  润新知