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遊戲均沒問題,速度很快。從裝一下系統就好了。再著整理一下磁碟碎片。我暈 這中配置也能算還好。顯示卡和記憶體太差!你玩什麼遊戲?玩吧 自認為我家機... include 標頭檔案要載入到最前面,因為你的第一個jia的函式就呼叫了printf函式。另外,不知道那個是什麼,但是這個stdio是標準c的標頭檔案,應該使用這個。int jia 這裡的float改成了int,因為你最終的返回值是int型的。之前你的函式里你傳遞了。s這個值,這是不必要的,因為無... 樓主說得不夠詳細,升級你得說明你是什麼配置,用得啥子記憶體喲。是ddr ddr2 ddr3呀。想用什麼系統呀。要是xp的老機,ddr的建議1g記憶體就夠了,現在價錢不合適。要是ddr2的話可以考慮升到2g記憶體,價錢比ddr合適。要是新機的話,建議直接上4g的ddr3使用win7,畢竟4g的不值多少...請高手進來一下,高手指點一下謝謝
C語言高手看一下
我想升級一下記憶體,有些問題還請高手指點,謝謝