PTA(Basic Level) 1078:字符串压缩与解压(C语言实现)

news/2024/7/8 8:27:18

PTA(Basic Level) 1078:字符串压缩与解压(C语言实现)

#include <stdio.h>
#include <string.h>
#include <ctype.h>
void compress(char s[])
{
	int i,count=1,n;
	n=strlen(s);
	for(i=1; i<=n; i++)//i<=n,最后一个字母也要输出
	{
		while(s[i] == s[i-1])
		{
			count++;
			i++;
		}
		if(count > 1)//count=1不输出
			printf("%d",count);
		printf("%c",s[i-1]);
		count=1;
	}
}

void decompress(char s[])
{
	int i,j,sum;
	for(i=0; s[i]; i++)
	{
		sum=0;//计数
		while(isdigit(s[i]))
		{
			sum=sum*10+(s[i]-'0');
			i++;
		}
		if(sum > 0)
			for(j=0; j<sum; j++)
				printf("%c",s[i]);
		else
			printf("%c",s[i]);
	}
}

int main()
{
	char ch,s[1001]="";
	ch=getchar();
	getchar();//消耗回车
	gets(s);
	if(ch == 'C')
		compress(s);
	else
		decompress(s);
	return 0;
}

http://www.niftyadmin.cn/n/1907001.html

相关文章

代码简洁之道(1)-年份

为什么80%的码农都做不了架构师&#xff1f;>>> 1.说明 本文是在阅读一些好的框架的源码时看到的&#xff0c;在此做个记录。 2.具体内容 2.1判断年份是否是闰年 2.1.1前言 为什么会有闰年&#xff1f; 若以陽曆為例&#xff0c;「年」的計算基礎是回歸年&…

PTA(Basic Level) 1079:延迟的回文数(C语言实现)

PTA(Basic Level) 1079&#xff1a;延迟的回文数&#xff08;C语言实现&#xff09; #include <stdio.h> #include <string.h> void reverse(char s[]) {int i,j;char t;for(i0,jstrlen(s)-1; i<j; i,j--){ts[i];s[i]s[j];s[j]t;} }void add(char s1[],char s2…

6月西部数码域名注册量统计:国内与全球份额均上涨

IDC评述网&#xff08;idcps.com&#xff09;06月25日报道&#xff1a;根据RegistrarStats最新数据显示&#xff0c;截止至2015年6月21日&#xff0c;西部数码域名注册量增至531,989个。在6月1日至6月21日期间&#xff0c;增速呈缩小之势&#xff0c;净增11,365个。另外&#x…

Zabbix的安装和基本配置

为什么80%的码农都做不了架构师&#xff1f;>>> zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案 zabbix能监视各种网络参数&#xff0c;保证服务器系统的安全运营&#xff1b;并提供柔软的通知机制以让系统管理员快速定位/解…

软件工程问题及回答

一、第一章&#xff1a;概论 IT人基本职业道德是什么&#xff1f;有时候是否跟潮流走&#xff0c;用大多IT人的道德来规范自己&#xff0c;还是按照自己的心里底线&#xff1f; 答&#xff1a;“所谓职业道德&#xff0c;就是同人们的职业活动紧密联系的符合职业特点所要求的…

rpm包格式安装配置lamp

一、安装前说明&#xff1a;&#xff08;一&#xff09;目的&#xff1a;① rpm包格式安装配置lamp&#xff1b;② 在httpd上提供两个虚拟主机&#xff0c;一个用于wordpress&#xff0c;一个用于phpMyAdmin&#xff0c;为后一个提供ssl访问方式。&#xff08;二&#xff09;涉…

python处理文本的库_Python标准库——文本处理

字符串模板是PEP 292新增的部分&#xff0c;将作为内置拼接语法的替代做法。使用string.Template拼接时&#xff0c;要在名字前加上前缀$来标识变量&#xff08;例如&#xff1a;&#xffe5;var&#xff09;。或者&#xff0c;如果有必要区分变量和周围的文本&#xff0c;可以…

Node.js程序在node-windows中不能运行

Node.js程序部分功能在命令行中运行良好&#xff0c;但在node-windows中不能运行&#xff0c;怎么回事&#xff1f; 答&#xff1a;路径问题。 请看如下的描述&#xff1a; My script runs fine on its own, but not with node-windows. Why? The most common reason for this…