用函数fgets,输入最多可容纳100个字符的字符串,将该字符串分别以大写和小写形式分两行输出,第一行是大写字母,第二行是小写字母,样例如下图所示

img

#include <iostream>
#include <string>
using namespace std;

int main()
{
    char s[101] = "\0";
    while((printf("Give a string: "),gets(s)))
    {
        char uper[101]= "\0";
        char lower[101]= "\0";
        for(int i=0;s[i]!='\0';i++)
        {
            if(s[i] >='a' && s[i] <='z')
            {
                uper[i] = s[i] - 32;
                lower[i] = s[i];
            }
            else if(s[i] >='A' && s[i] <='Z')
            {
                uper[i] = s[i];
                lower[i] = s[i]+32;
            }
            else
            {
                uper[i] = s[i];
                lower[i] = s[i];
            }
        }
        printf("%s\n%s\n",uper,lower);
    }
}

img

得用gets吧,怎么会是fgets呢

#include <stdio.h>
int main()
{
    int i=0,j;
    char s[101],A[101]={0},a[101]={0};
    gets(s);
    while(s[i] != 0)
    {
        if(s[i] >='a' && s[i] <='z')
        {
            A[i] = s[i] - 32;
            a[i] = s[i];
        }
        if(s[i] >='A' && s[i] <='Z')
        {
            A[i] = s[i];
            a[i] = s[i]+32;
        }
    }
    printf("%s\n%s",A,a);
    return 0;
}


#include <stdio.h>
#include <string.h>
int main()
{
    int i;
    char str[100];
    fgets(str,sizeof(str),stdin);
    for(i = 0;i < strlen(str);i++){
        if(str[i] >= 'a' && str[i] <= 'z'){
            printf("%c",str[i] - 32);
        }else{
            printf("%c",str[i]);
        }
    }
    printf("\n");
    for(i = 0;i < strlen(str);i++){
        if(str[i] >= 'A' && str[i] <= 'Z'){
            printf("%c",str[i] + 32);
        }else{
            printf("%c",str[i]);
        }
    }
    return 0;
}