1.编写程序,统计字符串中大写字母的个数。
#include <stdio.h>
main(){
char str[20];
int i,cnt;
cnt=i=0;
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[20];
int i,j;
i=j=0;
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:“ABCDEFGHIJK”.
#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 ch[80];
int i=0;
gets(ch);
while(ch[i]!='\0'){
if((i+1)%2==1&&ch[i]%2==0){
putchar(ch[i]);
}
i++;
}
}
5.统计字符串中个数字字符的个数。
#include <stdio.h>
main(){
char ch[20];
int i=0;
int sh[10]={0};
gets(ch);
while(ch[i]!='\0'){
if(ch[i]>='0'&&ch[i]<='9')
sh[(ch[i]-'0')%10]++;
i++;
}
for(i=0;i<=9;i++)
printf("数字字符%d:%d个\n",i,sh[i]);
}