第十次作业
1、 编写程序,统计字符串中大写字母的个数
#include <stdio.h>
main()
{
char str[80];
cnt=0;
printf("请输入你的字母:"); int i=0;
int
gets(str);
while ( str[i]!=0 )
{
if ( str[i]>='A'&&str[i]<='Z' )
cnt++;
i++;
}
printf("字符串中大写字母的个数为:%d\n",cnt);
}
2、编写程序,去掉字符串中所有的星号。例如,“******AB*****C***DE**FG**”,处理完为“ABCDEFG”
#include <stdio.h>
main()
{
char str[80];
int i,j;
i=j=0;
printf("请输入你的带‘*’的语句:\n");
gets(str);
while ( str[i]!='\0' )
{
if ( str[i]!='*' )
str[j++]=str[i];
i++;
}
i=0;
while(i<j)
putchar(str[i++]);
}
3、编写程序,将字符数组a中的字母复制到字符数组b中,要求每三个字符后插入一个空格。例如,字符数组a:“ABCDEFGHIJK”,字符数组b:“ABC DEF GHI JK”
#include <stdio.h>
main()
{
char a[20],b[20];
int i,j;
gets(a);
for ( i=j=0;a[i]!='\0';i++ )
{
b[j++]=a[i];
if ( (i+1)%3==0 )
{
b[j++]=' ';
}
}
b[j]='\0';
puts(b);
}
4、输出字符串中位置为奇数、ASCII为偶数的字符
#include <stdio.h>
main()
{
char str[20];
int i;
i=0;
gets(str);
while (str[i]!='\0')
{
if ( (i+1)%2==1&&str[i]%2==0 )
putchar ( str[i] );
i++;
}
}
5、统计字符串中个数字字符的个数
#include<stdio.h>
main()
{
char str[80];
int cnt[10]={0};
int i=0;
gets(str);
while(str[i]>='0'&&str[i]<='9')
{
cnt[(str[i]-'0')%10]++;
i++;
}
for (i=0;i<=9;i++)
{
printf("数字字符%d:%d个\n",i,cnt[i]);
}
}