字符串问题
#include<iostream>#include<stdio.h>
using namespace std;
void sort(char*book[],int num);
int main()
{
int i,n;
char q[20][100];
cin>>n;
char *name[100];
for(i=0;i<=n;i++) //此处若改成i<n时,为什么输入就只能输入n-1组数据了呢?不是可以输入0,1,2,...(n-1)吗?
{
name[i]=gets(q[i]);
}
puts(q[0]);//为什么输出来的q[0]是空号?
sort(name,n);
for(i=0;i<=n;i++)
cout<<name[i]<<endl;
return 0;
}
void sort(char *book[],int num)
{
int a,b;
char *temp;
for(a=0;a<num-1;a++)
{
for(b=0;b<num-1-a;b++)
if(strcmp(book[b],book[b+1])==1)
{
temp=book[b];
book[b]=book[b+1];
book[b+1]=temp;
}
}
}
程序功能是输入书名,进行排序并输出,问题出现在上面注释出,麻烦帮帮忙,谢谢。
[ 本帖最后由 jfckpep 于 2011-7-15 12:34 编辑 ]