在C

时间:2015-11-01 04:05:15

标签: c

我的任务是将小写输入打印为大写,使用return 0;如果成功的话。如果输入非小写ascii字符,则应该是错误消息,我应该使用return 1; 我已经完成了大部分代码但是在使用错误消息和使用return 1时遇到了麻烦;没有它打印字符。

这是我的代码:

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

int main()
    char ()
{
  char letters[80];
  int i;
  scanf("%79[0-9a-zA-Z ]",letters);

  for(i=0;i<strlen(letters);i++)
  {
            if(letters[i]>=97&&letters[i]<=122)
            {
            letters[i]=letters[i]-32;
            }

  }
  printf("%s",letters);
  return 0;
}

3 个答案:

答案 0 :(得分:0)

试试这个,看看你正在尝试。

#include <stdio.h>
#include <ctype.h>
int main()
{
    char sentence[100];
    int count, ch, i;
    printf("Enter a sentence \n");
    for (i = 0; (sentence[i] = getchar()) != '\n'; i++)
    {
        ;
    }
    sentence[i] = '\0';
    count = i;
    for (i = 0; i < count; i++)
    {
         if(isupper(sentence[i])) {
                printf("Error");
                return 1;
         }
         else
           sentence[i] = toupper(sentence[i]);
    }
        printf("%s\n",sentence);
        return 0;
}

答案 1 :(得分:0)

我认为这可能就是答案。

  

我的任务是打印小写输入大写,使用return 0;如果   它很成功。 如果在那里输入了非小写的ascii字符   应该是一个错误信息,我应该使用return 1;我有   完成了大部分代码但是使用错误时遇到了麻烦   消息并使用return 1; 没有打印字符

因此,如果输入的字符串全部为小写,则将大写它们。在这种情况下,您的代码已经有效。但是如果输入的字符串不是全部小写(例如:PROGRAMMING,pRogramMing或pROGRAMMING),它应该返回一些错误消息并返回1,而不打印输入的字符串。这就是我从你的问题中理解的。如果这是问题,这是我的解决方案:

Seq[(String, String)]

希望这是你问题的答案。

答案 2 :(得分:0)

您可以使用<ctype.h>库和函数islower()以及functino toupper()

相关问题