思路:两个字符串的拼接可以使用strcat函数。
strcat函数原型: char *strcat(char *s1,char *s2)
需要引入头文件:#include <string.h>
功能:把s2所指字符串添加到s1结尾处并添加'\0'。
注意:s1必须有足够的空间来容纳s1和s2的字符串。
参考代码:
#include "stdio.h"
#include "string.h"
int main() {
char s1[200],s2[100]
gets(s1)
gets(s2)
strcat(s1,s2)
puts(s1)
return 0
}
/*
运行结果:
asfds
123423
asfds123423
*/
编程序。输入两个字符串(长度<40),连接后输出。void main(){
char a[40],b[40],c[80]
int i=0,j=0
scanf("%s",a)
scanf("%s",b)
while (a[i]!='\0'){
c[i]=a[i]
i++
}
while (b[j]!='\0'){
c[i+j]=b[j]
j++
}
c[i+j]='\0'
printf("%s",c)
}
C语言输入两个字符串两个逆序后在链接输出#include <stdio.h>
#include <string.h>
#define N 100
/* input o strings */
int input(char* a, char* b)
{
printf("Please input o strings: ")
scanf("%s %s", a, b)
return 0
}
/* invert a string */
int invert(char* b)
{
int s = strlen(b)
int i
char c
for (i=0i<s/2i++) {
c = b[i]
b[i] = b[s-i-1]
b[s-i-1] = c
}
return 0
}
/* catenate o strings */
int cat(char* a, char* b)
{
strcat(a, b)
return 0
}
/* main function */
int main()
{
char a[N], b[N]
input(a, b)
invert(a)逆序A
invert(b)逆序B
cat(a, b)链接AB
printf("Result: ")
puts(a)
return 0
}
求汇编程序编写输入一个字符串,再输出DATAS SEGMENT
STR DB 'please input a string:$'
BUF DB 20
DB ?
DB 20 DUP (?)
CRLF DB 0AH,0DH,"$"
此处输入数据段代码
DATAS ENDS
STACKS SEGMENT STACK
DB 200 DUP(?) 此处输入堆栈段代码
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START: MOV AX,DATAS
MOV DS,AX
LEA DX,STR
MOV AH,9
INT 21H
MOV AH,10
LEA DX,BUF
INT 21H
LEA DX,CRLF
MOV AH,9
INT 21H
mov bl,BUF+1 输出这里开始
mov bh,0
lea si,BUF+2 首地址
mov byte ptr[si+bx],'$'结尾得加上 '$'
mov DX,si
MOV AH,9
INT 21H 结束
MOV AH,4CH
INT 21H
CODES ENDS
END START
在C++平台编程:输入两个字符串(长度<40),连接后输出。(不得使用系统函数strcat())#include <iostream>
using namespace std
void MyStrcat(char *,char *)
int main()
{
char a[40],b[40]
puts("字符串a: ")gets(a)
puts("字符串b: ")gets(b)
cout<<endl
puts(a)
puts(b)cout<<endl<<endl
MyStrcat(a,b)
puts(a)cout<<endl
return 0
}
void MyStrcat(char *a,char *b)
{
int i,j
for(i=0a[i]i++)
for(j=0b[j]j++,i++)
a[i]=b[j]
a[i]='\0'
}
编写一个程序,用于接受两个字符串,然后比较这两个字符串,输出比较结果
#include <stdio.h>
void main()
{
char a[100]
char b[100]
cout<<"请输入字符串a:"
cin>>a
cout<<"请输入字符串b:"
cin>>b
int res =strcmp(a,b)
if(res >0)
cout<<"a大于b"
else if(res <0)
cout<<"a小于b"
else
cout<<"a等于b"
}
使用指针编程:输入两个字符串,将较大的字符串打印出来。然后将两个字符串合并,并将合并后的结果输出#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
char str1[128] = {0}
char str2[128] = {0}
printf("请输入字符串1:")
scanf("s", str1)
printf("请输入字符串2:")
scanf("s", str2)
if(strlen(str1) <strlen(str2))
printf("%s\n",str2)
else
printf("%s\n",str1)
strcat(str1,str2)
printf("%s\n",str1)
}
编写程序c++语言定义两个字符数组存放于键盘输入两个字符串,将他们连接起来输出#include "stdio.h"#include "string.h"void main(){ char str1[100]char str2[100]printf("请输入str1")gets(str1)printf("请输入str2")gets(str2)strcat(str1,str2)puts(str1)}
编程实现输入两个字符串,输出较小者,怎么编程啊,求大神指导gets(char *str)
从流中获取字符串
putchar(ch[i])
打印一个字符
strlen(char *str)
判断字符串的长度
char *strcpy(char *destination, const char *source)
拷贝串
char *strcat(char target, const char *source)
将一个串的内容追加到另一个串上
char *strncat(char *destination,const *source,size_t n)
将字符穿追家n个字符。
size_t strxfrm(char *target,char *source,size_t n)
把一个字符穿转移到另一个字符穿
int streql(char *str1, char *str2)
比较两个字符穿是否相同
int strieql(char *str1, char *str2)
不区分大小写比较两个字符串是否相同
char *strlwr(char *str)
char *strupr(char *str)
将字符穿转换为大写或小写
int strcmp(const char *str1,const *char str2)
比较两个字符串
java中,从键盘中输入5个字符串存入数组中.然后反向输出这5个字符串(编程序).望高手指点import java.util.Scanner
public class a{
public static void main(String[] args) {
Scanner sc=new Scanner(System.in)
String[] str= new String[5]
System.out.println("请从控制台输入5个字符串,按回车确认!")
for(int i=0i<5i++){
str[i]=sc.nextLine()
}
for(int j=4j>=0j--){
System.out.println(str[j])
}
}
}
#include<stdio.h>int main()
{int a,b
scanf("%d%d",&a,&b)
printf("从大到小是:")
if(a>b)
printf("%d %d\n",a,b)
else
printf("%d %d\n",b,a)
return 0
}
#include <stdio.h>
int main()
{
int a,b
scanf("%d%d",&a,&b)
if(a>b)
printf("%d\n",a)
else
printf("%d\n",b)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)