在线跪求!c语言编程实现两个字符串连接
// void fun(char p1[], char p2[]) 的最后一行p2[j]='\0';// 改为:p1[n]='\0';
#include void fun(char p1[], char p2[]){int i=0,j=0,n=0;while(p1[i]!=0){i++;n++;}while(p2[j]!=0){p1[n]=p2[j];n++;j++;}p1[n]='\0';}main(){char s1[80], s2[40] ;void NONO (); printf("Enter s1 and s2:
"); scanf("%s%s", s1, s2); printf("s1=%s
", s1); printf("s2=%s
", s2); printf("Invoke fun(s1,s2):
"); fun(s1, s2); printf("After invoking:
"); printf("%s
", s1); //NONO();}
选自:《程序逻辑及C语言》,本视频为字符串的第04小节。主要讲解四个常用的字符串处理函数,包括:求字符串的长度、字符串的赋值、字符串的连接已经字符串大小的比较。具体有案例讲解。
思路:先找到第一个字符串的结束位置,接着把第二个字符串的所有字符复制到第一字符串后面,最后加上字符串结束标志'\0'。
参考代码:
#include "stdio.h"
void *fun(char *s1,char *s2){
int i=0,j=0;
while(s1[i++]);
i--;
while(s2[j])
s1[i++]=s2[j++];
s1[i]='\0';
}
int main() {
char a[200],b[100];
gets(a);
gets(b);
fun(a,b);
puts(a);
return 0;
}
/*
运行结果:
qwerewr
asdfghj
qwerewrasdfghj
*/
最简单的就是在输出在屏幕上的时候实现连接
以下程序为保证正确亲自上机用VC6.0运行过,很正确。
结果,屏幕显示:loveyou
#include<stdio.h>
void main()
{
int i,j;
char* s1 = "love" ;
char* s2 = "you" ;
for(i=0;i<4;i++)
printf( "%c" , *(s1+i) );
for(j=0; j<3; j++)
printf( "%c" , *(s2+j) );
printf ("\n");
}
#include <stdio.h>
int main()
{
char str1[100]="love",str2[100]="you"; //把str2 连接到 str1 里面哈
char *p1=str1, *p2=str2;
while(*p1 != '\0') p1++;
while(*p2 != '\0')
{
*p1 = *p2;
p1++;
p2++;
}
*p1 = '\0';
puts(str1);
// 第二个while 可以写成:
// while((*p1++ = *p2++) != '\0');
// 后面的 *p1 = '\0'; 也就不需要了
// 能理解上面的就好 下面的好好理解下
return 0;
}
37 #include <sys/libkern.h>
38
39 char *
40 strcat(char * __restrict s, const char * __restrict append)
41 {
42 char *save = s;
43
44 for (; *s; ++s);
45 while ((*s++ = *append++) != 0);
46 return(save);
47 }
C语言作业,编程题 帮帮孩子吧
);}\/\/运行示例:第3题:include <stdio.h>int a[6],b[6],c=0,d=0;double avg;int fun(int arr[6][6]){int i,j,s,sum=0;for(i=0;i<6;i++){s=0;for(j=0;j<6;j++){s+=arr[i][j];sum+=arr[i][j];if(i==j) c+=arr[i][j];if(i+j==5) d+=arr[i]...
数据结构与算法作业:用C语言编程随机生成一个迷宫,然后找出从入口到出...
几点说明:1.本程序是动态的,运行后自动寻找迷宫出路 2.本程序对C语言刚学完的有很大的意义.3.四周是墙,坐标(1,1)是入口,右下脚是出口 声明:本程序用VC调试是无法通过的需要修改 本程序调试工具是TC...include "graphics.h"include "dos.h"include "stdlib.h"include "process.h"define MAX...
C语言编程题:定义一个5╳5的矩阵,求对角线上的元素之和。
for(i=0;i<5;i++)for(j=0;j<5;j++){ printf("%d\\t",a[j]);if(j==4)printf("\\n");} printf("\\n");s1=a[0][0]+a[0][4]+a[1][1]+a[1][3]+a[2][2]+a[3][1]+a[3][3]+a[4][0]+a[4][4];printf("此数组对角线之和值为:%d\\n",s1);} ...
C语言编程:输入5行5列矩形的各元素值,求对角线上的值最小的元素及起在...
include <stdio.h> int main(void){ int a[5][5],i,j,sumr=0,suml=0,min,x,y;for (i=0;i<5;++i)for(j=0;j<5;++j)scanf("%d",&a[i][j]);for (i=0;i<5;++i){ sumr+=a[i][i];suml+=a[i][4-i];} printf("左对角线:%d\\n右对角线:%d\\n",sumr,suml);for...
用C语言编程,根据两个10*10的矩阵x,y,构造新的10*10矩阵z,设z对角线...
typedef struct _matrix2D matrix2D; \/\/一个结构体类型matrix2D BOOL initMatrix(matrix2D* pm, int h, int w); \/\/初始化pm为h×w的零矩阵 void delMatrix(matrix2D* pm); \/\/矩阵的内部数据空间全部是动态分配的,所以退出之前一定要删除矩阵 int getData(matrix2D* pm, int x, int y); \/...
用C语言编程:求一个3行3列的矩阵对角线的元素之和。
int a[3][3]; \/\/设矩阵的数据存于数组中 int sum=0;for (int i=0;i<3;i++){ for (int j=0;j<3;j++){ if (i==j) sum+=a[i][j];} } \/\/sum就是要求的对角线之和。
求一个c语言编程,题目是“求一个3x3矩阵对角线元素之和”
include <stdio.h> main(){ int a[3][3]={1,3,3,2,4,3,5,3,2};int i,j;int sum=0;printf("\\n");for(i=0;i<3;i++){ printf("\\n");for(j=0;j<3;j++)printf("%5d",a[i][j]);} printf("\\n");for(i=0;i<3;i++)sum=sum+a[i][2-i];for(i=0;i<3...
C语言编程:求N键方阵对角线的和
在这里假设 a[N][N];是一个n阶方阵,结果保存在sum里面。类型你自己定义吧。sum=0;\/\/下面是主对角线 for(i=0;i<N;i++){ sum+=a[i][i];} \/\/如果,还需要把副对角线也加起来的话。就需要下面的循环。for(i=0;i<N;i++){ sum+=a[i][N-i];} \/\/如果N是奇数的话,则最...
C语言编程星号图形,大神快粗线呀呀呀。。。
include "stdio.h"void main(){ int n,i,j;printf("input n=");scanf("%d",&n);\/\/读入n的值 if(n%2==0){ printf("input is nor correct.\\n");return;}\/\/如果n是偶数 报错退出 n=n\/2+1;\/\/菱形的层数必须是奇数 先打印出上半部分 for(i=1;i<=n;i++){ printf("%*s",...
C语言编程实现一个斜对角线旋转的立方体
include <stdlib.h> 调试通过.观看方法:方向键及小键盘区的数字键1和2控制立方体的旋转方向,"+"键和"-"键可改变立方体的颜色 (该程序使用的是一点透视)include <graphics.h> include <bios.h> include <dos.h> include <conio.h> include<math.h> define ESC 0x11b define X_axis_0 0x4800...
征蔡止咳: 思路:两个字符串的拼接可以使用strcat函数. strcat函数原型: char *strcat(char *s1,char *s2); 需要引入头文件:#include <string.h> 功能:把s2所指字符串添加到s1结尾处并添加'\0'. 注意:s1必须有足够的空间来容纳s1和s2的字符串. 参...
哈密地区17746677614: c语言编写一个程序:实现两个字符串的连接谢谢了,大神帮忙啊 - ?
征蔡止咳: #includevoid main() { char *p1,*p2,s1[100],s2[100]; printf("输入字源符zhidao串1:"); scanf("%s",s1); printf("输入字符串2:"); scanf("%s",s2); for(p1=s1;*p1;p1++); for(p2=s2;*p2;*p1++=*p2++); *p1='\0'; printf("连接后的字符串:%s",s1); }
哈密地区17746677614: 编写一个函数,将两个字符串连接起来.C语言题目 急急急!!!!!!!!!!在线等麻烦写完整的,我用的是win - tc. - ?
征蔡止咳: char *concat(char *source,char *destin) { while(*source); do{ *source++=*destin; }while(*destin++); }
哈密地区17746677614: c语言:编程实现输入两个字符串,输出其中较小者 - ?
征蔡止咳: #include "stdio.h" #include "string.h" void main() {char a[100],b[100];int comp;printf("Please input 2 string:\n");scanf("%s%s",a,b);comp=strcmp(a,b);if(comp>0)printf("The bigger is %s\n",a);else if(comp<0)printf("The bigger is %s\n",b);elseprintf("%s=%s\n",a,b);getch(); }
哈密地区17746677614: C语言中如何将两个字符串加在一起 - ?
征蔡止咳: 可以文件中的strcat函数 char *a="123"; char *b = "abc"; strcat(a,b)即可,更多的字符串操作可以看一下string.h头文件中 有好多封好的, 如果不想用的话就可以自己写一个函数 函数内容:1.获取两个字符串的总长度,如total_len=len1+len2然后申请一个动态的数组大小为total_len 然后把字符串中的内容依次放进去就可以了.
哈密地区17746677614: C语言编程:编一程序,将两个字符串联接起来,不要用Strcat函数. - ?
征蔡止咳: 思路:输入两个字符串a和b,首先找到第一个字符串a的结束位置,接着把b的所有元素放到a的末尾,最后加上结束标志. 参考代码: #include<stdio.h> void mystrcat(char a[],char b[]){int i=0,j=0;while(a[i++]!='\0');//找到a的结束位置i--;...
哈密地区17746677614: 用C编程实现两个字符串的连接,急!!! - ?
征蔡止咳: #include <stdio.h>#define MAX_LENGTH 40 int getstr(char str[], int n) { int i; char c; for(i=0; i<n-1; i++) { c = getchar(); if (c == '\n') { break; } else { str[i] = c; } } str[i] = '\0'; return i; } void MyStrcat(char dstStr[], char srcStr[]) { char *p, *q; if ((dstStr == ...
哈密地区17746677614: C语言问题 编写一程序将两个字符串连起来 - ?
征蔡止咳: 一、用strcat函数: #include "stdio.h" #include "string.h" int main(int argc,char *argv[]){char a[100]="abcdefg",b[]="1234567";printf("%s\n",strcat(a,b));return 0; }二、不用strcat函数: #include "stdio.h" int main(int argc,char *...
哈密地区17746677614: 求用C语言交换两个字符串 谢谢?
征蔡止咳: 先包含头文件“string.h” 然后直接调用库函数strcpy 具体操作: 交换str1和str2 先定义中间变量str3 strcpy(str3,str1); strcpy(str1,str2); strcpy(str2,str3);
哈密地区17746677614: 用C语言写出一函数,将两个字符串连接,该怎么写 - ?
征蔡止咳: void concat(char *s1, int size1, char *s2, int size2, char *sout) {int i;for (i = 0; i < size1; ++i)sout[i] = s1[i];for (i = 0; i < size2; ++i)sout[i + size1] = s2[i];sout[i] = '\0'; } 示例使用方法: char *s1 = "ABCD"; char *s2 = "12345"; char sout[100];...