//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. 用 chrome 调试 node.js 代码

    1.全局安装 node-inspector  cnpm install -g node-inspector 2.启动node项目入口文件,如 node --inspect index.js 3.控制台 ...

  2. SQL查询系列1---

    1.查询关系为夫妻,年龄相加大于60的信息 表1 信息表 info id 编号   sex 性别 0-女,1-男 age 年龄   表2 关系表 rel id1 编号1 外键 id2 编号2 外键 r ...

  3. CentOS的软件包的管理之rpm和yum

    在linux上,一个软件包通常由二进制程序,库文件,配置文件和帮助文件组成. 其中: 二进制程序一般都放在/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin和/u ...

  4. 前端-高潮 jQuery

    jQuery:就是让页面动起来 参考手册:http://jquery.cuishifeng.cn/ DOM/BOM/javaScript 继承的类库 <--->模块 一.查找元素 二.操作 ...

  5. Spring整合JMS(一)-基础篇

    1.基础知识 图1   同步通信和异步通信通信过程示意图 RMI使用的是同步通信,JMS使用的是异步通信.从图1可以看出异步通信的好处就是减少了不必要的等待,提高了效率. JMS中有两个主要的概念:消 ...

  6. MOBA 游戏技能系统设计 2.0

    随着游戏开发的完整度提升,技能系统的设计复杂性也越来越高,导致了用模板方式的配置方法和处理方法会导致以下几个问题: 代码冗余 排错困难 配置项冗余 熟悉业务流程时间长 扩展性低 经过我思考决定重写之. ...

  7. AWS-SS配置过程

    为满足家长要求,以下只录步骤: 远端: 1. 注册并启动一个AWS实例.这一步网上N多教程,搜 AWS EC2 等均可. 2. 远程安装SS,并写配置文件.依然网搜, AWS S(hadow)S(oc ...

  8. Java中从控制台输入数据的几种常用方法(转)

    一.使用标准输入串System.in  //System.in.read()一次只读入一个字节数据,而我们通常要取得一个字符串或一组数字  //System.in.read()返回一个整数  //必须 ...

  9. Nodejs的运行原理-模块篇

    前言 使用Nodejs,就不可避免地引用第三方模块,它们有些是Nodejs自带的(例:http,net...),有些是发布在npm上的(例:mssql,elasticsearch...) 本篇章聚焦3 ...

  10. arm-点亮led灯

    点亮指路灯:学习四环节:led原理图分析,芯片手册导读,思维导图设计,为什么要使用led:通常led是作为程序调试的重要手段.led原理图:led实质为发光二极管,当其两端电压一定时,即处于导通状态. ...