zoukankan      html  css  js  c++  java
  • 华为的机试题

    字符串反转

    输入 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]);
        }
    }
  • 相关阅读:
    javsscript闭包的一种使用场景--沙箱
    toString()方法,与call()方法结合;用来进行数据类型检测
    [学习笔记]数论(二)
    [模板]平面最近点对
    [bzoj1670][Usaco2006 Oct]Building the Moat
    [模板]计算几何(一)
    [日常训练]string
    [bzoj3626][LNOI2014]LCA
    [bzoj2732][HNOI2012]射箭
    [学习笔记]半平面交
  • 原文地址:https://www.cnblogs.com/qifeng1024/p/11845131.html
Copyright © 2011-2022 走看看