学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
轻松建立自己的群组,招兵买马   
发新话题
打印

[求助]cin,getline()的用法

[求助]cin,getline()的用法

    这是用于字符串排序的程序,输入n的字符串排序,用函数实现,函数参数为二维数组和字符串个数。
    我的程序运行时只能输入n -1个字符串,第一和第二次只能输入一个,我知道是cin.getline()的问题,可是由于初学,还不懂,请哪位朋友帮忙解释一下,谢谢

#include<iostream.h>
#include<string.h>
void px(char s[50][50],int n)
{
char *p[50],*p1;
int i,j,k;

for(i=0;i<n;i++)
  p[i]=&s[i][0];
for(i=0;i<n;i++)
{
  k=i;
  for(j=i+1;j<n;j++)
   if(strcmp(p[k],p[j])>0)
    k=j;
   if(k!=i)
   {
    p1=p[i];
    p[i]=p[k];
    p[k]=p1;
   }
}
cout<<"排序后的字符串为:\n";
for(i=0;i<n;i++)
  cout<<p[i]<<endl;
}
void main()
{
char s[50][50];
int i,n;
cout<<"请输入需要排序的字符串的个数:";
      cin>>n;
   for(i=0;i<n;i++)
   {
    cout<<"请输入第"<<i+1<<"字符串:"<<'\n';
    cin.getline(s[i],50);
   }
   px(s,n);
}

TOP

发新话题