猿问

问1道 怎样把小写字母变成 大写字母的,但不能用Strupr,toupper等函数

输入  1行文字列  CYU - yan!!

char str【100】

 有两个 函数  Upper_String(),Lower_String(),但不能用 Strupr,toupper等函数

利用 ASCII码  ‘a’ 97,‘A’ 65,即利用 大小写 32的差 来 编写代码

最后输出 的 结果为 

 Upper_String() :CYU-YAN!!

Lower_String(): cyu-yan!!

望大神 告知。



慕运维0661890
浏览 1725回答 2
2回答

慕运维0661890

#include <stdio.h> #include <string.h> to_Upper_String(); to_Lower_String();  char lowerStr[100];   char upperStr[100];  int length,i;    int main() {     char str[100];          printf("Input String ?");     gets(str);     to_Upper_String(str,upperStr);     to_Lower_String(str,lowerStr);     printf("\nto_Upper_String(): %s\n",upperStr);     printf("\nto_Lower_String(): %s\n",lowerStr);     return 0; } void to_Upper_String(const char *input,char *output) {        length = strlen(input);     for(i=0;i< length;i++);     {         if(input[i] >= 'a' && input[i] <= 'z')              output[i] = input[i] - 'a' + 'A';         else    // 其他的不变              output[i] = input[i];     }     output[length] = '\0'; } void to_Lower_String( const char *input, char *output) {     length = strlen(input);     for(i=0;i< length;i++);     {         if(input[i] >= 'A' && input[i] <= 'Z')  // 如果是大写字母,则转换为对应的小写字母              output[i] = input[i] - 'A' + 'a';         else  // 其他的不变              output[i]=input[i];     }     output[length] = '\0'; } 报错 error C2371: “to_Upper_String”: 重定义;不同的基类型    21行        error C2371: “to_Lower_String”: 重定义;不同的基类型    33行      这是  为什么 ????
随时随地看视频慕课网APP
我要回答