人數編程題
A. C語言編程題
要輸入的分數太多,我懶得手數,用2位隨機數代替手輸入,輸入函數我單獨寫了,你需要調用就行了,詳細看備注。
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#definestuNum15//學生人數
#definescNum7//模塊數
typedefstructstu//定義學生數據結構
{
intsid;//學生ID
intsc[scNum];//對應7個模塊成績
intsum;//總成績
}STU;
voidinsertSTU(STU*stu);//輸入15個學生的信息
voidinsertTest(STU*stu);//測試,用隨機數代替輸入,我懶得輸入那麼多成績,你要手輸,調用insertSTU替換該函數
voidprintfSTU(STU*stu);//按輸入順序列印15名學生7模塊成績及每個模塊前三名的成績
intmain()
{
STUstu[stuNum];//定義15個學生
//inti,j,sc;
srand(time(NULL));
insertTest(stu);//想手動輸入這里改成insertSTU(stu)
printfSTU(stu);
return0;
}
voidprintfSTU(STU*stu)//按輸入順序列印15名學生7模塊成績及每個模塊前三名信息及總分前三名信息
{
inti,j,k,sc;
STU*max[3],*sum[3],newstu;//max對應7個模塊前3的學生結構指針sum對應總分前3學生結構指針
for(i=0;i<stuNum;i++)
{
printf("編號%02d的學生7模塊成績及總分分別為:",stu[i].sid);
for(j=0;j<scNum;j++)
{
sc=stu[i].sc[j];
printf("%02d",sc);
}
printf("%d
",stu[i].sum);
}
for(j=0;j<scNum;j++)
{
for(k=0;k<scNum;k++)
{
newstu.sc[k]=0;
newstu.sum=0;
}
max[0]=max[1]=max[2]=&newstu;
for(i=0;i<stuNum;i++)
{
if(stu[i].sc[j]>max[0]->sc[j])
max[0]=&(stu[i]);
elseif(stu[i].sc[j]>max[1]->sc[j])
max[1]=&(stu[i]);
elseif(stu[i].sc[j]>max[2]->sc[j])
max[2]=&(stu[i]);
}
printf("模塊%02d前3名分別為:編號:%02d分數:%02d編號:%02d分數:%02d編號:%02d分數:%02d
",j+1,max[0]->sid,max[0]->sc[j],max[1]->sid,max[1]->sc[j],max[2]->sid,max[2]->sc[j]);
}
sum[0]=sum[1]=sum[2]=&newstu;
for(i=0;i<stuNum;i++)
{
if(stu[i].sum>sum[0]->sum)
sum[0]=&(stu[i]);
elseif(stu[i].sum>sum[1]->sum)
sum[1]=&(stu[i]);
elseif(stu[i].sum>sum[2]->sum)
sum[2]=&(stu[i]);
}
printf("總分前3名分別為:編號:%02d總分:%02d編號:%02d總分:%02d編號:%02d總分:%02d
",sum[0]->sid,sum[0]->sum,sum[1]->sid,sum[1]->sum,sum[2]->sid,sum[2]->sum);
}
voidinsertSTU(STU*stu)//輸入15個學生的信息
{
inti,j,sc;
for(i=0;i<stuNum;i++)
{
stu[i].sid=i+1;
stu[i].sum=0;
printf("輸入編號%d的學生的7個模塊成績:",i+1);
for(j=0;j<scNum;j++)
{
//scanf("%d",&sc);//我懶得輸入那麼多成績,就用隨機數代替,你要輸入把這句恢復
sc=(int)(rand()%100);//用隨即2位數代替輸入,不需要就注釋掉
stu[i].sc[j]=sc;
stu[i].sum=stu[i].sum+sc;
}
}
}
voidinsertTest(STU*stu)//測試用代替輸入
{
inti,j,sc;
for(i=0;i<stuNum;i++)
{
stu[i].sid=i+1;
stu[i].sum=0;
for(j=0;j<scNum;j++)
{
sc=(int)(rand()%100);
stu[i].sc[j]=sc;
stu[i].sum=stu[i].sum+sc;
}
}
}
B. C語言編程題目
#include "stdio.h"
void main(){
int n,x,y,z,flag=1;
printf("enter n:");
scanf("%d",&n);
for(x=0;x<=24;x++){
for(y=0;y<=60;y++){
for(z=0;z<=1200;z++){
if(5*x+2*y+0.1*z==120&&x+y+z<=n) printf("%d\t%d\t%d\n",x,y,z);
else {flag=0; break;}
}
}
}
if(flag==0) printf("no output!");
}
