C语言里用一个空格代替连续出现的多个空格,然后输出,求解!

#include

int main()
{
int c, i, j;
char str[1000];

i = 0;
while ((c = getchar()) != EOF) {
    str[i] = c;
    ++i;
}
str[i] = '\0';
i = j = 0;
while (str[i] != '\0') {
    putchar(str[i]);
    ++i;
    j = i;
    while (str[i] == ' ')
        ++i;
    if (i - j >= 1)
        putchar(str[j]);
}
return 0;

}

c
0

6个回答

代码是不是直接copy过来的,头文件没了。用一个char变量记录前一个输入的是不是空格判断输出,加个判断就行了

0
0

连续多个空格当做一个?只要判断非空格的前一个字符是否是空格就可以了,这样不会重复

0

不需要用if(i-j>=1)吧

0

#include
int main()
{
int c, i, j;
char str[1000];
i = 0;
while ((c = getchar()) != EOF) {
str[i] = c;
++i;
}
str[i] = '\0';
i = j = 0;
while (str[i] != '\0') {
putchar(str[i]);
while (str[++i] == ' ')
{
j = 1;
}
if (j)
{
putchar(' ');
j = 0;
}

}
return 0;
}

0

上次回答的合并连续空格的代码,解决你问题了吗?
上面的答案有帮助吗?如果还有问题,请提出来,如果对答案满意,请顶一下,并标记为采纳答案,谢谢!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
将连续的多个空格用一个空格代替
#include #define NONBLANK 'a' main() {     int c,lastc;     lastc = NONBLANK;     while((c = getchar()) != EOF){              if(c != ' ')         putchar(c);          if(c == ' ')    
C语言程序设计习题 1-9 编写一个将输入复制到输出的程序,并将其中连续多个空格用一个空格代替
/*******Author: 时光伴岁月************************/ /*******Date: 20170902****************************/#include<stdio.h>int main(int argc,char *argv[]) { int c; int n=0; while((c=getchar())!=EOF
C语言K&R习题系列——句子中一个空格代替多个空格的四种方法
原题: Write a program to copy its input to its output, replacing each string of one or more blanks by a single blank. 第一种: 这种最常用,设置一个inspace作为布尔变量,标志当前输入是否在字符中,或在字符外 #include
练习 1-9 编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
C语言程序设计 练习1-9编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。 #include &lt;stdio.h&gt;main() { int c, ns; /*定义输出字符变量和空格统计数*/ ns = 0; while ((c = getchar()) != EOF){ /*判断输入字符是否为文件结束符
c语言将字符串中连续出现的空格(两个以上)合并成一个
//10:将字符串中连续出现的空格(两个以上)合并成一个   #include   #include   #include   #define  N  100   int main(int argc, const char * argv[])   {     char buf[N] = "";     char *pBuf = buf;     char *pCpy = N
练习1-9 编写一个将输入复制到输出的程序,并将其中多个连续的空格用一个空格代替。
/* 时间:2017/8/2 地点:工程北629 功能:将输入复制到输出,多个空格合并成一个空格 思想:将空格设置成标志位,判断是否在空格中,决定是否输出 说明:参考课本《The C Programming Language》以及相关答案。 */ #include int main(void) //方法一 { int c; int inspace; //设置inspac
C语言之练习1-9多个空格用一个空格代替
【FROM 互联网,仅供参考】 C程序设计语言课后题 练习1-9 编写一个将输入复制到输出的程序,并将其中的多个空格用一个空格代替? /****************************************************************************/ /* C程序设计语言 练习1-9编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空
C语言实现:复制输入字符,且有多个连续空格时只输出一个
/*复制输入字符,且有多个连续空格时只输出一个*/ #include int main() { int c; while ((c = getchar()) != EOF){ if (c == ' '){ putchar( c ); while ((c = getchar()) == ' '); } putchar( c ); }
1.输入复制到输出,并将其中连续多个空格用一个空格代替
1.输入复制到输出,并将其中连续多个空格用一个空格代替#include <stdio.h>#define NONBANK 'a'int main() { int c, lastc; lastc = NONBLANK; while ((c = getchar()) != EOF) { if (c != ' ') { putchar(c);
删除一个字符串中连续的空格
// 删除一个字符串中连续的空格.cpp : 定义控制台应用程序的入口点。 // //问题描述:给定一个字符串,如果字符串中存在连续多个空格则用一个空格代替. //例如:输入:ab--cd-ef---g 输出:ab-cd-ef-g,为了方便,用-代替空格 //解决问题:写两个循环...第一个循环读到空格就使用第二个循环判断连续空格的数量.. //在第二个循环中一旦一个字符不是空格,就跳出本循环
合并字符串中连续的多个空格的C代码实现
1.问题描述 将某一字符串中连续出现的多个空格合并为一个空格,如果合并之后的字符串的首尾有空格,则将其去掉。 例如,“ This is a string! ”是一个包含多个空格的字符串,要求其变成“This is a string!”的形式。2.C代码实现/********************************************************************
c 语言将字符串中连续多个空格用一个代替 并赋值到新的字符串
int main(void) { char s[] = "ni shi    wo     de xiao ping      guo !"; char to[100]; int i,j; i=j=0; while(s[i]) {     if(s[i] != ' ' || s[i+1] != ' ') //如果字符串中第  i 和  i+1个 不是空格      {
将字符串中的多个空格,缩减为一个空格(C语言实现)
将字符串中的多个空格,缩减为一个空格(C语言实现)
python 去除字符串中连续的空格,并使用其他的分隔符替代连续的空格
例:1: filt函数用法及匿名函数lamda用法,详见http://www.cnblogs.com/apple2016/p/5657698.html join()用法详见http://www.cnblogs.com/apple2016/p/5600977.html ss=['upay3 27878 1 * ?'] s1=','.join(filter(lambda
字符串对于连续的空格只保留一个类型问题
字符串删除连续空格,只保留一个 #include <iostream> #include <string> using namespace std; int main(){ string str1; char str2[100]; cout << "请输入一个字符串:"; getline(cin, str1);//如果输入有空格的字符串,用getline in
C语言:P13练习——如何将多个空格输入一个
#include int  main(){ int a; while((a = getchar()) != EOF){ if(a == ' '){ putchar(' '); while((a = getchar()) == ' '){ a= getchar(); } } putchar(a); } return 1; }
printf("%*s",5,"")输出多个空格简单方法
#include &amp;lt;stdio.h&amp;gt; int main(){ printf(&quot;%*s%s%*s&quot;,5,&quot;&quot;,&quot;123&quot;,3,&quot;&quot; ); return 0; } 输出5个空格,输出123,输出3个空格
C++如何连续输入多个可能含空格的字符串
可以尝试如下方案,亲测可行。 int main() { string s1,s2; while(getline(cin,s1)&&getline(cin,s2)) { cout<<s1<<endl; cout<<s2<<endl; } return 0; } 以上是string类型的解决方案,下面是定义char数组如何处理
html语言空格代码是什么?连续空格呢?
在HTML中,   表示空格。 如果想要连续用多个空格,可以在html中自己进行设置, 编辑——首选参数——常规中,编辑选项下:允许多个连续的空格  打对号。
字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来
#include <stdio.h> #include <stdlib.h> #include <string.h> /*题目:字符串空格的压缩:给定一个字符串,将其中连续出现的空格压缩为1个后,将其中已空格分隔的每个字符串逆序打印出来。 总体思想是用二维数组将每一被空格分隔的字符串拿出来; 之后用一个count记录空格个数即可,对空格个数为1的特殊处理;多余空格忽略即可 */ void r
把字符串中的一个或多个空格替换为其他逗号
String s = &quot;测试 测试 测试 测试 测试&quot;; //测试的字符串 String regEx = &quot;[' ']+&quot;; // 一个或多个空格 java.util.regex.Pattern p = java.util.regex.Pattern.compile(regEx); java.util.regex.Matcher m = p.matcher(s); s = m.r...
过滤多余的空格
总时间限制: 1000ms内存限制: 65536kB描述一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。输入一行,一个字符串(长度不超过200),句子的头和尾都没有空格。输出过滤之后的句子。样例输入Hello world.This is c language.样例输出Hello world.This is c language.源代码如下:#include&amp;lt;s...
去除连续空格,并保留一个空格
1,首先去掉收尾空格。 2,去掉中间连续空格,并保留一个空格。
Java将一个字符串中的多个连一起的空格变成单个空格
将一个字符串中的多个连一起的空格变成单个空格 如:"aa bb    cc  dd  ee   cs "变成"aa bb cc dd ee cs" //正则表达式实现        String string = "0.0.0.0         0.255.255.255   IANA保留地址       CZ88.NET";        String test = string.re
Golang语言删除字符串中多余的连续空格,有多个连续空格时,仅保留一个空格
package main import ( &quot;fmt&quot; &quot;regexp&quot; &quot;strings&quot; ) /* 函数名:delete_extra_space(s string) string 功 能:删除字符串中多余的空格(含tab),有多个空格时,仅保留一个空格,同时将字符串中的tab换为空格 参 数:s string:原始字符串 返回值:string:删除多余空格后的字符串 创建时间:...
【C语言】字符串替换空格:实现一个函数,把字符串里的空格替换成“%20”
//字符串替换空格:实现一个函数,把字符串里的空格替换成“%20” #include #include void replace(char *src) { assert(src); int OldLen = 0; //原字符串长度 int NewLen = 0; //新字符串长度 int BlackNum = 0;
C语言实现一个去除字符串中的首尾空格,字母中间有多个空格的去除多余的,剩余一个空格
// meituanmoni.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { //char *sourceString = " liu shuan peng "; char *s
编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。
编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替。 题目来源:C程序设计语言,练习1-9.
字符串练习23_过滤多余的空格
/* Name: 23_过滤多余的空格 Copyright: Author: Date: 03-09-17 07:53 Description: 23_过滤多余的空格 查看 提交 统计 提问 总时间限制: 1000ms 内存限制: 65536kB 描述 一个句子中也许有多个连续空格,过滤掉多余的空格,只留下一个空格。 输入 一行,一个字符串(长度不超过200),句子的头和尾都没有空
c语言输出空格问题。
有时候我们在切题时会发现输出各项间用空格分开的输出要求。最后一个数据后面接着回车,可以有以下解决办法。 (1)。将数据存入数组中,写一个计数的变量count。用count++来统计数据的数量。然后采取以下方式输出: { for(int i=0;i<count-1;i++) printf("%d ",a[i]); printf("%d\n",a[count-1]); } 或者 { print
去除多余空格 多个连续空格只保留一个
/** * 多个连续空格只保留一个 * * @param string $string 待转换的字符串 * @return unknown */ static 
连续输入若干个数,用空格隔开,存入数组中
int a[5]; for (int i=0;i<5;i++) { cin>>a[i]; }
《C语言及程序设计》实践参考——消除多余的空格
返回:贺老师课程教学链接  项目要求【项目3:消除多余的空格】从键盘上的输入一句话,直到按回车键为止,这些字符被原样输出,但若有连续的一个以上的空格时只输出一个空格。例如,输入:I   am     a            teacher.,输出I am a teacher.[参考解答]#include int main( ) { char c, frontIsSpace=0; //
C语言删除句子中多余空格
#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#define M 100int main(){    int i,j=0,k;    char a[M],b[M];    scanf(&quot;%[^\n]&quot;,a);    for(i=0;a[i]!='\0';i++)    {        if(a[i]!=' ')        {          ...
压缩一个字符串中的空格
从键盘中输入一个字符串,如果存在多个空格,则压缩到之间只存在一个空格,行首和行尾存在的空格全部去掉。    具体代码如下:import java.util.Scanner; //将字符串中的n个空格压缩成一个,减少n-1个空格,行首/行尾的空格全部去掉 public class YaSuo { public static void main(String[] args){ Scanne
正则表达式,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个
-
java字符串中多个空格替换成一个空格
public class test { public static void main(String[] args) { String dest = ""; String str="bai            song"; Pattern p = Pattern.compile("\\s+"); Matcher m = p.matcher(str); dest = m.rep
C语言-统计一行句子中单词的个数
输入一行句子,统计其中单词的个数 /* * 输入一句话,统计其中的单词个数,单词之前使用空格隔开 */ #include void main() { char sentence[1024]={'\0'}; int isSpace=1; int i=0; int wordCount=0; printf("please input a sentence (length <
将一个或多个空格替换成,
import java.util.regex.Matcher;   import java.util.regex.Pattern;      /**   * 将一个或多个空格替换成,   *    * 如:&quot;我爱          五星红旗&quot;   *    * 转:&quot;我爱,五星红旗&quot;   */   public class ReadTxtUtils{       publi...
C语言删除一个字符串中的多余空格字符
删除一个字符串中的多余空格字符,使得字符串中的每个单词之间只有一个空格字符 [code=C/C++] char * my_delblank(char * str,char *newStr) { char * start = str; while(*start == ' ') { start++; } str = start; start = newStr; while(*str
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 人工智能代替夜班 连续学习三年java