//1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)
//1.编写一个浏览器输入输出(hdu acm1088);
//思路:对已经输入的字符串进行处理,遇到<br><hr>分别进行处理。遇到多于80个字符(统计该行的长度)或者<br>或者结束,则换行;遇到<hr>,输出80个‘-’。
#include<stdio.h>
#include<string.h>
#define N 10000
int main()
{
char a[N];
int i;
int cnt = 0;//用于统计该行是否是达到80chars,当其为0的时候,说明是新的一行的开头
int len;//用于记录该word的长度
//一个个word通过每次读入进去,每个word放在字符串中,每次都会进行不同的处理
//调试的时候发现,将html page整个input进去,每次执行的时候,就会读入以空格和换行为分隔的一个个单词,比如第一行分隔为"Hallo," \" dies"\"ist"\"eine"
while (~scanf("%s",a))
{
//如果此时读入的word的是<br>,则换行
if (!strcmp(a,"<br>"))
{
printf("\n");
cnt = 0;
}
//如果此时读入的word的是<hr>,
else if (!strcmp(a, "<hr>"))
{
if (cnt)
{
//如果不是新的一行的话,需要先重新起一行
printf("\n");
//调试的时候跳出该循环,可以在循环外语句设置一个断点
for ( i = 0; i < 80; i++)
{
printf("-");
}
printf("\n");
}
else
{
for (i = 0; i < 80; i++)
{
printf("-");
}
printf("\n");
}
cnt = 0;
}
else//判断该word长度和80chars的比较结果
{
len = 0;
len = strlen(a);
if (!cnt)//cnt为0的时候,说明是新的一行,就不用另起新的一行
{
cnt = len;
printf("%s", a);
}
else if (cnt+len+1>80)//cnt是记录在输入该word之前该行的chars数,加上len是该行现在有的chars数,若该行大于80,则换行
{
cnt = len;
printf("\n%s", a);
}
else
{
cnt += len + 1;
printf(" %s", a);
}
}
}
printf("\n");
return 0;
}

//1020(C语言基础不够啊,要多多练习)
//思路:在当前字符后,统计和当前字符相同的字符个数。
//实现:循环遍历该字符串的每一个字符,判断其和其后的一个字符是否相同,如果相同,则count++;否则,当前字符后面的邻近的一个字符和其不相同,接着先判断count是否是1,如果是1,则直接输出不用继续判断了;如果不是1,则直接输出统计的个数,以及当前字符。
#include<stdio.h>
#include<string.h>
#define N 100001
char a[N];
int main(){
int count;
int i;
int n;
scanf("%d", &n);
while (n--)
{
scanf("%s", a);
count = 1;
for ( i = 0; i < strlen(a); i++)
{
//判断当前字符后面是否有和当前字符一样的字符,并统计个数
if (a[i] == a[i + 1])
{
count++;
}
else
{
//如果没有和后面的字符相同的字符了,则根据count做出不同的操作

//如果count==1,则输出
if (count==1)
{
printf("%c", a[i]);
}
//否则,输出count和当前字符
else
{
printf("%d%c", count, a[i]);
count = 1;
}
}
}
printf("\n");
}
return 0;
}

2道acm编程题(2014):1.编写一个浏览器输入输出(hdu acm1088);2.encoding(hdu1020)的更多相关文章

  1. 汤姆大叔的6道javascript编程题题解

    看汤姆大叔的博文,其中有篇(猛戳这里)的最后有6道编程题,于是我也试试,大家都可以先试试. 1.找出数字数组中最大的元素(使用Math.max函数) var a = [1, 2, 3, 6, 5, 4 ...

  2. 2道acm简单题(2010):1.猜数字游戏;2.字符串提取数字并求和;

    //第一题是猜数字的游戏.//题目:随即产生一个3位的正整数,让你进行猜数字,//如果猜小了,输出:"猜小了,请继续".//如果猜大了,输出:"猜大了,请继续" ...

  3. 整理自百度知道提问的几道Java编程题

    蚂蚁爬杆 问题描述: 有一根27厘米的细木杆,在第3厘米.7厘米.11厘米.17厘米.23厘米这五个位置上各有一只蚂蚁.木杆很细,不能同时通过一只蚂蚁.开始时,蚂蚁的头朝左还是朝右是任意的,它们只会朝 ...

  4. 2道acm简单题(2013):1.(时分秒)时间相减;2.主持人和N-1个人玩游戏,每个人说出自己认识的人数,判断其中是否有人说谎。

    /*1.题目:输入一个数,代表要检测的例子的个数,每个例子中:输入两个时间(格式HH:MM : SS),前面时间减去后面时间,输出在时钟上显示的时间,格式一样,如果是以为数字的前面补零.*//**思路 ...

  5. 3道acm简单题(2011):1.判断是否能组成三角形;2.判断打鱼还是晒网;3.判断丑数。

    //1.输入三个正整数A.B.C,判断这三个数能不能构成一个三角形.//思路:最小的两边之和是否是大于第三边#include<iostream>#include<algorithm& ...

  6. 图论期末大作业编程题(如何判断一个4连通4正则图为无爪、无K4图)

    博士期间估计这可能是唯一一个要编程的作业,搞了半天弄出这个东西,放这里为以后用到的时候查找方便. 说来也是可笑,读博士期间发现大家对上课也都没什么兴趣,老师也是那么回事,都说博士期间学的课程是要有助于 ...

  7. shell编程之服务脚本编写,文件锁以及信号捕获

    shell脚本编程是linux运维工程师必备的技能,也是非常重要的一个技能,所以把shell编程学好,只有好处.基础语法我也就不讲了,学过C语言这些语言的,稍微看一下就能明白shell编程的基础,所以 ...

  8. 30道小学生四则运算题C/C++编程

    软件工程科课上,老师通过实例讲解什么是程序,程序和软件的区别,要求我们通过短时间写一道编程题, 题目就是编写30道小学生四则运算题.以下就是源代码: #include<iostream.h> ...

  9. 50道经典的JAVA编程题(目录)

    这份题从2013做到2014啊...哈哈,整理个目录吧.为了好查阅,也为了监督自己好好的去做完这50道题.当然,有些题实在做得没意思就跳过了,或者自己改题了.题目来源于:http://blog.sin ...

随机推荐

  1. 函数式编程--为什么会出现lambda表达式?

    java一直处在发张和演化的过程中,其中有2个版本从根本上改变了代码的编写方式.第一个就是JDK5之后增加的泛型,还有一个就是现在介绍的函数式编程,lambda表达式. lambda表达式是java8 ...

  2. zabbix邮件发送3.2.4

    使用邮件服务发送,一般linux有两种发送方式 mail跟sendmail两款软件,我试验的时候总是会发生发送不了邮件的问题 简而便之,我两款软件都安装了,只要安装其中之一就ok了 #yum -y i ...

  3. awk练习题-v参数

    [xxxx.com]a=123bsas=sa2asd=a12ip=ip123[ooo.com]asd12=1223ip=ip123xas=123[xxoo.cn]asas=123sip=xs12213 ...

  4. php之插入排序

    <?phpfunction insertSort($arr) {  //插入排序    $len = count($arr);    for($i=1;$i<$len;$i++){     ...

  5. 企业级Docker私有仓库之Harbor部署(http)

    部署环境 Centos7.3 x64 docker-ce-17.06.0 docker-compose-1.15.0 Python-2.7.5(系统默认) Docker及Docker-compose安 ...

  6. 程序员之殇 —— (Are you afraid of me? Don't be.)灵感=神秘感

    Are you afraid of me? (你们怕我吗?) Don't be.(不用怕) I am a programmer who just won't die.(我是不会死的程序员) 自从跟踪到 ...

  7. 不干胶打印机 www.bgjdyj.com

    不干胶打印机如何保养 不干胶打印机专卖网根据多年的维修经验总结了以下几种保养不干胶打印机的方法: 1.不干胶打印机打印机标签纸不能搁置太长时间,第一容易起静电.第二容易起灰尘2.不干胶打印机的打印头最 ...

  8. [DeeplearningAI笔记]Multi-class classification多类别分类Softmax regression_02_3.8-3.9

    Multi-class classification多类别分类 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.8 Softmax regression 原有课程我们主要介绍的是二分分类( ...

  9. JAVA并发编程学习笔记------线程的三种创建方式

    创建线程一般有如下几个方式: 1. 通过继承Thread类来创建一个线程: /** * 步骤1:定义一个继承Thread类的子类 * 步骤2:构造子类的一个对象 * 步骤3:启动线程: * */ pu ...

  10. JUnit5 技术前瞻

    更多原创测试技术文章同步更新到微信公众号 :三国测,敬请扫码关注个人的微信号,感谢! 原文链接:http://www.cnblogs.com/zishi/p/6868495.html   JUnit ...