当前位置: 首页 > news >正文

高端定制网站重庆网站搜索推广

高端定制网站,重庆网站搜索推广,锚文本外链网站,网站建设美化题目描述 设某汉字由 N N N \times N NN 的 0 \texttt 0 0 和 1 \texttt 1 1 的点阵图案组成。 我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有…

题目描述

设某汉字由 N × N N \times N N×N 0 \texttt 0 0 1 \texttt 1 1 的点阵图案组成。

我们依照以下规则生成压缩码。连续一组数值:从汉字点阵图案的第一行第一个符号开始计算,按书写顺序从左到右,由上至下。第一个数表示连续有几个 0 \texttt 0 0,第二个数表示接下来连续有几个 1 \texttt 1 1,第三个数再接下来连续有几个 0 \texttt 0 0,第四个数接着连续几个 1 \texttt 1 1,以此类推……

例如: 以下汉字点阵图案:

0001000
0001000
0001111
0001000
0001000
0001000
1111111

对应的压缩码是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 \texttt {7 3 1 6 1 6 4 3 1 6 1 6 1 3 7} 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 (第一个数是 N N N ,其余各位表示交替表示0和1 的个数,压缩码保证 N × N = N \times N= N×N= 交替的各位数之和)

输入格式

汉字点阵图(点阵符号之间不留空格)。

输出格式

输出一行,压缩码。

1.题目分析

考虑用字符串,一行一行输入是比较方便的。
然后就是判断输出零和一的个数。
题意大概是:输入一个由零,一组成的点阵,第一位数打印点阵的阶数,
后面依次统计连续零和一的交替个数。
值得一提的是,题目要求的第一次必须是零的连续个数,所以需要在第一次非零输入时,做一个特判。

2.题目思路

由于给的输入案例是,按行输入的,所以定义一个临时字符串,读每一行,
在循环中,再定义一个足够大的数组,将所有元素存在一个一维数组里。
值得一提的是,循环跳出的条件是:当行数等于列数(即临时字符串的数组长度)。

打印行数或者列数,即是阶数。

遍历装有所有元素的数组,设计一个标志变量flag,
判断第一个数,如果是0,flag为0,反之flag为1,
如若是第一轮循环,还需要打印零(满足题目要求)。
统计数加一,
如果下一个元素是1,且flag为0,则交替flag,打印sum(即0的个数),并重置为0。
如果下一个元素是零,且flag为1,则交替flag,打印sum(即1的个数),并重置为0。
值得注意的是,需要对最后一组数据的个数进行特判,利用字符串的结束符:'\0’进行判断。

3.代码演示

#include <stdio.h>
#include <string.h>int main() {char arr[200] = {0};char res[100000] = {0};int count = 0;int index = 0;while (true) {//读到每一行字符scanf("%s", arr);for (int i = 0; i < strlen(arr); ++i) {//将所有字符存到一个数组里res[index] = arr[i];index++;}count++;//当行数等于列数,跳出循环if (count == strlen(arr)) {break;}}//打印阶数printf("%d ", count);int sum = 0;int flag = 0;for (int i = 0; i < strlen(res); ++i) {//判断第一个数,标记if (res[i] == '0') {flag = 0;} else {//特判:题目要求第一次输入必须表示几个零,所以非零情况需要打印一次零if (i == 0) {printf("0 ");}flag = 1;}sum++;//如果下一个元素是1,且flag为0,则交替flag,打印sum(即0的个数),并重置为0if (res[i + 1] == '1' && flag == 0) {flag = 1;printf("%d ", sum);sum = 0;}//如果下一个元素是零,且flag为1,则交替flag,打印sum(即1的个数),并重置为0if (res[i + 1] == '0' && flag == 1) {flag = 0;printf("%d ", sum);sum = 0;}//打印最后一组数据的个数if (res[i + 1] == '\0') {printf("%d", sum);}}return 0;
}
http://www.yayakq.cn/news/355950/

相关文章:

  • 可以通过哪些网站注册域名怎么做网站封面上的图
  • 东莞效果好的营销型网站建设义乌进货网平台
  • discuz 做的网站用wordpress建仿站
  • 汕尾建设局网站首页wordpress建站多个域名
  • wordpress 外部视频百度上如何做优化网站
  • 织梦古典网站模板app网站开发框架
  • 织梦做的网站在百度搜索页劫取泉州seo代理计费
  • 建设企业网站价钱电商运营一天都干啥
  • 网站建设硬件wordpress分类标题
  • 中文网站建设合同长沙点梦网站建设公司怎么样
  • 天津行业网站建设短链接生成器原理
  • 卧龙区网站建设六间房
  • 如何在云主机上建设网站小程序建站平台
  • 东莞宣传网站济南网络建站模板
  • 湘潭网站建设优选磐石网络WordPress营销推广返佣插件
  • 怎样搭建一个个人网站网站建设需要什么功能
  • 壶关网站建设哪个网站可以做付邮免费送活动
  • 咸阳营销型网站建设外贸在哪个网站做
  • 如何注册一个网站syntaxhighlighter wordpress
  • 广州市数商云无忧seo
  • 哈尔滨权威做网站h5包含网站设计吗
  • 镇江做网站多少钱wordpress onenote
  • 西安建设工程网站镇平做网站
  • 网站建设维修服务流程成都电商设计招聘网站
  • 什么是网站架构广州市增城区建设局网站是什么
  • 广州学校网站建设做视频网站新手教学
  • 有哪些游戏可以做网站汉中网站建设费用
  • 关于网站开发的外文翻译怎样建设邮箱网站
  • 大型网站架构实战中国会议营销网站
  • 自助智能建站系统泰安新闻频道在线直播