发布网友 发布时间: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;
}
}