樓上的用的是C++
成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站的開發(fā),更需要了解用戶,從用戶角度來建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。創(chuàng)新互聯(lián)多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇創(chuàng)新互聯(lián),不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
若單純的用C那就是這樣
#includestdio.h
#define
"NO.%d
%d
%d
%d
%d
%3.2f
%3.2f\n",1+i,stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com,stu[i].aver,stu[i].total//宏定義節(jié)約時(shí)間
struct
student
{
int
num;
int
mat;
int
ENG;
int
com;
float
aver;
float
total;
}stu[10];//定義結(jié)構(gòu)體變量
void
main()
{
int
i;
void
take_turn_print(struct
student
stu1[10])
;
float
sum(int
x,int
y,int
z);//聲明求和函數(shù)
for(i=0;i10;i++)
scanf("%d%d%d%d",stu[i].num,stu[i].mat,stu[i].ENG,stu[i].com);
for(i=0;i10;i++)
{
stu[i].total=sum(stu[i].mat,stu[i].ENG,stu[i].com);//調(diào)用求和函數(shù)
stu[i].aver=stu[i].total/3;
}
take_turn_print(stu);//調(diào)用排序
打印函數(shù)
}
void
take_turn_print(struct
student
stu1[10])
{
void
change(int
*x,int
*y);//聲明換位函數(shù)
void
change1(float
*x,float
*y);//聲明換位函數(shù)
int
i,j;
for(j=0;j9;j++)//冒泡排序
為理解簡單
就沒用別的排序方法
哈哈
{
for(i=0;i9-j;i++)
{
if(stu1[i].averstu1[i+1].aver)
{
change(stu1[i].num,stu1[i+1].num);//
值交換
change(stu1[i].mat,stu1[i+1].mat);//
值交換
change(stu1[i].ENG,stu1[i+1].ENG);//
值交換
change(stu1[i].com,stu1[i+1].com);//
值交換
change1(stu1[i].aver,stu1[i+1].aver);//
值交換
change1(stu1[i].total,stu1[i+1].total);//
值交換
}
}
}
for(i=0;i10;i++)
printf(print);//打印
}
void
change(int
*x,int
*y)
{
int
i;
i=*x;
*x=*y;
*y=i;//利用指針做變量替換
}
void
change1(float
*x,float
*y)
{
float
i;
i=*x;
*x=*y;
*y=i;//利用指針做變量替換
}
float
sum(int
x,int
y,int
z)
{
float
i;
i=(float)(x+y+z);
return(i);
}
前幾天也是幫同學(xué)做這樣的題
一模一樣
看來你也是WH大學(xué)的
#includestdio.h
void px(int a[])
{
int i,temp,j;
for(i=0;i10;i++)
{
for(j=i;j10;j++)
{
if(a[i]=a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
}
}
void main()
{
int i,a[10];
for(i=0;i10;i++)
{
printf("成績:");
scanf("%d",a[i]);
}
px(a);
for(i=0;i10;i++)
{
printf("%d",a[i]);
printf("\n");
}
}
你的錯(cuò)誤有點(diǎn)多,px(10)該改成px(a),還有for語句少打了括號,還有for語句里面的i和p的初值都應(yīng)該為0,而你的是1,編程序的時(shí)候要注意代碼的格式 排版 不然很難找錯(cuò)的 就像你的for語句少打了括號一樣 自己寫完了都不容易看出來
還有你那px函數(shù)里面的變量聲明了太多,沒必要 代碼看起來要簡單 可讀性才強(qiáng)
我?guī)湍惆褯]必要的刪了 看起來更舒服
for(i=0;iN;i++)
//開始外層for循環(huán),從i=0,每次加1,直到i=4
{
//外層循環(huán)體開始
for(j=0;jN-1-i;j++)
//開始外層for循環(huán),從j=0,每次加1直到i等于外層循環(huán)的N-j-1
{
//內(nèi)層循環(huán)體開始
if(stu[j].sumstu[j+1].sum)
//條件判斷
{
//如果整形數(shù)組前面的數(shù)比其后的小,執(zhí)行以下語句
temp=stu[j+1.sum];
//將比較大的數(shù)賦值給temp
stu[j+1].sum=stu[j].sum;
//將比較小的數(shù)賦值給數(shù)組中后面的變量
stu[j].sum=temp;
//將比較大的數(shù)賦值給數(shù)組中前面的變量
}for(i=0;iN;i++)printf("%d%d",stu[i].學(xué)號,stu[i].姓名);}
#include?stdio.h
void?mysort(int?*p,int?n){
int?i,j,k;
for(i=0;in;i++){
for(k=i,j=k+1;jn;j++)
if(p[k]p[j])
k=j;
if(k-i)
j=p[k],p[k]=p[i],p[i]=j;
}
}
int?main(int?argc,char?*argv[]){
int?a[10]={100,90,80,70,60,50,40,30,20,10,},i;
mysort(a,10);
for(i=0;i10;printf("%d?",a[i++]));
printf("\n");
return?0;
}
#include?stdio.h
#include?stdlib.h
#include?time.h
void?sort(int?a[],int?n)
{?int?i,j,t;
for(i=0;?in-1;?i++) //共進(jìn)行n-1輪
{?for(j=0;?jn-1-i;?j++) //j的范圍:0~n-1-i
if(a[j]a[j+1]) //比較相鄰兩數(shù):a[j]、a[j+1],如不對就交換
{?t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
int?main()
{?int?n,i,a[10000];
scanf("%d",n);
srand(time(0));
for(i=0;?in;?i++)
{?a[i]=rand()%100;
printf("%4d",a[i]);
}
printf("\n");
sort(a,n);
for(i=0;?in;?i++)
printf("%4d",a[i]);
printf("\n");
return?0;
}
for(j=i+1;jn;j++)
{
if(a[j+1]a[i])//a[j+1]改成a[j]
{
t=a[i];
a[i]=a[j+1];//a[j+1]改成a[j]
a[j+1]=t;//a[j+1]改成a[j]
}
}