2020-10-16

输入字符串按字母大小排列输出
在strcpy那一段就看不懂他要干什么了

**#include cstdio>
#include <iostream>
#include <cmath>
#include <iomanip>
#include <cstring>**
using namespace std;
int main(){
	char t[21], cname[11][20];
	for(int i = 1 ; i < = 10 ; ++ i)
		 gets ( cname [i] ) ;
    for(int i = 1 ;i < = 9 ;++ i  ){

		int k=i;
		***for(int j =i+1 ;j<=10 ;++j)
			if(strcmp(cname[k],cname[j])>0)k=j;
		strcpy(t,cname[i]);
		strcpy(cname[i],cname[k]);
		strcpy(cname[k],t);***


    }
    for( int i=1 ;i<=10 ;i++)
		cout<<cname[i]<<" ";
	return 0;

}

2
getline(cin , cname [i]) 是什么意思

(已解决)

二、cin.getline()
用法:接收一个字符串,可以接收空格并输出

#include <iostream>
using namespace std;
main ()
{
char m[20];
cin.getline(m,5);
cout<<m<<endl;
}

输入:jkljkljkl
输出:jklj

接收5个字符到m中,其中最后一个为’\0’,所以只看到4个字符输出;

如果把5改成20:
输入:jkljkljkl
输出:jkljkljkl

输入:jklf fjlsjf fjsdklf
输出:jklf fjlsjf fjsdklf

延伸:
1、cin.getline()实际上有三个参数,cin.getline(接收字符串的变量,接收字符个数,结束字符)
2、当第三个参数省略时,系统默认为’\0’
3、如果将例子中cin.getline()改为cin.getline(m,5,‘a’);当输入jlkjkljkl时输出jklj,输入jkaljkljkl时,输出jk

三、getline()
用法:接收一个字符串,可以接收空格并输出,需包含**“#include”**

#include<iostream>
#include<string>
using namespace std;
main ()
{
string str;
getline(cin,str);
cout<<str<<endl;
}

输入:jkljkljkl
输出:jkljkljkl

输入:jkl jfksldfj jklsjfl
输出:jkl jfksldfj jklsjfl

四、注意的问题
1、cin.getline()属于istream流,而getline()属于string流,是不一样的两个函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值