converse函数,输入字符串,将大写转小写,小写转大写。求修改

img

img


源代码在这:

#include
char input(char a[100]);
void output(char a[100]);
char change(char a[100]);
int main()
{
    char a[100];
    input(a[100]);//输入字符串 
    change(a[100]);//进行大小写转换 
    output(a[100]);//输出字符串 
    return ; 
}
char input(char a[ ])//输入字符串 
{
    int j;
    char ch;
    for(j=0;ch=getchar()!='\n';j++)
    {
        a[j]=ch;
    }
    return a[100];
} 
void output(char a[ ])//进行大小写转换 
{
    int j;
    char ch;
    for(j=0;ch=getchar()!='\0';j++)
    {
        printf("%c",a[j]);
    }
} 
char change(char a[ ])//输出字符串 
{
    int j;
    for(j=0;a[j]!='\0';j++)
    {
        if(a[j]>='a'||a[j]<='z')
        {
            a[j]=a[j]+32;
        }
        else
        {
            a[j]=a[j]-32;    
        }
    }
    return a[100];
} 

有较多基础性的错误

#include<stdio.h>
void input(char a[100]);
void output(char a[100]);
void converse(char a[100]);
int main()
{
    char a[100]={0};
    input(a);//输入字符串 
    converse(a);//进行大小写转换 
    output(a);//输出字符串 
    return 0; 
}
void input(char a[ ])//输入字符串 
{
    int j;
    char ch;
    for(j=0;(ch=getchar())!='\n';j++)
    {
        a[j]=ch;
    }
} 
void output(char a[ ])//进行大小写转换 
{
    int j;
    for(j=0;a[j]!='\0';j++)
    {
        printf("%c",a[j]);
    }
} 
void converse(char a[ ])//输出字符串 
{
    int j;
    for(j=0;a[j]!='\0';j++)
    {
        if(a[j]>='a' && a[j]<='z')
        {
            a[j]=a[j]-32;
        }
        else if(a[j]>='A' && a[j]<='Z')
        {
            a[j]=a[j]+32;    
        }
    }
} 


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

int main()
{
    
    char a[100];
    char b[100];
     unsigned char i;
    scanf("%s",a);
     for(i=0;i<strlen(a)-1;i++)
    {
      converse(&a[i],&b[i])
    }
    printf("%s",b);
    return 0; 
}
void converse(char *a,char *b)
{
    char c;
    c=*a;
    if(c>='a'&&c<='z')
    {
        c=c+32;
    }
    else if(c>='A'&&c<='Z')
    {
        c=c-32;    
    }
    *b=c;
}

试下以上修改的程序。