编写一个将输入复制到输出并用一个空格代替多个空格的程序什么意思?

作者&投稿:进孟 (若有异议请与网页底部的电邮联系)
~

你好,电脑编程中,输入、输出是最基本的人机交互功能。

输入可以是一个文本框,允许用户输入一串字符。输出可以用另一个文本框,显示运算后的结果。

本题的运算要求,就是处理字符串中的多余空格(把连续多个空格改为一个空格),如:输入“Hello      World      !”,通过运算后,输出“Hello World !”。

具体的算法有很多,有的函数可以直接处理,这里就不多说了。




...输入一个字符串,将该字符串中从第m个字符开始的全部字符复制到...
这样:include<stdio.h> include<string.h> int main (){ void copystr(char *,char *,int);int m;char str1[20],str2[20];printf("input string:");gets(str1);printf("which character that begin to copy?");scanf("%d",&m);if(strlen(str1) < m){ printf("input error!")...

(C语言)从键盘上输入一个字符数组,并将其复制到另一个字符数组。
include<stdio.h> include<string.h> main(){ int i,x;char a[10]; \/\/这里应该定义为10个长度,考虑越界,最好定义为16 char b[10];printf("请输入字符串a:\\n");gets(a);printf("请输入字符串b:\\n");gets(b);printf("把a复制到b后字符串b为:\\n");strcat(a,b); \/\/这里应该用...

...首先输入一个字符,然后将文件A的内容复制到文件B,复制时要将文件A中...
include <stdio.h>int main(){ FILE *fa,*fb; if(fa=fopen("a.txt","r")) { char c=getchar(),t; if(fb=fopen("b.txt","w")) { while((t=fgetc(fa))!=EOF) { if(t!=c) { fputc(t,fb); } } fclose(fb)...

C语言编程题:输入一个字符,然后将文件A的内容复制到文件B,复制时要将...
代码如下 :include <stdio.h>int main(){char ch1, ch2;scanf("%c", &ch1);\/\/ 打开文件 A.txtFILE *pf1 = fopen("d:\\\\A.txt", "r+");\/\/ 打开文件 B.txtFILE *pf2 = fopen("d:\\\\B.txt", "w");while (!feof(pf1)) {ch2 = fgetc(pf1);if (ch2 != ch1) {fputc(...

编写函数,将一个字符串中的元音字母复制到另一个字符串中,然后输出。要...
include<stdio.h> int yuanyin( char ch){ return ch=='a'||ch=='A'||ch=='o'||ch=='O'||ch=='u'||ch=='U'||ch=='i'||ch=='I'||ch=='e'||ch=='E';} void haha(char *str,char *s){ while(*str++!='\\0')if(yuanyin(*(str-1)))s++=*(str-1);s=...

编程,输入一个字符串存入字符组S1中,然后将S1中的字符串复制到...
\/\/仅供参考#include <stdio.h>#include <string.h>int main(){ char s1[256], s2[256]; int i; scanf ("%s", s1); \/*---字符串处理函数---*\/ \/\/strcpy(s2, s1); \/*---end---*\/ \/*---不用字符串处理函数---*\/ for (i = 0; s1[i] != '\\...

输入一个字符串,存入数组a,将其复制到数组b,然后将数组b中所有小写字 ...
我不是sun_siliang,但我能回答你的问题。不介意的话就拿去用……include "stdio.h"void Converse(char *p){if(p)while(*p){if(*p>='a' && *p<='z')*p-=0x20;p++;}}void Connect(char *a,const char *b){while(*a)a++;while(*a++=*b++);}void Compare(const char *a,const...

C语言问题:写一个函数,将一个字符串中的元音字母复制到另一字符串后面...
include<stdio.h> include<string.h> void input(char st[]);\/\/定义输入函数 void output(char st[]);\/\/定义输出函数 void letter(char x[],char y[]);\/\/定义元音复制函数 int main(){ char s1[20],s2[10];input(s1);\/\/调用输入函数 letter(s1,s2);\/\/调用元音复制函数 output(s2);...

写一个函数,将一个字符串的元音字母复制到另一字符串,然后输出
include<stdio.h> include<string.h> void input(char st[]);\/\/定义输入函数 void output(char st[]);\/\/定义输出函数 void letter(char x[],char y[]);\/\/定义元音复制函数 int main(){ char s1[20],s2[10];input(s1);\/\/调用输入函数 letter(s1,s2);\/\/调用元音复制函数 output(s2);...

...输入一个字符串,将该字符串中从第m个字符开始的全部字符复制到...
while(n--){ s1++;} s1是char * 类型的, 你把s1想成是: char s1[m+n]的一个数组, s1++ 相当于从s1[0]--->s1[1] ; 用while(n --) 则移动了n次,则移到了s1[n-1]位置

文圣区15160903235: 编写一个程序,把输入复制到输出,并用单个空格;来代替一个以上空格所组成的字符串 -
畅健复方: main() { char a[255]; int count=0; printf("input the string:\n"); scanf("%s",&a); int i=0; while(a[i]!='\0') { if(a[i]==' ') count++; if(count==1) { if(a[i]==' ') printf("%s",a[i]); i++; return; } printf("%s",a[i]); i++; } return 0; }

文圣区15160903235: 编写一个将输入复制到输出的程序,并将其中连续多个空格用一个空格代替. -
畅健复方: 1、大的两个if是判断c是不是空格,第一个是空格,第二个不是空格;2、如果输入的不是空格则执行c!=,字符直接输出;3、如果输入的是空格则执行c==,进入里面判断是不是第一个空格,inspace是区分是否第一个空格用的.如果是第一个inspace应该等于0,将inspace置1;后面的空格会因为inspace为1而不输出;直到遇到下一个不为空格的字符才将inspace置0,等待下次第一个空格.

文圣区15160903235: C语言,编写一个程序,把它的输入复制到输出,并将输入中连续的空格用一个空格代替. -
畅健复方: 不明白为什么你不把i++写到for()里面,搞那么多i++不嫌麻烦么?#include int main() {char a[256];int i;for(i=0;(a[i]=getchar())!='\n';){if(a[i]!=' '){ printf("%c",a[i]);i++;}else{printf("%c",a[i]);i++;while(a[i]==' ') //这个循环弄得我丈二和...

文圣区15160903235: [求助]编写一个将输入复制到输出的程序,并将其中连续的多个空格用一个空格代替! -
畅健复方: #include<stdio.h>#include<string.h> int main() { int i,n; char s[1001]; gets(s); n=strlen(s); for(i=0;i<n;i++) if(s[i]==' '&&s[i+1]==' ') continue; else putchar(s[i]); puts(""); }

文圣区15160903235: C语言输入复制到输出,并在此过程中将相连的多个空格用一个空格代替.代码正确求解释. -
畅健复方: getchar是要等到输入回车后才开始从输入缓存读取字符的,不是输入一个字符就去做while循环了,你输入回车之前,所有的输入都还在输入缓存里,没有被getchar读取,输入回车之后,getchar挨个读取缓存里的字符进行while循环体的执行.

文圣区15160903235: 一个简单程序,不太明白,请明白的人帮帮忙 -
畅健复方: 可以不定义NONBLANK,但是要给lastc赋值一个任意字符. lastc是文本流中c的前一个字符.if(c==' ') //c如果是空格执行 if(lastc!=' ')//c的上一个字符如果不是空格就执行下面的putchar(c);如果上一个字符是空格就不执行 putchar(c); lastc=c; 明白了吗?呵呵

文圣区15160903235: c语言 编写一个将输入复制到输入的程序,并将其中连续的多个空格用一个空格代替 可以帮忙再写出注释吗?谢谢 -
畅健复方: 你要做的是过滤掉字符串中多余的空白#include<stdio.h>#include<stdlib.h> int main(){ char s[100]; int i,L; printf("enter one line:\n"); gets(s); L = strlen(s); for (i=0;i<L;i++) if (s[i]=='\t') s[i]=' '; // 处理 tab 键 for (i=L;i>0;i--) if ((s[i-1]==' ') && (s[i]==' ')) ...

文圣区15160903235: 输入一行字符复制到输出,复制过程中将一个以上的连续空格字符用以个空格代替 -
畅健复方: #include<stdio.h> int main() { static char input[1000], output[1000], *pi, *po, f; gets(input); for (f = 0, pi = input, po = output; *pi; ++pi) { if (*pi != ' ' || f) *po++ = *pi, f = (*pi != ' '); } *po = 0; puts(output); return 0; }

文圣区15160903235: C语言 多个空格用一个空格代替 -
畅健复方: #include void main(){int i=0,j=0;char str[100]; char cpy[100]; printf("输入一组语句:\n");gets(str);while(i if (str[i]!=' ') { cpy[j++]=str[i]; i++; }else {cpy[j++]=str[i]; while(str[i]==' ') i++; }}printf("复制到输出:%s\n",cpy); } 满足你需要了吗?

文圣区15160903235: 编程输入一个带空格的字符串,如copy right,复制该字符串,要求每复制三个字符后插入一个空 -
畅健复方: 1 代码如下: #include<stdio.h> #include<string.h>int main(){char str[256], result[256];puts("输入一个字符串:");gets(str); int count = 0;for (int i = 0; i < strlen(str); i++){result[count++] = str[i];if ((i + 1) % 3 == 0)result[count++] = ' ';}...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网