struct str
{
int a[50];
char b[MAX][LEN];
}
然后根据a对结构体排序就可以
也可以用map或者multimap来实现#include<cstdio>
#include<iostream>
#include<string>
using namespace std;
int main()
{
char a[100],b[100];
int i=0,l;
gets(a);
l=strlen(a);
while (a[i]!='\0')
{
b[l-i-1]=a[i];
i++;
}
b[i]='\0';
puts(b);
system("pause");
return 0;
}
类型不匹配。
对于字符串,不能直接用=赋值, 而是必须用strcpy。
比如
strcpy(temp,x);strcpy(x,y);
strcpy(y,temp);void swap(char s,char c) //用指针传址实现交换
{
int i,j,m;
char t;
for(i=0;s[i]!='\0';i++);// 你没告诉我能不能用strlen 函数 我就纯手编了
for(j=0;c[j]!='\0';i++);// 也可以用 i=strlen(s) ; j=strlen(c);
m=i>ji:j;
for(i=0;i<m;i++) // m为最大值,s[m]==c[m]=='\0',结束符就可以不用换了吧= =||
{
t=s[i];
s[i]=c[i];
c[i]=t;
}
}
// 调用:
char a[100],b[100];
gets(a);
gets(b);
puts(a);
puts(b);
swap(a,b);
puts(a);
puts(b);
最后还有一个问题要注意一下,两个要交换的字符数组的长度应该相同,或则说最长的字符串串长要比最短的数组的长度要短才行首先两个数组的长度要一样交换才有意义,循环遍历数组
int temp; //数组是什么类型temp就定义什么类型
for(int i=0; i<ary1length; i++){
temp = ary1[i];
ary1[i] = ary2[i];
ary2[i] = temp;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)