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

時間 2021-09-11 22:33:34

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++)

請高手指點一下怎么改這個程序,c語言

樓主的想法是想輸入一組字串,然後把他逆序存放?還是?看你的 有點暈 可以說明一下麼?還有 gets 函式是輸入字串,而你直接付給陣列的一個字元會出錯,gets c 才可以,因為gets 接受的是字元型別的指標 你那樣寫必定會出錯 include include include void main p...

釣魚高手指點一下

餌料使用不含拉絲粉的,開餌後儘量少揉搓,讓餌料保持比較好的霧化效果化得比較快 開餌的時候餌裡面加上50 的尺上或者雪花粉,這樣餌料比較輕,不會沉到水底醬層中魚吃起來比較方便 調漂的時候調高目釣低目,釣的靈敏一些 釣的時候把鉛墜推起來,也就是把鉛墜下面的太空豆往上拉半米到一米,這樣等於加長了子線,鉤餌...

求作文高手指點一下 謝謝,作文,求高手指點!!

校門對於我們學生來說是一道不可以缺少的記憶。作文,求高手指點!其實無論生活中什麼細小的事都可以說成是長大的轉折點,就要看你的記敘描寫能力了,記敘描寫的好,整個文章也就顯得有水平了。一篇我沒時間,就點拔點拔你啦。長大 寫經過挫折之後成熟了。第二個我不懂。扣住題目寫。最後結尾把題目抄一遍。參加作文競賽,...