c語言高手指點一下想輸出最高分的名字和成績

2021-09-11 19:13:22 字數 4172 閱讀 7027

1樓:匿名使用者

有很多地方要改啊!!

#include

#define n 3

struct student

int number;

char name[20];

float score[3];

student* max(struct student *p)int i=0,j=0;

float max_score=0;

max_score=p->score[0];

for ( i=0; ifor ( j=0; j<3; j++ )if (p->score[j]>max_score)max_score=p->score[j];

p++;

return p;

int main()

student stu[n],*p=null;

int i=0,j=0;

for ( i=0; iprintf("請輸入第%d個學生的基本資訊:\n",i+1);

printf("學號:");

scanf("%d",&stu[i].number);

printf("姓名");

scanf("%s",&stu[i].name);

printf("三門科成績(eg:100 90 80):");

for( j=0; j<3; j++ )

scanf("%f",&stu[i].score[j]);

p=stu;

p=max(p);

--p;

printf("最高分的學生名字:%s\n",p->name);

printf("最高分的學生學號:%d",p->number);

return 0;

測試結果

2樓:匿名使用者

不知道你要的資訊管理功能都要求實現什麼功能,只是我前兩天做的,可以給你參考一下,用結構做的,其中統計功能是我做的,其他部分是老師編好的

/*預編譯命令*/

#include

#include

#include

#include

/*自定義資料型別*/

typedef struct studentstu,*stup;

typedef struct stulistsqlist;

/*自定義函式說明*/

int locatesqlist(sqlist l,char *xhp);

void disp(sqlist l);

int menu();

/*函式定義*/

/*選單函式*/

int menu()

else

break;

}return num;

}/*初始化函式*/

l.listsize=n;

l.length=0;

return 1;

}/*插入函式*/

if(i<=0||i>l.length+1)

for(j=l.length-1;j>=i-1;j--)

l.elem[j+1]=l.elem[j];

l.elem[i-1]=x;

l.length++;

return 1;

}/*建立函式*/

for(j=i;j<=l.length-1;j++)

l.elem[j-1]=l.elem[j];

l.length--;

return 1;

}/*查詢函式*/

int locatesqlist(sqlist l,char *xhp)

printf("最高分:%d\n\n最低分:%d\n\n平均分:%.2lf\n",max,min,sum/m.length);

printf("按任意鍵繼續:");

getch();

break;

case 2: if(m.length<2)

sum=0;

for(i=0;im.elem[i].cj[1])

min=m.elem[i].cj[1];

}printf("最高分:%d\n\n最低分:%d\n\n平均分:%.2lf\n",max,min,sum/m.length);

printf("按任意鍵繼續:");

getch();

break;

case 3: if(m.length<2)

sum=0;

for(i=0;im.elem[i].cj[2])

min=m.elem[i].cj[2];

}printf("最高分:%d\n\n最低分:%d\n\n平均分:%.2lf\n",max,min,sum/m.length);

printf("按任意鍵繼續:");

getch();

break;}}

/*主函式*/

void main()

break;

case 2: printf("\n請輸入待插入學生的資料:\n");

printf("學號:");

scanf("%s",x.xh);

for(i=0;i3)

tongji(bianhao1,l);

}//switch

}//while}

3樓:匿名使用者

錯誤確實不少

1、函式名不要跟變數名重複,衝突。

2、stu[100], 最多隻能取到stu[99]3、函式內部的變數是不能用在main()裡面的,這個printf("%f",&max);列印不出任何東西

還有一些邏輯方面的,自己對照**看看吧,希望對你有幫助!

#include

struct student

;float max(struct student *p)}printf("*");

return m_max;

}int main()

4樓:匿名使用者

這**寫入。。。沒法改。

c語言用一維陣列,輸入學生成績和姓名,將成績從高到低排序,對姓名做相應的調整,輸出排序後的成績姓名

5樓:三天打魚

一維陣列 按你理解應該怎麼儲存多個名字?

一維char是一個連續的字串 所以你使用b[i]訪問他的時候 只能讀取或寫入一個字元 而名字是有多個字元組成的。

用一維陣列表示字串是比較麻煩的 你可以先定義一個大的char陣列比如 char b[最大名字個數*10]

然後 再

for(int i=0;i<3;i++)

然後說一下 你gets(b[i]) 函式應該傳char* 也就是字元指標 而不是字元 應該是 &b[i]

再就是沒有看到宣告p變數

最後查一下排序有沒有問題吧

6樓:4747哦

#include

#include

#define num 5

main()

printf("排序為:\n");

for(i=0;i

printf("%.10s%f\n",name[i],score[i]);}

c語言、查詢輸出成績在85分以上含85學生的姓名和成績,要怎麼做求高手

7樓:海鵬資料恢復

1建立一個陣列

struct student

;struct studen list[100] ; // 建立一個100人的學生陣列

2插入資料

for(int i=0; i<100; i++)3遍歷屬數值, 顯示

for(int i=0; i<100; i++)

請高手進來一下,高手指點一下謝謝

卡的話從裝一下系統,你的電腦配置玩一般3d遊戲完全沒問題。我的電腦 cpu p4 記憶體256mb 顯示卡內建64mb 用去記憶體64mb 我玩 和其他3d遊戲均沒問題,速度很快。從裝一下系統就好了。再著整理一下磁碟碎片。我暈 這中配置也能算還好。顯示卡和記憶體太差!你玩什麼遊戲?玩吧 自認為我家機...

C語言高手看一下

include 標頭檔案要載入到最前面,因為你的第一個jia的函式就呼叫了printf函式。另外,不知道那個是什麼,但是這個stdio是標準c的標頭檔案,應該使用這個。int jia 這裡的float改成了int,因為你最終的返回值是int型的。之前你的函式里你傳遞了。s這個值,這是不必要的,因為無...

我想升級一下記憶體,有些問題還請高手指點,謝謝

樓主說得不夠詳細,升級你得說明你是什麼配置,用得啥子記憶體喲。是ddr ddr2 ddr3呀。想用什麼系統呀。要是xp的老機,ddr的建議1g記憶體就夠了,現在價錢不合適。要是ddr2的話可以考慮升到2g記憶體,價錢比ddr合適。要是新機的話,建議直接上4g的ddr3使用win7,畢竟4g的不值多少...