P1320 压缩技术

注意学习字符串C 库函数 :
char *strcat(char *dest, const char *src) :
把 src 所指向的字符串追加到 dest 所指向的字符串的结尾

strcpy(s1,s2):
strcpy函数的意思是把字符串s2拷贝到s1中,连同字符串结束标志也一同拷贝。如果s2=“china”,那么s1中存放的是china\0。
在cout<<s1时,结果是china。

strlen(str):
测试字符串的实际字符长度,不含字符串结束标志。

sizeof是个运算符,它的结果是字符串在内存中所占的字节大小,要把’\0’算进去

思路:
读入字符串并计算n值

字符串连接

输出n值

计算字符数并输出

#include <stdio.h>
#include <string.h>
int main()
{
    int i,n,num,sum;
    char text[40000],str[200];//text:最终字符串,str:缓冲字符串
    scanf("%s",str);
    n=strlen(str);//输入第一个字符串,存入缓冲字符串,并计算n值
    strcat(text,str);//将str连接到text后,其实也可以用strcpy的,用处相同
    for(i=2;i<=n;i++)//因为已经连接第一个了,因此循环从第二行字符开始
    {
        scanf("%s",str);
        strcat(text,str);//输入并连接
    }
    printf("%d ",n);//输出n值,记住在每个输出后带上空格
    for(i=0,sum=0,num='0';i<=strlen(text);i++)//从text[i]开始循环
        if(num==text[i])判断这个字符是否与上一个字符相等(第一个字符与‘0’做判断)
            sum++;//如果相等,sum加一
        else
        {
            num=text[i];
            printf("%d ",sum);//反之,输出sum值(带空格),并初始化num与text
            sum=1;
        }
    return 0;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值