首页 热点资讯 义务教育 高等教育 出国留学 考研考公

C++ 字符数组 排列

发布网友 发布时间:2022-04-22 06:14

我来回答

4个回答

热心网友 时间:2024-08-28 10:11

#include <iostream>
#include <string>
#include <map>

using namespace std;
struct commodity
{char name[10];
float number;
};

int main()
{
commodity goods[5]={{"jack",1},{"tom",2},{"lupus",3},{"peter",4},{"saile",5}};
map<string,float> m;
for(int i=0;i<5;i++)
m.insert(pair<string,float>(goods[i].name,goods[i].number));

map<string,float>::iterator iter;
for(iter=m.begin();iter!=m.end();iter++)
cout<<iter->first<<' '<<iter->second<<endl;

return 0;
}

热心网友 时间:2024-08-28 10:10

选择排序,比较的条件要注意
#include<iostream>
using namespace std;

struct commodity //定义商品结构体
{char name[10];
float number;
};
int main()
{
int i,j,min;
struct commodity goods[5]={{"jack",1},{"tom",2},{"lupus",3},{"peter",4},{"saile",5}},tmp;
for(i=0;i<4;i++)
{
min=i;
for(j=i+1;j<5;j++) if(strlen(goods[j].name)<strlen(goods[i].name)||strlen(goods[j].name)==strlen(goods[i].name)&&strcmp(goods[j].name,goods[i].name)<0) min=j;
if(min!=i)
{
tmp=goods[i];
goods[i]=goods[min];
goods[min]=tmp;
}
}
for(i=0;i<5;i++)
printf("%s %f\n",goods[i].name,goods[i].number);
return 0;
}

热心网友 时间:2024-08-28 10:11

不知道楼主熟悉不熟悉STL,这种结构强烈建议使用STL里的map或hashmap

热心网友 时间:2024-08-28 10:04

#include<iostream>
using namespace std;

struct commodity //定义商品结构体
{char name[10];
float number;
};
int main(){
commodity goods[5]={{"jack",1},{"tom",2},{"lupus",3},{"peter",4},{"saile",5}};
int cmin=255;
int cminno=0;
commodity gtemp;
for(int i=0;i<5;i++){
cmin=255;
cminno=0;
for(int j=4;j>=i;j--){
if(goods[j].name[0]<=cmin){
cminno=j;
cmin=goods[j].name[0];
}
}
gtemp=goods[i];goods[i]=goods[cminno];goods[cminno]=gtemp;
}
for(int i=0;i<5;i++){
cout<<goods[i].name<<goods[i].number<<endl;
}

}

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com