我是靠谱客的博主 拉长超短裙,最近开发中收集的这篇文章主要介绍【字符数组练习--统计字符数、字符串倒置、字符串复制(纯数组及指针分别实现)】统计字符串中的字符个数字符串倒置字符串的复制,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一维字符数组练习

  • 统计字符串中的字符个数
    • 数组实现
    • 指针实现
  • 字符串倒置
    • 数组实现
    • 指针实现
  • 字符串的复制
    • 数组实现
    • 指针实现

统计字符串中的字符个数

在终端输入一个字符串,然后再输入一个字符a,计算这个字符串中a有几个。

数组实现

int main(int argc, char const *argv[])
{
    char str[100];
    char c;
    int i,count;
    printf("请输入一串字符串");
    gets(str);
    printf("请输入要统计的字符:");
    scanf("%c",&c);
    for(i=0;str[i]!='';i++)
    {
        if(c==str[i])
        {
            count++;
        }
    }
    printf("字符%c的个数有%d个n",c,count);
    return 0;
}

指针实现

void count(char * str,char ch)
{
	int i, count=0;
	for(i=0; *(str+i)!=''; i++)
	{
		if (*(str+i) == ch)
			count = count+1;
	}
	printf("%dn", count);
	
}

int main () 
{
    char str[100];
    char ch;
	printf("请您输入一串字符n");
	gets(str);
    printf("请输入要查找的字符:");
    scanf("%c",&ch);
	count( str,ch);

    return 0;
}

字符串倒置

终端输入若干个字符存入数组中,以’n’作为结束的标志,将字符倒置存储,然后打印数组。

数组实现

int main(int argc, char const *argv[])
{
    char str[100];
    char ch;
    int i=0;
    int len;
    int t;
    printf("请输入一组字符:");
    while((ch=getchar())!='n')
    {
        str[i]=ch;
        i++;
    }
    len=i;
    
    for(i=0;i<len/2;i++)
    {
        t=str[i];
        str[i]=str[len-i-1];
        str[len-i-1]=t;
    }
    printf("翻转后为:n");
   for(i=0;i<len;i++)
   {
        printf("%c",str[i]);
   }
   printf("n");
    return 0;
}

指针实现

void reverse(char* str)
{
    char* p = str + strlen(str)-1;
    char temp;
    while(str<p)
	{
		temp=*p;
		*p--=*str;
		*str++=temp;
	}
}
int main()
{
    char str[100];
	printf("请输入一个字符串:n");
    gets(str);
    reverse(str);
    printf("翻转后的字符串是:n%sn", str);
	return 0;
}

字符串的复制

将字符串2复制到字符串1

数组实现

int main(int argc, char const *argv[])
{
    char str1[100];
    char str2[100];
    int i,len;
    printf("请输入第一个字符串:");
    gets(str1);
    printf("请输入第二个字符串:");
    gets(str2);
    for(i=0;str2[i]!='';i++)
    {
        str1[i]=str2[i];
    }
    len=i;
    printf("复制之后的第一个字符串为:n");
    for ( i = 0; i < len; i++)
    {
        printf("%c",str1[i]);
    }
    return 0;
}

指针实现

void copy(char *p,char *q ) 				
{
	for(;*q!='';q++)
	{	*p=*q;
        p++;
    }
    *p='';
		
};
int main()
{
	char str1[100];
	char str2[100];
	char *p=str1;
    char *q=str2;
    printf("请输入第一组字符:");
    gets(str1);
	printf("请输入第二组字符:");
    gets(str2);
	copy(p,q);
	puts(str1);
} 

最后

以上就是拉长超短裙为你收集整理的【字符数组练习--统计字符数、字符串倒置、字符串复制(纯数组及指针分别实现)】统计字符串中的字符个数字符串倒置字符串的复制的全部内容,希望文章能够帮你解决【字符数组练习--统计字符数、字符串倒置、字符串复制(纯数组及指针分别实现)】统计字符串中的字符个数字符串倒置字符串的复制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部