其他分享
首页 > 其他分享> > 指针

指针

作者:互联网

#include<stdio.h>
#include<stdlib.h>
//输出4个学生5门成绩
int print(int m[4][5])
{
int i,j;
for(i=0;i<4;i++)//行
{
for(j=0;j<5;j++)//列
{
printf("%3d",m[i][j]);
}
printf("\n");
}
}
//输出第一门课程的平均分
double average(int m[4][5])
{
int i;
double sum=0,aver;
for(i=0;i<4;i++)
{
sum+=m[i][0];//第一门课的总分
}
aver=sum/4;//第一门课的平均分
return aver;
}
//两门及两门以上不及格学生信息
int fail(int m[4][5])
{
int i,j,n;
for(i=0;i<4;i++)
{
n=0;
for(j=0;j<5;j++)
{
if(m[i][j]<60)
++n;
if(n>=2)
{
printf("第%2d个学生%5d%5d%5d%5d%5d%\n",i+1,m[i][0],
m[i][1],m[i][2],m[i][3],m[i][4]);
break;
}
}
}
}
//每门课程均大于85分的学生信息
int allpass85(int m[4][5])
{
int i;
for(i=0;i<4;i++)
{
if(m[i][0]>85 && m[i][1]>85 && m[i][2]>85 &&
m[i][3]>85 && m[i][4]>85)
printf("第%2d个学生",i+1);
}
printf("\n");
}
//平均成绩大于90分的学生信息
int great90(int m[4][5])
{
int i,j;
double summ,aver;
for(i=0;i<4;i++)
{
summ=0;
for(j=0;j<5;j++)
{
summ+=m[i][j];
}
aver=summ/5;
if(aver>=90)
{
printf("第%2d个学生",i+1);
for(j=0;j<5;j++)
printf("%5d",m[i][j]);
printf("\n");
}
}
}

int menu()
{
printf("\n 学生成绩管理系统\n\n");
printf(" *****************************\n");
printf("\n");
printf(" 1.输出4个学生5门成绩\n");
printf("\n");
printf(" 2.第一门课程的平均分\n");
printf("\n");
printf(" 3.有两门及以上不及格学生的信息\n");
printf("\n");
printf(" 4.每门成绩均大于85分的学生信息\n");
printf("\n");
printf(" 5.平均成绩大于90分的学生信息\n");
printf("\n");
printf(" 0.退出\n");
printf(" *****************************\n");
}

int menu_bye()
{
printf("*****************************\n");
printf(" 欢迎使用本系统!\n");
printf("\n");
printf(" 再见\n");
printf("*****************************\n");
}

int main()
{
menu();
int n;
int (*point)[5];//二维数组指针
int score[4][5]={
{86,87,86,99,98},
{48,59,59,82,80},
{99,81,89,99,96},
{58,90,90,85,55}};

point=score;//二维数组指针指向该二维数组

while(1)//大循环
{
printf(" 请输入(0--5);");
scanf("%d",&n);
if(n<0||n>5)
printf("没有此值,请重新输入!\n");
switch(n)
{
case 0:
system("cls");
menu_bye();
exit(0);//退出系统函数
break;
case 1:
printf("4个学生5门课成绩\n\n");
print(point);//调出输出函数
break;
case 2:
printf("\n第一门课程的平均分:");
double avg;
avg=average(point);
printf("%.1f",avg);
printf("\n");
break;
case 3:
printf("\n有两门及两门以上不及格的学生\n");
fail(point);
break;
case 4:
printf("\n每门课程均大于85分\n");
allpass85(point);
break;
case 5:
printf("\n平均成绩大于90分的学生\n");
great90(point);
break;

}
}
}

 

 

 

 

结果:

 

标签:point,int,学生,break,printf,指针,85
来源: https://www.cnblogs.com/-Qiqiqiiklki/p/16114072.html