#includestdio.h
成都創(chuàng)新互聯(lián)是專(zhuān)業(yè)的龍州網(wǎng)站建設(shè)公司,龍州接單;提供成都做網(wǎng)站、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專(zhuān)業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行龍州網(wǎng)站開(kāi)發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專(zhuān)業(yè)做搜索引擎喜愛(ài)的網(wǎng)站,專(zhuān)業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
int main()
{
int a[10],i,j,t,k;
printf("請(qǐng)以次輸入10個(gè)學(xué)生的成績(jī):");
for(i=0;i10;i++)scanf("%d",a[i]);
for(i=0;i9;i++)
{
k=i;
for(j=i;j10;j++)
if(a[j]a[k])k=j;
if(i!=k)
{
t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("由高到低排序輸出成績(jī):\n");
for(i=0;i10;i++)
printf("%d\n",a[i]);
return 0;
}
#includeiostream
#includestring
#includeiomanip
#includefstream
using namespace std;
int n; //n個(gè)學(xué)校
int m; //m個(gè)男子項(xiàng)目
int w; //w個(gè)女子項(xiàng)目
struct pro //表示項(xiàng)目的結(jié)構(gòu)體
{
string name; //項(xiàng)目名稱(chēng)
int snum[6]; //前5名學(xué)校的編號(hào)
}p[21];
struct school //表示學(xué)校的結(jié)構(gòu)體
{
int num;
string name; //學(xué)校名稱(chēng)
int score; //學(xué)校總分
int male; //男子總分
int female; //女子總分
}sch[21];
int integral[5]={7,5,3,2,1};//前五名得分
void input()
{
int i,j,y,x;
printf("輸入學(xué)校數(shù)目:");
y=0;
while(1)
{
scanf("%d",n);
if(n=1n=20)y=1;
if(y)break;
else printf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");
}
for(i=1;i=n;i++)
{
printf("輸入第%d個(gè)學(xué)校的名稱(chēng):",i);
cinsch[i].name;
sch[i].score=0;
sch[i].female=0;
sch[i].male=0;
sch[i].num=i;
}
printf("輸入男子項(xiàng)目數(shù)和女子項(xiàng)目數(shù):");
y=0;
while(1)
{
scanf("%d%d",m,w);
if(m=20m=1w=20w=1)y=1;
if(y)break;
else printf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");
}
for(i=1;i=m+w;i++)
{
printf("輸入第%d個(gè)項(xiàng)目的名稱(chēng):\n",i);
cinp[i].name;
printf("輸入第%d個(gè)項(xiàng)目的前5名的學(xué)校編號(hào):\n",i);
for(j=1;j=5;j++)
{
y=0;
while(1)
{
scanf("%d",x);
if(x=1x=20)y=1;
if(y)break;
else printf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");
}
p[i].snum[j]=x;
sch[x].score+=integral[j-1];
if(i=m)sch[x].male+=integral[j-1];
else sch[x].female+=integral[j-1];
}
}
}
void print(int i)
{
coutsch[i].numsetw(10)sch[i].namesetw(8)sch[i].scoresetw(9)
sch[i].malesetw(10)sch[i].femaleendl;
}
void bianhao() //按編號(hào)排序
{
int i,j;
school t;
for(i=1;in;i++)
{
for(j=i;j=n;j++)
if(sch[i].numsch[j].num)
{t=sch[i];sch[i]=sch[j];sch[j]=t;}
}
printf("\n按編號(hào)排列:\n");
printf("編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分\n");
for(i=1;i=n;i++)
print(i);
}
void zongfen() //按學(xué)??偡峙判?/p>
{
int i,j;
school t;
for(i=1;in;i++)
{
for(j=i;j=n;j++)
if(sch[i].scoresch[j].score)
{t=sch[i];sch[i]=sch[j];sch[j]=t;}
}
printf("\n按學(xué)??偡峙帕?\n");
printf("編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分\n");
for(i=1;i=n;i++)
print(i);
ofstream fout;
fout.open("運(yùn)動(dòng)會(huì)分?jǐn)?shù)統(tǒng)計(jì).txt");
fout"編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分"endl;
for(i=1;i=n;i++)
{foutsch[i].numsetw(13)sch[i].namesetw(8)sch[i].scoresetw(9)
sch[i].malesetw(10)sch[i].femaleendl; }
fout.close();
}
void malezf() //按學(xué)校男總分排序
{
int i,j;
school t;
for(i=1;in;i++)
{
for(j=i;j=n;j++)
if(sch[i].malesch[j].male)
{t=sch[i];sch[i]=sch[j];sch[j]=t;}
}
printf("\n按學(xué)校男子總分排列:\n");
printf("編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分\n");
for(i=1;i=n;i++)
print(i);
}
void femalezf() //按學(xué)校女總分排序
{
int i,j;
school t;
for(i=1;in;i++)
{
for(j=i;j=n;j++)
if(sch[i].femalesch[j].female)
{t=sch[i];sch[i]=sch[j];sch[j]=t;}
}
printf("\n按學(xué)校女子總分排列:\n");
printf("編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分\n");
for(i=1;i=n;i++)
print(i);
coutendl;
}
void cxsch() //查詢(xún)學(xué)校信息
{
int i,y,s;
printf("輸入需要查詢(xún)的學(xué)校編號(hào):");
y=0;
while(1)
{
scanf("%d",s);
if(s=1s=n)y=1;
if(y)break;
else printf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");
}
printf("該學(xué)校相關(guān)信息:\n");
printf("編號(hào) 學(xué)校名稱(chēng) 總分 男子總分 女子總分\n");
for(i=1;i=n;i++)
{
if(sch[i].num==s)
{
print(i);
break;
}
}
coutendl;
}
void cxxm() //查詢(xún)項(xiàng)目信息
{
int i,y,s;
printf("輸入需要查詢(xún)的項(xiàng)目編號(hào):");
y=0;
while(1)
{
scanf("%d",s);
if(s=1s=n)y=1;
if(y)break;
else printf("輸入數(shù)據(jù)有誤,請(qǐng)重新輸入:");
}
coutp[s].name"前5名學(xué)校編號(hào)及名稱(chēng)為:"endl;
printf("名次 編號(hào) 學(xué)校名稱(chēng)\n");
for(i=1;i=5;i++)
cout" "i" "p[s].snum[i]setw(12)sch[ p[s].snum[i] ].nameendl;
coutendl;
}
void solve() //菜單函數(shù)
{
int z;
while(1)
{
printf("\n選擇您需要的操作(選擇序號(hào)):\n");
printf("1.按學(xué)校編號(hào)排序輸出\n");
printf("2.按學(xué)??偡峙判蜉敵鯸n");
printf("3.按學(xué)校男總分排序輸出\n");
printf("4.按學(xué)校女總分排序輸出\n");
printf("5.查詢(xún)某個(gè)學(xué)校成績(jī)\n");
printf("6.查詢(xún)某個(gè)項(xiàng)目成績(jī)\n");
printf("7.結(jié)束\n\n");
scanf("%d",z);
if(z==1)bianhao();
if(z==2)zongfen();
if(z==3)malezf();
if(z==4)femalezf();
if(z==5)cxsch();
if(z==6)cxxm();
if(z==7)break;
}
}
int main() //主函數(shù)
{
input();
solve();
return 0;
}
#include?bits/stdc++.h
using?namespace?std;
struct?data{
char?st1[233],st2[233];
double?a,b,c;
}a[233];
int?mycomp(const?dataa,const?datab){
return((a.a+a.b+a.c)(b.a+b.b+b.c));
}
int?main(){???
int?n=1;
while?(scanf("%s%s%lf%lf%lf",a[n].st1,a[n].st2,a[n].a,a[n].b,a[n].c)!=EOF)
??n++;
n--;
sort(a+1,a+n+1,mycomp);
for?(int?i=1;i=n;i++)
printf("%s?%s?%.2lf?%.2lf?%.2lf\n",a[i].st1,a[i].st2,a[i].a,a[i].b,a[i].c);
}
#include?"stdio.h"
#include?stdlib.h
#include?string.h
#include?"time.h"
struct?abcd{
char?ID[11],name[17];
int?s1,s2,s3,s4,s5;
double?ave;
struct?abcd?*next;
};
void?inp(struct?abcd?(*p)[45]){
int?i,j,k,t;
char?id[11]="0000000000";
for(i=0;i4;i++){
for(j=0;j45;j++){
if(++id[9]'9')
for(k=9;k0;k--)
id[k]-=10,id[k-1]++;
strcpy(p[i][j].ID,id);
for(t=0,k=rand()%16;k;k--)
p[i][j].name[t++]=rand()%26+'A';
p[i][j].name[t]='\0';
p[i][j].s1=rand()%101;
p[i][j].s2=rand()%101;
p[i][j].s3=rand()%101;
p[i][j].s4=rand()%101;
p[i][j].s5=rand()%101;
}
}
}
void?average(struct?abcd?(*p)[45]){
int?i,j;
for(i=0;i4;i++)
for(j=0;j45;p[i][j].ave=(p[i][j++].s1+p[i][j].s2+p[i][j].s3+p[i][j].s4+p[i][j].s5)/5.0);
}
void?selsort(struct?abcd?(*p)[45]){//4個(gè)班統(tǒng)一選擇排序
int?i,j,k,t;
struct?abcd?q;
for(t=0;t4;t++)
for(i=0;i45;i++){
for(k=i,j=k+1;j45;j++)
if(p[t][k].avep[t][j].ave)
k=j;
if(k!=i)
q=p[t][k],p[t][k]=p[t][i],p[t][i]=q;
}
}
void?bubsort(struct?abcd?(*p)[45]){//4個(gè)班統(tǒng)一冒泡排序
int?i,j,t;
struct?abcd?q;
for(t=0;t4;t++)
for(i=0;i45;i++)
for(j=0;j44;j++)
if(p[t][j].avep[t][j+1].ave)
q=p[t][j],p[t][j]=p[t][j+1],p[t][j+1]=q;
}
void?getlink(struct?abcd?(*p)[45],struct?abcd?*x){//弄成鏈表
int?i,j,k,t;
struct?abcd?q;
for(t=i=0;i4;i++)//把4個(gè)班的成績(jī)拷貝到臨時(shí)數(shù)組x中
for(j=0;j45;x[t++]=p[i][j++]);
for(i=0;it;i++){//對(duì)數(shù)組x降序排序
for(k=i,j=k+1;jt;j++)
if(x[k].avex[j].ave)
k=j;
if(k!=i)
q=x[k],x[k]=x[i],x[i]=q;
}
for(i=1;it;x[i-1].next=x+i++);//把數(shù)組p搞成單鏈表
x[i-1].next=NULL;
}
int?main(int?argc,char?*argv[]){
struct?abcd?c[4][45],t[4*45],*p;
int?k;
srand((unsigned)time(NULL));
inp(c);
average(c);
bubsort(c);
selsort(c);//這是脫了褲子FP,無(wú)論用什么方法排序結(jié)果是一樣的,不懂為何這么出題
getlink(c,t);
printf("----------Look?at...----------\n");
for(k=0,p=t;p;p=p-next)//將鏈表中的值輸出
printf(++k%15???"%5.1f"?:?"%5.1f\n",p-ave);
if(k%10)
printf("\n");
return?0;
}
運(yùn)行樣例:
這種題打字太多……