#includestdio.h
我們提供的服務(wù)有:成都網(wǎng)站設(shè)計、做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認證、東營區(qū)ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的東營區(qū)網(wǎng)站制作公司
#includestring.h
#includemalloc.h
#define?stuNum??3?//假設(shè)全班學(xué)生3人??太多我懶得輸,反正測試,你想改多少自己改
#define?nameLen?11?//學(xué)科名稱的最大字符數(shù)??我預(yù)設(shè)最多5個中文字??不滿意自己改
typedef?struct?xueke
{
char?xkName[nameLen];//學(xué)科名稱
float?xkp;//學(xué)科平均分
}XK;
int?main()
{
int?y[stuNum],s[stuNum],w[stuNum],i,j;//定義語文?數(shù)學(xué)?外語?三學(xué)科
int?numsave,sum[]={0,0,0};//記錄三科成績和
char?*nameSave=(char?*)malloc(sizeof(char)*nameLen);
XK?xk[3];//記錄三科名稱及平均分
//錄入成績
printf("錄入%d名學(xué)生的語文成績:\n",stuNum);
for(i=0;istuNum;i++)
{
scanf("%d",y[i]);
sum[0]=sum[0]+y[i];
}
printf("錄入%d名學(xué)生的數(shù)學(xué)成績:\n",stuNum);
for(i=0;istuNum;i++)
{
scanf("%d",s[i]);
sum[1]=sum[1]+s[i];
}
printf("錄入%d名學(xué)生的外語成績:\n",stuNum);
for(i=0;istuNum;i++)
{
scanf("%d",w[i]);
sum[2]=sum[2]+w[i];
}
strcpy(xk[0].xkName,"語文");
xk[0].xkp=(float)sum[0]/stuNum;
strcpy(xk[1].xkName,"數(shù)學(xué)");
xk[1].xkp=(float)sum[1]/stuNum;
strcpy(xk[2].xkName,"外語");
xk[2].xkp=(float)sum[2]/stuNum;
for(i=0;i3;i++)
{
for(j=i;j3;j++)
{
if(xk[i].xkpxk[j].xkp)//降序排列
{
numsave=xk[i].xkp;
memset(nameSave,0,nameLen);
strcpy(nameSave,xk[i].xkName);
xk[i].xkp=xk[j].xkp;
memset(xk[i].xkName,0,nameLen);
strcpy(xk[i].xkName,xk[j].xkName);
xk[j].xkp=numsave;
memset(xk[j].xkName,0,nameLen);
strcpy(xk[j].xkName,nameSave);
}
}
}
//打印
printf("降序排列\(zhòng)n");
for(i=0;i3;i++)
{
printf("學(xué)科:%s?平均分:%.1f\n",xk[i].xkName,xk[i].xkp);
}
}
#include?stdio.h?
#define?N?100
/*定義學(xué)生結(jié)構(gòu)體*/????
struct?Student????
{????
int??ID;???
char?Name[20];???
float?Mark1;????
float?Mark2;??
float?Mark3;?
float?Sum;????
};???
/*聲明學(xué)生數(shù)組及學(xué)生數(shù)量*/????
struct?Student?students[N];????
//int?num=0;??
/*求總分*/????
float?Sums(struct?Student?stu)???
{????
return?stu.Mark1+stu.Mark2+stu.Mark3;??
}????
/*輸入學(xué)生信息*/????
int?Student_Input(){??
int?num=0;
while(1){????
//printf("請輸入學(xué)號:");???
students[num].ID=num+1;?//可以自行將學(xué)號改為手工輸入
printf("請輸入姓名:");?
scanf("%s",students[num].Name);??
getchar();??
printf("請輸入成績1:");?
scanf("%f",students[num].Mark1);?
getchar();??
printf("請輸入成績2:");?
scanf("%f",students[num].Mark2);?
printf("請輸入成績3:");?
scanf("%f",students[num].Mark3);?
getchar();??
students[num].Sum=Sums(students[num]);???
num++;??
printf("是否繼續(xù)?(y/n)");?//繼續(xù)輸入數(shù)據(jù)?
if?(getchar()=='n'){??
break;??
}????
}??
return?num;??
}??
/*輸出學(xué)生信息*/???
void?Student_Display(int?n)???
{???
int?i;????
printf("%10s%10s%8s%8s%8s%8s\n","學(xué)號","姓名","成績","成績","成績","總成線");??
printf("---------------------------------------------------------\n");??
for?(i=0;in;i++)??
{??
printf("%10d%10s%8.2f%8.2f%8.2f%8.2f\n",students[i].ID,students[i].Name,??
students[i].Mark1,students[i].Mark2,students[i].Mark3,students[i].Sum);??
}??
}?
/*主程序*/????
int??main(){?
int?n=0;
n=Student_Input();
Student_Display(n);?
return?0;??
}
#include"stdio.h"
int main (void)
{
int a,b,c;//定義三個變量啊a,b,c分別存放三門課的成績
double sum,ave;//定義sum和ave分別存放三門成績的和與平均值
printf("請輸入三門課程的成績a= b= c= ");
scanf("%d%d%d",a,b,c);
sum=a+b+c;//求三門課程的和
ave=(a+b+c)/3.0;//求三門課程的平均值
printf("輸出三門課程的總分及平均分sum=%lf\nave=%lf\n",sum,ave); //將總分及平均法進行輸出
return 0;
}
struct Student{
char name[30];
double C; // 語文成績
double M; // 數(shù)學(xué)成績
double E; // 英語成績
};
typedef struct Student Student;
/* 學(xué)生的總成績 */
void Total(Student* st){
printf("總成績: %.2f\n", st-C+st-M+st-E);
}
void Avg(Student* st){
double x = (st-C+st-E+st-M)/3.0;
printf("平均分: %.2f\n", x);
}
void Pass(Student* st){
double x=0;
if(st-C = 60){
x++;
}
if(st-E =60){
x++;
}
if(st-M = 60){
x++;
}
printf("及格率為: %.2f\n", x/3.0);
}
int main(){
Student st;
strcpy(st.name, "xiaoming");
st.C = 70;
st.E = 59;
st.M = 100;
Total(st);
Avg(st);
Pass(st);
while(1);
return 0;
}