要求:(1) 用字符数组表示存储字符串(字符串最大为100);
(2) 使用scanf函数逐个输入字符保存在字符数组中;
(3) 使用printf函数逐个输出字符数组中的字符
#include
#include
int main()
{
char a[100];
int i=0;
for(i=0;a[i]!='\0';i++)
scanf("%c",&a[i]);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
else if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32;
else continue;
}
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
return 0;
}
输入的时候改一下,for里面不需要条件,判断接收的输入是否为回车换行,然后跳出
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
int i=0;
for(i=0; ; i++)
{
scanf("%c",&a[i]);
if(a[i] == '\n')
{
a[i] = '\0';
break;
}
}
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
else if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32;
else continue;
}
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
return 0;
}
使用gets(a)
#include <stdio.h>
#include <string.h>
int main()
{
char a[100];
int i=0;
gets(a);
for(i=0;a[i]!='\0';i++)
{
if(a[i]>='A'&&a[i]<='Z')
a[i]=a[i]+32;
else if(a[i]>='a'&&a[i]<='z')
a[i]=a[i]-32;
else continue;
}
for(i=0;a[i]!='\0';i++)
printf("%c",a[i]);
return 0;
}
修改
for (i = 0; a[i] != '\0'; i++)
scanf("%c", &a[i]);
为
scanf("%s", a);