【问题标题】:Upper and lower case [closed]大写和小写[关闭]
【发布时间】:2013-10-24 14:23:14
【问题描述】:

我需要制作一个程序,我可以在其中插入一行单词,并且程序将使所有单词都像第一个单词(大写小写)。

示例:
插入线-AbbA堂名人班

程序的输出应该是: - AbbA HallL FamEee ClaSs

我如何检查完整的单词,并找出其中的符号 - 大写还是小写?然后用相同的方案制作所有单词。

【问题讨论】:

  • 这不是“为我做作业”的网站。请向我们展示您的努力以及您遇到的困难,我们很乐意提供帮助
  • Yenots1,我相信英语不是你的第一语言,但你能再试一次那个措辞吗?此外,这个问题不是主题,因为你没有说你尝试了什么,只是一个人们要解决的问题。
  • 您似乎希望单词的前导字符大写,然后每个第 4 个字符也大写。要获得重要的帮助,您需要准确说明您想要什么。
  • 我猜 Yenots1 想将第一个单词的每个字符的大写/小写格式以相同的顺序应用于其余单词。

标签: c uppercase lowercase


【解决方案1】:
char str[]=" AbbA hall fameee class";
int flag=0;
int i;

for(i=0;i<len(str);i++)
{
    if(flag==0 && str[i]==' ')
    {
        str[i+1]+=32;
        flag=1;
    }
    else
    {
        flag=0;
    }

}

【讨论】:

  • 如果您添加一些解释会很好。这对于“作业帮助”类型的问题尤其重要。
  • 由于长度原因无法编译。
【解决方案2】:

[评论] 创建一个布尔数组并捕获第一个单词的每个字符的大写/小写信息。使用相同的布尔数组,格式化剩余的单词。这就是我现在能帮你的全部了。您可以尝试编写程序并返回论坛,以便获得更多响应。由于我无权发表评论,因此我在回答部分添加我的评论

[回答] 给你...

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

int main() {

    char inputStr[] = "AbbA hall fameee class";
    char bool_arr[50];
    char *ptr;
    int len = 0;
    int loopcnt = 0;
    int i = 0;

    printf("Input Str: %s\n", inputStr);    

    ptr = strtok(inputStr, " ");
    len = strlen(ptr);

    for(i = 0; i < len; i++) {
        if(toupper(ptr[i]) != ptr[i]) {
            bool_arr[i] = 0;    //Lower case
        }
        else {
            bool_arr[i] = 1;    //Upper case
        }
    }

    while(ptr != NULL) {
        if(strlen(ptr) < len) {
            loopcnt = strlen(ptr);
        }
        else {
            loopcnt = len;
        }

        for(i = 0; i < loopcnt; i++) {
            if(bool_arr[i] == 0 && 
                (tolower(ptr[i]) != ptr[i])) {
                ptr[i] = tolower(ptr[i]);
            }

            if(bool_arr[i] == 1 && 
                (toupper(ptr[i]) != ptr[i])) {
                ptr[i] = toupper(ptr[i]);
            }
        }

        printf("%s ", ptr);     

        ptr = strtok(NULL, " ");    
    }
}

【讨论】:

  • 谢谢。这是完美的!
  • @Yenots1:是的,现在您只需将其复制并粘贴到您的作业中!你今天获得了一项有用的技能!
猜你喜欢
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 1970-01-01
  • 2012-11-13
  • 2017-10-19
  • 1970-01-01
  • 2010-12-29
相关资源
最近更新 更多