题目一:
将一个字符串与单词同时翻转,例如 welcome to cvte 输出为 cvte to welcome。
题目二:
实现字符串处理函数,将任意输入的两个字符串拼接,并且做反转处理,比如输入参数1为:“Hello”、参数2为World”,返回值为“dlroWolleH ”。要求:不能使用库函数。
题目三:
逆序字符串,词组不逆序,输入的时候可以使用回车。
题目一;
#include <stdio.h>
#include <string.h>
int main(void){
char p[100] ="welcome to cvte";
char *a;
char *b;
char *c;
a=strtok(p," ");
b=strtok(NULL," ");
c=strtok(NULL,"\0");
c=strcat(c," ");
c=strcat(c,b);
c=strcat(c," ");
c=strcat(c,a);
c=strcat(c," ");
printf("%s\n",c);
return 0;
}
题目二
#include<stdio.h>
char c[500];
int strlen2(char * a){
int j=0,i=0;
for(i=0;i<500;i++){
if(a[i]=='\0'){
break;
}else{
j=j+1;
}
}
return j;
}
char * strcat2(char *a,char *b){
int i=0,k=0;
for(i=0;i<strlen2(a);i++){
c[i]=a[i];
k=i;
}
// printf("%d\n",k);
k=k+1;
for(i=0;i<strlen2(b);i++){
c[k]=b[i];
k++;
}
return c;
}
int main(void){
int k=0;
char a[100];
char b[100];
int i=0;
char temp;
scanf("%s%s",a,b);
k=strlen2(a);
for(i=0;i<k/2;i++){
k--;
temp=a[i];
a[i]=a[k];
a[k]=temp;
}
// printf("1111%s\n",a);
k=strlen2(b);
for(i=0;i<k/2;i++){
k--;
temp=b[i];
b[i]=b[k];
b[k]=temp;
}
// printf("2222%s\n",b);
// printf("%d\n",strlen2(a));
printf("%s",strcat2(a,b));
return 0;
}
题目三:
#include<stdio.h>
#include<string.h>
int fun1(char * a){
int i=0,j=0;
while(a[i]!='\0'){
i++;
if(a[i]==' '){
j++;
}
}
return j;
}
char * fun2(char *a){
char temp;
int k,i;
k=strlen(a);
printf("%d\n",k);
for(i=0;i<k/2;i++){
temp=a[i];
a[i]=a[k-1];
a[k-1]=temp;
k--;
}
k=strlen(a);
a[k]='\0';
printf("6666%s\n",a);
return a;
}
int main(void){
int i=0,j=0,k=0,g=0;
char d[100]={0};
char *b[50]={NULL};
char * c={0};
char *a;
char e[120]={0};
char temp;
a=fgets(d,100,stdin);
j=fun1(a);
b[0]=strtok(a," ");
for(i=1;i<j;i++){
b[i]=strtok(NULL," ");
printf("hhhh%s\n",b[i]);
}
b[j]=strtok(NULL,"\n");
k=strlen(b[0]);
for(i=0;i<j+1;i++){
printf("%s\n",b[i]);
b[i]=fun2(b[i]);
}
c=b[0];
printf("00000");
for(i=1;i<j+1;i++){
c=strcat(c,b[i]);
c=strcat(c," ");
}
printf("111111100%d\n",strlen(b[0]));
printf("%d\n",k);
g=strlen(b[0]);
for(i=k;i<strlen(b[0]);i++){
temp=c[g];
c[g]=c[g-1];
g--;
}
c[k]=' ';
printf("%s\n",c);
return 0;
}
好像有点小bug,以后有时间再改吧