在 C 中将大写字母转换为小写字母..(具有挑战性的)

标签 c

我得到了这段代码.. 现在具有挑战性的部分是我的教授要求我制作一个程序,要求用户输入一个大写的单词。

问题是,她希望程序自动将每个输入的字母转换为大写,即使用户的键盘没有处于大写锁定模式。所以我不知道我的程序到底出了什么问题……有人吗??帮助??我真的需要它..谢谢..

#include<stdio.h>
#include<ctype.h>
#include<string.h>
typedef char String[100];
main()
{
    char Resp;
    int l, x = 0, asc = 13;
    String s, word1;
    clrscr();
    do {
        printf("\n1st uppercased word: ");
        do {
            s[0] = getch();
            word1[x++] = s[0];
            strupr(s);
            strcat(s, "\0");
            puts(s);
        } while (s[0] != (char) asc);
        strcat(word1, "\0");

        printf("\n\n1st word in lowercase: ");
        for (l = 0; l < strlen(word1); l++)
            putchar(tolower(word1[l]));

        printf("\nDo you want to continue?[Y/N]: ");
        Resp = getche();
    } while (toupper(Resp) == 'Y');

    getch();
    return 0;
}

最佳答案

  1. 使用 getch() 获取用户的来信
  2. 使用toupper()将其转换为大写
  3. putch()显示它
  4. 转到 1

您可以添加一个断点---检查该字符是否为返回键并退出。

关于在 C 中将大写字母转换为小写字母..(具有挑战性的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3349219/

相关文章:

c - 无法找到 xv6 函数 gets 的源代码

c - C 中接受带有十进制值的较大数字

c - 这两个循环中哪个更快?

c - C 中的宏和函数冲突

c++ - Visual Studio 2010 非常慢,无法使用

c - 附加到线程内的文件中

c - 自由动态分配数组 C

c - 枚举长度的数组大小给出编译错误

c - C 中的 TCP 服务器 - 端口总是在增加?

c++ - 有没有办法让 C 宏关键字不可知?