今天学习了字母的字符串,表示为char a[ ]={"\0"},其中\0表示为结束,并且学习了如何给字符串赋值和输出,表示为gets(a)和puts(a),还学习了给字符串复制和替换,复制表示为strcpy(a,b)和memcpy(a,b,?),替换表示为strcmp(a,b)和memcmp(a,b,?),其中mem需要加上长度,?代表需要被复制或替换的长度。
以下为今日习题:
1.大(65-90)小(97-122)写字母互换
#include<stdio.h>
int main()
{
int i;
char a[80]={};
gets(a);
for(i=0;i<80;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;
}
}
printf("%s\n",a);
}
2.统计各字符个数
#include<stdio.h>
int main()
{
char a[255]={"\0"};
gets(a);
int i;
int m=0,n=0,b=0,c=0;
for(i=0;i<255;i++)
{
if(a[i]=='#')
{
break;
}
else if(a[i]>='A'&&a[i]<='Z')
{
m++;
}
else if(a[i]>='a'&&a[i]<='z')
{
n++;
}
else if(a[i]>='0'&&a[i]<='9')
{
b++;
}
else
{
c++;
}
}
printf("数字个数为:%d\n",b);
printf("大写字母个数为:%d\n",m);
printf("小写字母个数为:%d\n",n);
printf("其他字符个数为:%d\n",c);
}
3.替换任务
#include<stdio.h>
#include<string.h>
int main()
{
char s[200]={"\0"};
char a1,a2;
gets(s);
int i;
scanf("%c %c",&a1,&a2);
for(i=0;i<strlen(s);i++)
{
if(s[i]==a1)
{
s[i]=a2;
}
}
puts(s);
}