devc++ c语言 字符串排序
发布网友
发布时间:2024-08-01 15:31
我来回答
共4个回答
热心网友
时间:2024-08-01 18:49
什么乱七八糟的 去学VB 啊 容易
热心网友
时间:2024-08-01 18:46
你把字符a[i]当成字符串了,基础概念问题
#include <string.h>
void main()
{
int n,i,j,p;
string *ss; //定义一个字符串数组,注意是string*,不是string
string str; //选择法排序时交换用的临时字符串
cin>>n;
ss=new string [n]; //申请n个字符串空间
for(i=0;i<n;i++)
cin.get(ss[i]);//输入n个字符串
for(i=0;i<n-1;i++) //选择法排序
{
p=i;
for(j=i+1;j<n;j++)
{
if(strcmp(&ss[p],&ss[j])>0) p=j;}
if(p!=i)
{
str=ss[p];
ss[p]=ss[i];
ss[i]=str;
}
}
for(i=0;i<n;i++) //显示排序后的字符串
cout<<ss[i]<<endl;
}
热心网友
时间:2024-08-01 18:47
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <stdlib.h>
int main()
{
int n,i,j;
char b[80];
char **a;
scanf("%d",&n);
a = (char **)malloc(sizeof(char *) * n);
for(i=0;i<n;i++)
{
a[i] = (char *)malloc(sizeof(char *) * 80);
scanf("%s",a[i]);
}
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(strcmp(a[i],a[j])>0)
{
strcpy(b, a[i]);
strcpy(a[i], a[j]);
strcpy(a[j], b);
}
}
}
for(i=0;i<n;i++)
{printf("%s\n",a[i]);}
for(i=0;i<n;i++)
{
free(a[i]);
}
free(a);
system("PAUSE");
}
热心网友
时间:2024-08-01 18:47
scanf("%s",&a[i]);
a 是char 型,&取址,往指向只有一个字符大小的空间里写字符串,运行时是会出错的