第十次作业

1编写程序,使用循环结构,计算字符串长度。
#include<stdio.h>
main(){
	char a[50];
	int i;
	gets(a);
	for(i=0;a[i]!='\0';i++);
	printf("%d",i);
}

  

 

2编写程序,统计大写字母。
#include<stdio.h>
#include<string.h>
main(){	
	char a[50];
	int i,j,flag=0;
	gets(a);
	i=strlen(a);
	for(j=0;j<i;j++){
		if(a[j]<=90&&a[j]>=65){
			flag++;
		}
	}
	printf("%d",flag);
}

  

 

3编写程序,去掉字符串中所有的星号。
#include<stdio.h>
#include<string.h>
main(){	
	char a[50]="****AB**C***DE**FG***";
	char b[50]="0";
	int i,j,flag=0;
	i=strlen(a);
	for(j=0;j<i;j++){
		if(a[j]=='*'){	
		}else{
			b[flag++]=a[j];
		}
	}
	puts(b);
}

  

 

4编写程序,将字符数组a中的字母复制到字符数组b中,要求每三个字符后插入一个空格。
#include<stdio.h>
#include<string.h>
main(){
char a[50]="ABCDEFGHIJK";
char b[50];
int i,j,x=0,y=0;
i=strlen(a);
for(j=0;j<i;j++){
	b[j]=a[x];
	x++;
	y++;
	if(y%3==0){
		j=j+1;
		b[j]=' ';
		i++;
	}
}
b[j]='\0';
puts(b);
}

  

5输出字符串中位置为奇数,ASCII码为偶数的字符。
#include<stdio.h>
#include<string.h>
main(){
	char a[50];
	int i,sum;
	gets(a);
	sum=strlen(a);
	for(i=0;i<sum;i++){
		if((i+1)%2!=0&&a[i]%2==0){
		printf("%c",a[i]);
		}
	}
}

  

 

6统计字符串中各数字的个数
#include<stdio.h>
#include<string.h>
main(){
	char a[50];
	int i,j=0,sum,x;
	int sum0=0,sum1=0,sum2=0,sum3=0,sum4=0,sum5=0,sum6=0,sum7=0,sum8=0,sum9=0;
	gets(a);
	sum=strlen(a);
	for(i=0;i<sum;i++){
		if(a[i]>=48&&a[i]<=57){
		x=a[i]-48;
		switch(x){
		case 1:sum1++;break;
		case 2:sum2++;break;
		case 3:sum3++;break;
		case 4:sum4++;break;
		case 5:sum5++;break;
		case 6:sum6++;break;
		case 7:sum7++;break;
		case 8:sum8++;break;
		case 9:sum9++;break;
		case 0:sum0++;break;
		}
	}
	
}
	printf("0有%d\n1有%d\n2有%d\n3有%d\n4有%d\n5有%d\n6有%d\n7有%d\n8有%d\n9有%d\n",sum0,sum1,sum2,sum3,sum4,sum5,sum6,sum7,sum8,sum9);
}

  

 

 

posted @ 2021-11-23 09:47  荽邊  阅读(19)  评论(0)    收藏  举报