学习
来源:互联网 发布:大数据与人工智能 编辑:程序博客网 时间:2024/06/01 10:26
1、C和C++中struct不同:
C中struct结构体中是不能声明函数,而C++中的结构体是可以声明函数的。
2、struct和class的不同:
结构体默认情况下成员是public,而在class中成员默认的是private。
3、qsort函数
1)声明
void qsort(void *base,size_t num,size_t width,int (*fcmp)(const void *,const void *));
2)参数说明
base:待排序的数组
num:数组个数
width:单个元素所占的大小
fcmp:指向比较函数的函数指针(自己实现)
4、setw(n)
1)用到的头文件是#include <iomanip>
2)函数说明:设置输出字符宽度,n表示相应的值,默认是右对齐,可以使用cout.setf(ios::left);这种方式设置输出为左对齐。
5、练习代码:
示例说明:利用快排方式来排序球队名词,首先是按照球队的积分高低排名,积分相同的则按照净胜球排名,净胜球相同按照进球数排名,如果净胜球也还相同的话,按照球队名称排序。
</pre><pre name="code" class="cpp">#include <iostream>#include <iomanip>//头文件是用setw用的using namespace std;struct FootballTeam{char TeamName[20];//队名int nPoint;//积分int nAddBall;//净胜球int nInBall;//进球数}Team[10];int comp(const void* p1,const void* p2){FootballTeam * t1 = (FootballTeam*)p1;FootballTeam * t2 = (FootballTeam*)p2;int n1 = t1->nPoint - t2->nPoint;int n2 = t1->nAddBall - t2->nAddBall;int n3 = t1->nInBall - t2->nInBall;if(n1)return n1;else if(n2)return n2;else if(n3)return n3;elsereturn strcmp(t1->TeamName,t2->TeamName);}int main(){int nNum = 0;cout << "请输入球队数量:";cin >> nNum;cout << "输入球队积分信息:" <<endl;for (int i = 0;i <nNum;i++){cin >>Team[i].TeamName >> Team[i].nPoint >>Team[i].nAddBall >>Team[i].nInBall;}qsort(Team,nNum,sizeof(FootballTeam),comp);cout << endl;cout.setf(ios::left);cout << setw(10) << "队名" << setw(10) << "积分" << setw(10) << "净胜球" << setw(10) << "进球数" << endl;for(int n = nNum - 1;n >= 0 ;n--){cout.setf(ios::left);cout << setw(10) << Team[n].TeamName << setw(10) <<Team[n].nPoint << setw(10) << Team[n].nAddBall << setw(10) << Team[n].nInBall << endl;}cout << endl;return 0;}
0 0
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习
- 学习。。。
- hog行人检测
- oracle优化14
- 设计,界面,体验
- Ubuntu14.10 google chrome的安装与启动栏添加
- [C#]Log4net中的RollingFileAppender解析
- 学习
- vsftpd 配置文件详细说明(史上最全附例子)
- 多态性:运算符重载为类的友元函数
- oracle优化16
- getFragmentManager与getChildFragmentManager
- Docker实践8:Compose
- oracle优化15
- 关于IAP的一些事儿
- android http code响应码 状态码