第十次作业
1、编写程序,统计字符串中大写字母的个数
#include <stdio.h> main() { char str[80]; int i=0; int cnt=0; printf("请输入你的字母:"); 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]); } }


浙公网安备 33010602011771号