重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
我们提供的服务有:成都网站设计、做网站、微信公众号开发、网站优化、网站认证、东营区ssl等。为千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的东营区网站制作公司
#includestring.h
#includemalloc.h
#define stuNum 3 //假设全班学生3人 太多我懒得输,反正测试,你想改多少自己改
#define nameLen 11 //学科名称的最大字符数 我预设最多5个中文字 不满意自己改
typedef struct xueke
{
char xkName[nameLen];//学科名称
float xkp;//学科平均分
}XK;
int main()
{
int y[stuNum],s[stuNum],w[stuNum],i,j;//定义语文 数学 外语 三学科
int numsave,sum[]={0,0,0};//记录三科成绩和
char *nameSave=(char *)malloc(sizeof(char)*nameLen);
XK xk[3];//记录三科名称及平均分
//录入成绩
printf("录入%d名学生的语文成绩:\n",stuNum);
for(i=0;istuNum;i++)
{
scanf("%d",y[i]);
sum[0]=sum[0]+y[i];
}
printf("录入%d名学生的数学成绩:\n",stuNum);
for(i=0;istuNum;i++)
{
scanf("%d",s[i]);
sum[1]=sum[1]+s[i];
}
printf("录入%d名学生的外语成绩:\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,"数学");
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("降序排列\n");
for(i=0;i3;i++)
{
printf("学科:%s 平均分:%.1f\n",xk[i].xkName,xk[i].xkp);
}
}
#include stdio.h
#define N 100
/*定义学生结构体*/
struct Student
{
int ID;
char Name[20];
float Mark1;
float Mark2;
float Mark3;
float Sum;
};
/*声明学生数组及学生数量*/
struct Student students[N];
//int num=0;
/*求总分*/
float Sums(struct Student stu)
{
return stu.Mark1+stu.Mark2+stu.Mark3;
}
/*输入学生信息*/
int Student_Input(){
int num=0;
while(1){
//printf("请输入学号:");
students[num].ID=num+1; //可以自行将学号改为手工输入
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("是否继续?(y/n)"); //继续输入数据?
if (getchar()=='n'){
break;
}
}
return num;
}
/*输出学生信息*/
void Student_Display(int n)
{
int i;
printf("%10s%10s%8s%8s%8s%8s\n","学号","姓名","成绩","成绩","成绩","总成线");
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; // 数学成绩
double E; // 英语成绩
};
typedef struct Student Student;
/* 学生的总成绩 */
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;
}