标题:[求助]cin,getline()的用法
只看楼主
永恒傻神仙
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2005-5-21
 问题点数:0 回复次数:0 
[求助]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);
}
搜索更多相关主题的帖子: cin getline 用法 字符 int 
2005-05-31 08:57



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-19739-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024074 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved