fun函数的功能是:将字符串中所有的大写字母转换为小写,其它字符不变(不使用转换函数),请编写fun函数,使其完成相应功能

谢谢各位学神
例如,当字符串为"This Is a c Program",输出:"this is a c program"

     #include <stdio.h>
     void fun(char str1[])
     {

        //请完善此处代码

     }
     int main()
     {
              char str1[80];

              gets(str1);

              fun(str1);

              printf("Result is:%s\n",str1);
              return 0;

     }

输入格式:
gets(str1);

输出格式:
printf("Result is:%s\n",str1);

代码如下:

#include <stdio.h>
void fun(char str1[])
{
   
    //请完善此处代码
    int i = 0;
    while (str1[i] != '\0')
    {
        if (str1[i] >= 'A' && str1[i] <= 'Z')
            str1[i] += 32;
        i++;
    }

}
int main()
{
    char str1[80];

    gets(str1);

    fun(str1);

    printf("Result is:%s\n", str1);
    return 0;

}

有注释说明,仅供参考。谢谢!

img

img


     #include <stdio.h>
     void fun(char str1[])
     {
 
        //请完善此处代码
        //97 a 65A  32
        //a的ASCII码是97
        //A的是65
        //如果不知道可以这样获得
        //printf("%d",'A');输出65
        
        int i=0;
        while(str1[i]!='\0')
        {
            if(str1[i]>='A' && str1[i]<='Z')
            {
                str1[i]+=32;
            
            }
            i++;
        
        }
        
 
     }
     int main()
     {
         
              char str1[80];
              /*
              因为我用的是安卓系统无法使用gets函数,
              所以我就用了fgets代替。
              不过不影响
              */
 
              //gets(str1);
              fgets(str1,80,stdin);
 
              fun(str1);
 
              printf("Result is:%s\n",str1);
              return 0;
 
     }

解答如下

img

     #include <stdio.h>
     void fun(char str1[])
     {
 
        //请完善此处代码
        int i=0;
        while(str1[i]!='\0')
        {
               if(str1[i]<='Z'&&str1[i]>='A')
                str1[i]+=32;
            i++;
        }

 
     }
     int main()
     {
              char str1[80];
 
              gets(str1);
 
              fun(str1);
 
              printf("Result is:%s\n",str1);
              return 0;
 
     }