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

2024-11-18 13:45:18
推荐回答(4个)
回答1:

看到你的补充,我忍不住也想补句:
要不要帮你把书也读了或者是班也上了啦?!
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< }
};
friedn void const Srot(City &a)
{
冒泡排序....太简单了!
}
主程序中定义 City a[10];
输入数据;
排序;
输出;
.....

回答2:

找了两个,你看哪个好就用哪个吧
第一个
#include
#include

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
#include
typedef struct
{
char ZF[100];
char JT[100];
}student;

void paixu(student stu[],int n)
{
int t,j=0;
while(j {
for(int i=j+1;i {
if(stu[i].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 {
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");
}

回答3:

#include
#include
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 {
city k;
k=c[I];
c[I]=c[I+1];
c[I+1]=k;
}
}
}
}
int main()
{
cout<<"请输入要比较的十个城市名称:"< for(int i=0;i<10;i++)
{
cin>>C[i].CityName;
}
cout<<"请依次输入十个城市的住房总套数及其对应的家庭数"< for(int i=0;i<10;i++)
{
cout<<"请输入"< 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<<"按人均住房数目的大小依次输出城市的信息:"< for(int i=0;i<10;i++)
{
cout< < }
system("pause");
}

回答4:

数理的吧。。。。