求高手帮忙编个程序 C++的。。。。谢谢了

编写一个计算中国十个城市户均住房数排序的程序,要求完成下列功能:1.查找基础数据,请自己选择十个城市,找出这十个城市的住房总套数和家庭总户数。(宏观经济数据库)2.对十个... 编写一个计算中国十个城市户均住房数排序的程序,要求完成下列功能:
1. 查找基础数据,请自己选择十个城市,找出这十个城市的住房总套数和家庭总户数。(宏观经济数据库)
2. 对十个城市户均住房数排序从低到高进行排序。要求用冒泡法编写一个排序函数,这个函数为一个用户自定义函数。
3.写一个主函数,在这个主函数中请声明结构体数组,或数组。可以用初始化的方法把你获得的基础数据赋值给你声明的结构体数组,或数组。然后调用排序函数对户均住房数排序。
4.要求在主函数中输出排序后的十个城市户均住房数信息。包括城市名称、住房总套数、家庭总户数、户均住房数。
麻烦要完全版的。。直接粘到C++可以运行的
展开
 我来答
fallx
2010-06-15 · TA获得超过5488个赞
知道大有可为答主
回答量:2321
采纳率:73%
帮助的人:864万
展开全部
看到你的补充,我忍不住也想补句:
要不要帮你把书也读了或者是班也上了啦?!
COUNT!!!!!!!!!!!

这个题目说白了就,就是定义一个两维float数组a[10][2],一个一维string数组city[10]存放相应的城市名
a[i][0]=某城住房总数(让用户赋值,或者程序随机产生
a[i][1]=某城家庭总数(同上)
对a[i][0]/a[i][1]这个结果排序.
排序过程中,相应,city[i]也跟随排序变化作位置调整
输出city[i],a[i][0]/a[i][1]
再简单点,可以再做一个float数组b[10]存放a[i][0]/a[i][1]
...
如果要写结构体或者是类的话,
直接定义
class City{
private:
string name;
double rooms;
double families;
public:
City(string name1="未命名",double rooms1=0,doublefamilies1=0):name(name1),rooms(rooms1),families(families1){}
friend void const Sort(City &a)
void const display()
{
cout<<rooms/families<<endl;
}
};
friedn void const Srot(City &a)
{
冒泡排序....太简单了!
}
主程序中定义 City a[10];
输入数据;
排序;
输出;
.....
叫咬咬的鹿
2010-06-11 · TA获得超过155个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:99.2万
展开全部
找了两个,你看哪个好就用哪个吧
第一个
#include <stdio.h>
#include <string.h>

struct City
{
char[20] name;
int sumnumber;
int sumfamily;
float average;
};
void sort()
{
int j,n,s,;
float k;
string str;

for(j=0;j<10;j++)
{
for(i=0;i<9-j;i++)
if(city[i]->average>city[i]->average)
{ k=city[i]->average;
city[i]->average=city[i+1]->average;
city[i+1]->average]=k;

}
}
return 0;
}
void main()
{
int i,j,k
City city[10];
for (i=0;i<10;i++)//输入
{
scanf("%s",&city[i]->name);
scanf("%d",&city[i]->sumnumber);
scanf("%d",&city[i]->sunfamily);
city[i]->average=city[i]->sumnumber/city[i]->sunfamily;
}
sort(city);
for (i=0;i<10;i++)//输出
{
printf("%f",city[i]->average);
}
}
第二个
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char ZF[100];
char JT[100];
}student;

void paixu(student stu[],int n)
{
int t,j=0;
while(j<n)
{
for(int i=j+1;i<n;i++)
{
if(stu[i].ZF<stu[j].ZF)
{
t=stu[i].ZF;
stu[i].XF=stu[j].ZF;
stu[j].ZF=t;
}
}
printf("\n%s\t%s\t%s\t%f",stu[j].ZF,stu[j].JT);
j++;
}
}

int main()
{
int n,i;
printf("请输入城市总数N:");
scanf("%d",&n);
student stu[n];
for(i=0;i<n;i++)
{
getchar();
printf("\n请输入城市%d的住房总套数:",i+1);
gets(stu[i].XH);
printf("请输入城市%d的家庭总户数:",i+1);
gets(stu[i].XM);

}
printf("\n按住房数由低到高排列有:\n城市名称\t住房总套数\t家庭总户数\t胡军住房数\n");
paixu(stu,n);
printf("\n\n");
system("pause");
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dawudianfen
2010-06-16
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
#include <string>
#include <iostream>
using namespace std;
struct city
{
string CityName;
long int FlatNum;
long int FamilyNum;
float average;
}C[10];
void sort(city c[])
{
for(int i=0;i<9;i++)
{
for(int I=0;I<9-i;I++)
{
if(c[I].average<c[I+1].average)
{
city k;
k=c[I];
c[I]=c[I+1];
c[I+1]=k;
}
}
}
}
int main()
{
cout<<"请输入要比较的十个城市名称:"<<endl;
for(int i=0;i<10;i++)
{
cin>>C[i].CityName;
}
cout<<"请依次输入十个城市的住房总套数及其对应的家庭数"<<endl;
for(int i=0;i<10;i++)
{
cout<<"请输入"<<i+1<<"个城市的住房总套数及其对应的家庭数:"<<endl;
cin>>C[i].FlatNum;
cin>>C[i].FamilyNum;
}
for(int i=0;i<10;i++)
{
C[i].average=(float)C[i].FlatNum/C[i].FamilyNum;
}
sort(C);
cout<<"按人均住房数目的大小依次输出城市的信息:"<<endl;
for(int i=0;i<10;i++)
{
cout<<C[i].CityName<<" "<<C[i].FlatNum<<" "
<<C[i].FamilyNum<<" "<<C[i].average<<endl;
}
system("pause");
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2010-06-18
展开全部
数理的吧。。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式