初学字符串的实际工程问题4,5,6

编程任务编号 L: 压缩空格和换行符
任务描述
将网页中文本复制到文本编辑中经常会产生大量的连续空格和换行符。现在要求将连续的空格压缩为1个空格,连续的换行符压缩为1个换行符。
输入
1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。
输出
压缩空格和回车后的文本。
输入举例
It is a cat,

I like it.
输出举例
It is a cat,
I like it.
我的程序:
#include
#include
#include

int main()
{
char sentence[100001];
int i,len;

    gets(sentence);
    len=strlen(sentence);

    for(i=0; i<len; i++)
    {
        if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32))
            printf("%c",sentence[i]);
    }
    scanf("\n");
    scanf("\n");
    printf("\n");
    gets(sentence);
    len=strlen(sentence);

    for(i=0; i<len; i++)
    {
        if((sentence[i+1]!=32)&&(sentence[i]==32)||(sentence[i+1]!=32)&&(sentence[i]!=32)||(sentence[i+1]=32)&&(sentence[i]!=32))
            printf("%c",sentence[i]);
    }
    return 0;
            -------------------------------------------------------------------------------
            编程任务编号 M: 统计单词数
            任务描述

在写文档或投稿时经常需要计算一篇文档中的单词数,先给定一篇英文的文档,请统计单词的个数。在此“1个单词”定义为:一个或多个空格或换行符分隔的字符串计为一个单词。当然,连续的空格和换行符不是“1个单词”。虽然这个定义不甚准确但实用。
输入
1个字符以上的任意长度英文文本。注意,文本可能会很长,很长,很长。输入中单词的个数可能达到4294967296(即2的32次方)个。
输出
单词的个数。
输入举例
It is a cat,

I like it.

输出举例
7
注意事项
注意:

1:应该注意考虑特殊情况:例如文章开始处有若干空格或者回车的情形。

2:当以如下的方式使用字符数组输入字符串数据时:
char str[此处为足够大的数组元素个数];
scanf("%s",str);
当输入字符串中包含空格、回车或者跳格字符时,空格、回车和跳格将被认为是2个字符串之间的分隔,因此用这种方法输入的字符串中不可能包含空格、回车和跳格字符的。
3:当需要以行为单位,输入一行一行的字符串,那么可利用gets(str)来输入一行字符串是,输入到字符串变量中的字符可包含空格和跳格字符,但是不能包含回车字符。对于没有给定数据长度的情况,可以利用gets( )函数的返回值为为空(它输入数据已经输入完毕)来判断输入是否结束。例如,如下形式。
char str[足够大的元素个数];
while (gets(str)!=NULL)
{
//每循环一次,处理每一行字符串
}
4:如果需要单个字符处理,则必须使用scanf("%c",&c);或者 ch=getchar();此时,不管任何字符都可以输入到字符变量中包括空格、回车和跳格字符。
while(scanf("%c",&ch)
{
//每循环一次,处理一个字符
}
我的程序:
#include
#include
#include
int main()
{char word[100001];
int len,i,sum=0;
gets(word);
len=strlen(word);
for(i=0;i<len;i++)
{
if(word[i]==32&&word[i+1]!=32)
{
sum++;

     }

}

scanf("\n");
scanf("\n");
printf("\n");

gets(word);
len=strlen(word);
for(i=0;i<len;i++)
{
if(word[i]==32&&word[i+1]!=32)
{
sum++;

     }

}

printf("%d",sum);

return 0;

}

编程任务编号 T: 英汉字典之(初级版)
任务描述
请设计一个简单的英汉字典实现从英文到汉语的翻译。

输入
第一行包含一个数字n(1≤n≤100),表示字典中词条的数目。每个词条的第一个空格前是一个英文单词,其后为中文解释。英文单词的字母个数不超过50个。中文解释的长度不超过200个汉字(包括标点和空格)。紧接着一个整数k(1≤k≤n),表示需要查阅的英文单词个数。其后k行,包含k个单词。

输出
查出每个单词的中文含义。每个单词的输出单独占一行。如果这个单词不存在,则输出Sorry, not in this dictionary!

输入举例
8
this 这, 这个, 今, 本
is 是
a 一(非特指)
super 超级的,上等的, 特大的, 特级的, 十分的, 过分的, 极好的
simple 简单的, 简易的, 朴素的, 简朴的, 天真的, 率直的, 无经验的, 易受骗的
English 英文的, 英国人的, 英格兰的, 英国人, 英语
Chinese 中国的, 中国人的, 中国话的, 汉语的, 中国人, 中国话, 汉语, 中文
dictionary 字典, 词典, 辞典
3
English
english
dictionary
输出举例
英文的, 英国人的, 英格兰的, 英国人, 英语
Sorry, not in this dictionary!
字典, 词典, 辞典
我的程序:
#include
#include
#include
int main()
{
char ENGLISH[51],word[51],CHINESE[201];
int times,n,j=0,i,I=0;
scanf("%d",&times);
while(times--)
{
scanf("%s%s",ENGLISH[I],CHINESE[I]);
I++;
}
scanf("%d",&n);
while(n--)
{
scanf("%s",word);
for(i=0;i<times;i++){
if(word==ENGLISH[j]){
printf("%s",CHINESE[j]);
printf("\n");}
j++;}

   }
return 0;

}

编程任务编号 S: 输入法菜单的循环切换
任务描述
为了方便我们的输入中文、英文,现在我们通常会在操作系统中安装多个输入法,当需要某种输入法时,通过反复按快捷键"Ctrl+Shift"在所有输入法循环切换,直到需要的需要发出现就停止。每按一次"Ctrl+Shift"快捷键,切换到当前输入法的后一个输入法。我们假设输入法在输入法栏中的排列顺序是不变的。当我们知道当前的输入法,那么就能确定切换若干次后是哪种输入法。
输入
第一行输入一个正整数n(1≤n≤100),表示已经安装了输入法的个数。其后的n行,每行表示种输入法的名称,名称长度不超过50个英文字符。 紧接下来的一行包含一个整数k(1≤k≤100),每行表示一次表示切换操作。每行有2个整数。第一个表示当前输入法的序号(从上到下,编号从1开始),第二个表示按"Ctrl+Shift"键的次数。
输出
输入每次操作后所切换到的输入法。每次操作单独占一行。
输入举例
5
Sogou Pinyin
Google Pinyin
QQ Pinyin
Microsoft Pinyin
Tsinghua Ziguan Pinyin
5
2 4
3 5
4 6
5 7
5 19
输出举例
Sogou Pinyin
QQ Pinyin
Tsinghua Ziguan Pinyin
Google Pinyin
Microsoft Pinyin
注意事项
输入数据是请注意,接收第一整数之后,下面要输入的字符串,如果没有将输入整数后的那个回车忽略,那么下次接收字符串的时候就会读入那个回车符,导致输入不正确。处理办法由多种。方法1:可以在接收第一个整数的scanf("%d ",&n);注意这里在%d后添了一个 ,这样就能将那个回车符忽略掉。接下来接收字符串的时候用gets()就是正确地接受到第一个拼音输入的名称。方法二:使用一个额外的getchar()将这个回车读走,也可以!
我的程序:
#include
#include
#include
int main()
{
char srf[51][51];
int n,i,j,a,b,result,m;
scanf("%d",&n);
for(j=0;j<n;j++)
{
scanf("%s",srf[j]);

}
scanf("%d",&i);
for(m=0;m<i;m++)
{
    scanf("%d%d",&a,&b);
    result=(a+b)%n;
    printf("%s\n",srf[result-1]);
}



return 0;

}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
初学字符串的实际工程问题2
-
初学字符串的实际工程问题3
-
初学字符串的实际工程问题
-
初学字符串的实际工程问题1
-
初学字符串的小白的第一问
-
C语言 指针指向字符串的问题
-
Python 中如何将多行数据的文件转成一列数据的文件?
-
python初学,字符串问题
-
java根据指定字符截取字符串
-
求问WinApi中输出字符串时如何控制无论字符串多长,始终位于中间?
-
Python如何在输入一个以换行为分割的字符串中每一行加上固定字符?
-
用c语言判断输入字符串是不是回文字符串
-
MIPS汇编语言,题目:输入一个字符串和一个字母,输出该字母在字符串中出现的次数,该如何写呢呢?
-
C语言长整数转化成16进制字符串,初学
-
Python初学者提问字符串格式问题
-
如何用C语言字符串编程解决这个实际问题
-
无法使用char *p定义字符串指针变量
-
在C++编程中如何自编一个比较两个字符串s和t大小的函数strcomp(s,t)
-
如何用C语言字符串相关知识编写这个程序
-
程序员实用工具网站
目录 1、搜索引擎 2、PPT 3、图片操作 4、文件共享 5、应届生招聘 6、程序员面试题库 7、办公、开发软件 8、高清图片、视频素材网站 9、项目开源 10、在线工具宝典大全 程序员开发需要具备良好的信息检索能力,为了备忘(收藏夹真是满了),将开发过程中常用的网站进行整理。 1、搜索引擎 1.1、秘迹搜索 一款无敌有良心、无敌安全的搜索引擎,不会收集私人信息,保...
《C++ Primer》学习笔记/习题答案 总目录
文章目录前言专栏C++学习笔记目录第一章 - 快速入门第二章 - 变量和基本类型第三章 - 标准库类型第四章 - 数组和指针第五章 - 表达式第六章 - 语句第七章 - 函数第八章 - 标准 IO 库第九章 - 顺序容器第十章 - 关联容器第十一章 - 泛型算法第十二章 - 类第十三章 - 复制控制第十四章 - 重载操作符与转换第十五章 - 面向对象编程第十六章 - 模板和泛型编程第十七章 - 用...
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
别再翻了,面试二叉树看这 11 个就够了~
写在前边 数据结构与算法: 不知道你有没有这种困惑,虽然刷了很多算法题,当我去面试的时候,面试官让你手写一个算法,可能你对此算法很熟悉,知道实现思路,但是总是不知道该在什么地方写,而且很多边界条件想不全面,一紧张,代码写的乱七八糟。如果遇到没有做过的算法题,思路也不知道从何寻找。面试吃了亏之后,我就慢慢的做出总结,开始分类的把数据结构所有的题型和解题思路每周刷题做出的系统性总结写在了 Github...
让程序员崩溃的瞬间(非程序员勿入)
今天给大家带来点快乐,程序员才能看懂。 来源:https://zhuanlan.zhihu.com/p/47066521 1. 公司实习生找 Bug 2.在调试时,将断点设置在错误的位置 3.当我有一个很棒的调试想法时 4.偶然间看到自己多年前写的代码 5.当我第一次启动我的单元测试时 ...
七个开源的 Spring Boot 前后端分离项目,一定要收藏!
前后端分离已经在慢慢走进各公司的技术栈,根据松哥了解到的消息,不少公司都已经切换到这个技术栈上面了。即使贵司目前没有切换到这个技术栈上面,松哥也非常建议大家学习一下前后端分离开发,以免在公司干了两三年,SSH 框架用的滚瓜烂熟,出来却发现自己依然没有任何优势! 其实前后端分离本身并不难,后段提供接口,前端做数据展示,关键是这种思想。很多人做惯了前后端不分的开发,在做前后端分离的时候,很容易带进来一...
接私活必备的 10 个开源项目!
点击蓝色“GitHubDaily”关注我加个“星标”,每天下午 18:35,带你逛 GitHub!作者 | SevDot来源 | http://1t.click/VE8W...
GitHub开源的10个超棒后台管理面板
目录 1、AdminLTE 2、vue-Element-Admin 3、tabler 4、Gentelella 5、ng2-admin 6、ant-design-pro 7、blur-admin 8、iview-admin 9、material-dashboard 10、layui 项目开发中后台管理平台必不可少,但是从零搭建一套多样化后台管理并不容易,目前有许多开源、免费、...
100 个网络基础知识普及,看完成半个网络高手
欢迎添加华为云小助手微信(微信号:HWCloud002或HWCloud003),输入关键字“加群”,加入华为云线上技术讨论群;输入关键字“最新活动”,获取华为云最新特惠促销。华为云诸多技术大咖、特惠活动等你来撩! 1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理...
漫画:什么是摩尔斯电码?
摩尔斯电码是什么摩尔斯电码(Morse code),是1837年由美国人发明,本质上是一种对信息的编码,最初用于人们的远程通信。那个时候,人们连电话都还没发明出来,更不用...
Google离开我们快十年了
2010年1月13日,Google离开中国。掐指算来,Google已经离开我们快十年了。2010年是个特殊的年份,这一年还发生了3Q大战。为什么诸多大事都发生在2010年...
面试官的HTTP五连问法?我竟然回答不上来...
作者丨松若章来源丨http://1t.click/ataf曾经有这么一道经典面试题:从 URL 在浏览器被被输入到页面展现的过程中发生了什么?相信大多数准备过的同学都能回...
中国最顶级的一批程序员,从首富到首负!
过去的20年是程序员快意恩仇的江湖时代通过代码,实现梦想和财富有人痴迷于技术,做出一夜成名的产品有人将技术变现,创办企业成功上市这些早一代的程序员们创造的奇迹引发了一浪高...
为什么面向对象糟透了?
又是周末,编程语言“三巨头”Java, Lisp 和C语言在Hello World咖啡馆聚会。服务员送来咖啡的同时还带来了一张今天的报纸, 三人寒暄了几句, C语言翻开了...
分享靠写代码赚钱的一些门路
作者 mezod,译者 josephchang10如今,通过自己的代码去赚钱变得越来越简单,不过对很多人来说依然还是很难,因为他们不知道有哪些门路。今天给大家分享一个精彩...
对计算机专业来说学历真的重要吗?
我本科学校是渣渣二本,研究生学校是985,现在毕业五年,校招笔试、面试,社招面试参加了两年了,就我个人的经历来说下这个问题。 这篇文章很长,但绝对是精华,相信我,读完以后,你会知道学历不好的解决方案,记得帮我点赞哦。 先说结论,无论赞不赞同,它本质就是这样:对于技术类工作而言,学历五年以内非常重要,但有办法弥补。五年以后,不重要。 目录: 张雪峰讲述的事实 我看到的事实 为什么会这样 ...
在线就能用的Linux我给你找好了
来源:公众号【编程珠玑】 作者:守望先生 网站:https://www.yanbinghu.com 前言 是不是不想装虚拟机,还想体验一下Linux?是不是自己的电脑不在,又想搞事情?今天给大家推荐几个在线就可以玩的Linux环境以及学习Shell的地方。 在线Linux环境 如果你不想安装虚拟机,这里提供几个在线就能把玩Linux的网站,他们不需要注册用户,可以直接使用。 Unix...
世界上最好的学习法:费曼学习法
你是否曾幻想读一遍书就记住所有的内容?是否想学习完一项技能就马上达到巅峰水平?除非你是天才,不然这是不可能的。对于大多数的普通人来说,可以通过笨办法(死记硬背)来达到学习的目的,但效率低下。当然,也可以通过优秀的学习法来进行学习,比如今天讲的“费曼学习法”,可以将你的学习效率极大的提高。 费曼学习法是由加拿大物理学家费曼所发明的一种高效的学习方法,费曼本身是一个天才,13岁自学微积分,24岁加入曼...
学Linux到底学什么
来源:公众号【编程珠玑】 作者:守望先生 网站:https://www.yanbinghu.com/2019/09/25/14472.html 前言 ​我们常常听到很多人说要学学Linux或者被人告知说应该学学Linux,那么学Linux到底要学什么? 为什么要学Linux 在回答学什么之前,我们先看看为什么要学。首先我们需要认识到的是,很多服务器使用的是Linux系统,而作为服务器应...
深入理解C语言指针
一、指针的概念 要知道指针的概念,要先了解变量在内存中如何存储的。在存储时,内存被分为一块一块的。每一块都有一个特有的编号。而这个编号可以暂时理解为指针,就像酒店的门牌号一样。 1.1、变量和地址 先写一段简单的代码: void main(){ int x = 10, int y = 20; } 这段代码非常简单,就是两个变量的声明,分别赋值了 10、20。我们把内存当做一个酒店,而每个房间就...
C语言实现推箱子游戏
很早就想过做点小游戏了,但是一直没有机会动手。今天闲来无事,动起手来。过程还是蛮顺利的,代码也不是非常难。今天给大家分享一下~ 一、介绍 开发语言:C语言 开发工具:Dev-C++ 5.11 日期:2019年9月28日 作者:ZackSock 也不说太多多余的话了,先看一下效果图: 游戏中的人物、箱子、墙壁、球都是字符构成的。通过wasd键移动,规则的话就是推箱子的规则,也就不多说了。 二、代...
相关热词 用户权限才c# c#应用程序实例 c#请求接口数据 c#高效读写plc c#代码规范快捷方式 c#编辑模板 c# 内存存储 c# poi 生成图表 c#页面 弹出页面选择框 c# 不实现 继承接口