有关C语言的问题,题目是:合并几个字符串,每个字符串都以\n结尾,要求用gets()录入字符串

作者&投稿:住祥 (若有异议请与网页底部的电邮联系)
C语言 gets输入字符串~

关键就在于,scanf 以后 回车还是保存在缓冲区,下一次gets时就读取了回车,你可以用getchar扔掉回车符,其实是很基础的问题啊

gets是以回车作为分隔符,即每一次gets遇到回车就不读了,如果想连续读入输出,可使用循环操作
如while(gets(str))

a[length_a]='\n';
b[length_b]='\n';
c[length_c]='\n';
以上操作吧字符串结束符'\0' 删去
应在其后加上
a[length_a+1]='\0';
b[length_b+1] = '\0';
c[length_c+1] = '\0';
这样可得正确结果

要把函数的声明 char *p(char a[],char b[],char c[]); 放在函数外

#include <stdio.h>
#include <conio.h>
#include <string.h>

char *p(char a[],char b[],char c[]);

int main()
{
char str1[100],str2[100],str3[100];
……
}
……

char *p(char a[],char b[],char c[])
{
strcat(a,b);
strcat(a,c);
return a;
}
该函数应该这样写,不需要再加\n了,因为gets()函数已经加过了,所以你的写法会报错

g


有关C语言的问题
在开始看本文以前,我先说明一下C语言的安装和使用中最应该注意的地方:许多网友在下载Turbo C 2.0和Turbo C++ 3.0后,向我问得最多的是在使用过程中碰到如下问题:1)出现找不到 stdio.h conio.h等include文件;2)出现cos.obj无法连接之类的错误 这些问题是由于没有设置好路径引起的,目前下载的TC2,TC3按安装分类...

问一道C语言编程的问题,看下图
按你的提问,每天都吃一半多两个,第6天剩一个。程序按图片中的程序照猫画虎即可。计算结果,第一天摘了156个桃子,而不是100个。include <stdio.h>int main(){int day,x1,x2;day=5;x2=1;while(day>0){x1=(x2+2)*2;x2=x1;day--;}printf("total=%d\\n",x1);return 0;} 用...

关于C语言的问题。
两个题都比较基础 2.定义二维数组,第一个维数可以省略,编译器会根据你提供的初始化数据自动确定 初始化给出了9个数据,第二个维数是3,所以第一个维数是9\/3=3 所以这个定义相当于:int m[3][3]={1,4,7,2,5,8,3,6,9};k的值为2,for循环中i的值从0到2,所以printf语句输出的值为...

请问这个C语言的题目的完整回答
这是C语言另人头疼的一个问题。scanf 后面的参数,就是要 写变量的 地址。所以 int a,b; 就要 用 &a,&b 形式来调用 scanf.可是,如果是字符串,char s[10]; scanf("%s",s); 参数 s 就 不要 &. 因为 s 就是 地址形式。 scanf("%d,%d", &a, &b); 还有,你这句输入时,a b 数据之间还要加...

c语言小问题
定义函数 int toascii(int c) 函数说明 toascii()会将参数c转换成7位的unsigned char值,第八位则会被清除,此字符即会被转成ASCII码字符。 返回值 将转换成功的ASCII码字符值返回。 范例#include<stdlib.h> main() { int a=217; char b; printf(“before toascii () : a value =%d(%c)\\n”,a,...

请教几个有关C语言的问题: 1、为什么‘cd’不能做为C语言合法常量?而0.1...
(3) 正确的是 A. %运算 是 整型除以整型得到的是余数。其他选择项,B 是语句,可理解为 a = (x != y); x 不等于y 成立则为真,a 得1,不成立为假,a 得0。C, %运算 是 整型除以整型, 而 a*y 为 double 型,不允许。D, x+y 不能为 "左值" 。如果是 y=x=x+...

求大神C语言编程,题目要求在下面
下面是我的代码,三个函数分别对应三个问题。include<stdio.h> define MLEN 20\/\/字符串最大长度 char fun1();void fun2();void fun3();int main(void){ fun1();fun2();fun3();return 0;} char fun1(){ int nI;float nF;char c;char str[MLEN];printf("请分别输入1个整数,1个...

C语言题目,100分悬赏
\/ 第一题:已知某班N(〈=50)名学生进行了高数、英语和C语言等3门课考试,将3门课 的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字 符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。\/ include "stdafx.h"include "stdio.h"struct ...

关于c语言的问题?
根据运算符优先级\/结合性 y=(++a)&&(--b)&&(c=b+3)即 y=( (++a)&&( (--b)&&(c=b+3) ) )代入数值后,子表达式 ++a的值为1,且变量a自增为1 --b的值0,且变量b自减为0 由于子表达式--b的值为0(假),所以&&右操作数(c=b+3)不会判断,c还是原值3,而表达式整体值为0 ...

C语言问题,高手进
《计算机程序设计C语言》(B卷)选择题(每小题1.5分,共24分)1、以下不C语言关键字的是( )。A、是student B、break C、select D、int AC都不是 2、已知a,b是整形变量,则以下合法的表达式为( A )。A、a+=a+1 B、a=b=b+a C、a=5++ D、a+b=2.5 3、C语言规定...

孝南区18398756822: 有关C语言的问题,题目是:合并几个字符串,每个字符串都以\n结尾,要求用gets()录入字符串 -
谈科莫炎: a[length_a]='\n';b[length_b]='\n';c[length_c]='\n'; 以上操作吧字符串结束符'\0' 删去 应在其后加上 a[length_a+1]='\0'; b[length_b+1] = '\0'; c[length_c+1] = '\0'; 这样可得正确结果

孝南区18398756822: 同C语言合并两个数组 -
谈科莫炎: int main(int argc, char* argv[]) {int a[2][3]={1,2,3,4,5,6};int b[2][3]={7,8,9,3,2,1};int i,j;int c[12]; //c是个数组哈int k=0;printf("The array is: ");//你已经有a和b了不用再输入了,这样输入也不对 // for(i=0;i<6;i++) // scanf("%d",&a); // for(i=0;i...

孝南区18398756822: C语言程序设计问题:从键盘输入三个字符串,将其合并成一个字符串,并求合并后字符串的长度(最好简单一 -
谈科莫炎: #include#include main() {char a[100],b[30]; gets(a); gets(b); strcpy(a,b); gets(b); strcpy(a,b); printf("%d",strlen(a)); }

孝南区18398756822: C语言合并两个数组 -
谈科莫炎: #include<stdio.h>#include<string.h> void main() { int a, b,f, g; char c[50], d[50], e[100]; gets(c); int le=strlen(c); for(a=0;a<le;a++) { e[a]=c[a]; } gets(d); g=strlen(d); if(g>5) { for(b=0;b<=5;b++) { e[a+b]=d[b]; } } else { for(b=0;b<=g;b++) { e[a+b]=d[b]; } } ...

孝南区18398756822: C语言问题:合并两个升序排列的数列 -
谈科莫炎: #include void main() { int a[]={1,7,9,11,13,15,17,19}; int b[]={2,4,6,8,10}; int c[13]; int *x=a,*y=b,*z=c; int i=0,j=0,k=0; while(i{ if(x[i] else z[k++]=y[j++]; } while(iwhile(jfor(i=0;igetch(); }

孝南区18398756822: 关于C语言的一个问题:问题是1,2,3,4四个数字,将所有可以组成的且数字不重复的三位数全部输出. -
谈科莫炎: 按照你说的改是可以的啊 程序如下#include <stdio.h> void main() { int a, b, c, d, e; for ( a = 1; a <= 4; a ++ ) { for ( b = 1, e = 1; b <= e && e <= 4; b ++ , e ++ ) { for ( c = 1, d = 1; c <= d && d <= 4; c ++, d ++ ) { if ( a != b&& b != c && a!=c) { printf("%d\...

孝南区18398756822: c语言问题 输入a、b两个两位正整数,将它们合并形成一个新的整数放在c -
谈科莫炎: c=(a/10)*100+(a%10)+(b/10)*10+(b%10)*1000;printf("%d",c);

孝南区18398756822: C语言实现集合合并的问题 -
谈科莫炎: C语言没有提供这样的功能,只能自己写个函数了 但是我感觉你所谓的“合并”很模糊. 如果是12和34,合并是变成了46呢还是1234? 如果是char数组,难道合并以后这个变成了两个字符码? 把这些考虑清楚了就可以自己写个函数,如果不会...

孝南区18398756822: c语言基础问题 如何合并字符 -
谈科莫炎: 1.d=(table[0]-'0')*100+(table[1]-'0')*10+(table[2]-'0');2.char table[4]; table[0] = 'a'; table[1] = 'b'; table[2] = 'c'; table[3] = '\0'; 这时,table计算字符串了.

孝南区18398756822: 打扰一下问个问题,如何将两个独立的C语言程序合并为一个程序 -
谈科莫炎: 建个工程,将两个C程序都加进来,这个操作在“工程”菜单中就有,只要两个程序中只有一个main就成.

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