扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
main()
创新互联是一家专业从事网站设计、网站建设、网页设计的品牌网络公司。如今是成都地区具影响力的网站设计公司,作为专业的成都网站建设公司,创新互联依托强大的技术实力、以及多年的网站运营经验,为您提供专业的成都网站建设、营销型网站建设及网站设计开发服务!
{
int
a[10][5],b[10];
int
i,j,h,f=0;
for(i=0;i10;i++)
{
printf("请输入第%d个学生的成绩\n",i+1);
b[i]=0;
for(j=0;j5;j++)
{
scanf("%d",a[i][j]);
b[i]=b[i]+a[i][j];
}
}
for(i=0;i10;i++)
{
printf("第%d个学生的成绩",i+1);缉供光佳叱簧癸伪含镰
printf("总:%d",b[i]);
printf("平:%d",b[i]/5);
}
for(i=0;i9;i++)
{
for(j=i+1;j10;j++)
{
if(b[i]b[j])
{
h=b[j];
b[j]=b[i];
b[i]=b[j];
}
}
}
printf("总成绩为%d最大",b[0]);
}
#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"
#include "stdlib.h"
#define N 3
struct student
{
char num[6];
char name[10];
int score[3];
float average;
}stu[N];
int main(void)
{
void print(struct student stu[10]);
int i,j;
for(i=0;iN;i++)
{
printf("input No.: ");
scanf("%s",stu[i].num);
printf("Name: ");
scanf("%s",stu[i].name);
for(j=0;j3;j++)
{ printf("input score: ");
scanf("%d",stu[i].score[j]); }
}
print(stu);
system("pause");
return 0;
}
void print(struct student stu[10])
{
float ave=0;
int i,j,temp=0;
int fscore;
for(i=0;iN;i++)
{ ave=0;
for(j=0;j3;j++)
{
ave+=stu[i].score[j];
stu[i].average=ave/5;
}
}
for(i=0;iN;i++)
{
printf("No. %s Name:%s average:%5.2f\n",
stu[i].num,stu[i].name,stu[i].average);
for(j=0;j3;j++)
printf("score: %d\n",stu[i].score[j]);
}
fscore=stu[0].score[0];
for(i=0;iN;i++)
{for(j=0;j3;j++)
if(fscorestu[i].score[j])
temp=i;
}
printf("\nthe best student is : \n");
printf("No. %s Name:%s average:%5.2f\n",
stu[temp].num,stu[temp].name,stu[temp].average);
printf("input score:\n");
for(j=0;j3;j++)
printf("score: %d\n",stu[temp].score[j]);
}
以前写的 现在学C++了
运行结果应该是如图吧(为了验证方便,改了一下输入数据的量)
给你的程序稍加改动了一些,你只需将数组的下标参照下面程序修改一下即可使用了。
#include stdio.h
#include stdlib.h
void ssa(float s[5][5]);
void cmm(float s[5][5]);
void ca(float s[5][5]);
int main()
{
float s[5][5];
int i,j;
for(i=0;i5;i++) /*数组赋初值*/
for(j=0;j5;j++)
s[i][j]=0.0;
for(i=0;i2;i++) /*输入2个学生3门成绩*/
for(j=0;j3;j++)
scanf("%f",s[i][j]);
ssa(s); /*调用函数计算每个学生的总分和平均分*/
cmm(s); /*调用函数计算每门课程的最高分和最低分*/
ca(s); /*调用函数计算每门课程的平均分*/
for(i=0;i5;i++) /*输出运行结果*/
{
printf("\n");
for(j=0;j5;j++)
printf("%8.1f",s[i][j]);
}
system("pause");
return 0;
}
void ssa(float s[5][5])
{
int i;
for(i=0;i2;i++) /*这里要加大括号{}*/
{
s[i][3]=s[i][0]+s[i][1]+s[i][2];
s[i][4]=s[i][3]/3;
}
}
void cmm(float s[5][5]) /*这里与源程序变动多些*/
{
int i,j;
float ma,mi;
for(j=0;j3;j++)
{
ma=s[0][j];
mi=s[0][j];
for(i=1;i2;i++)
if(mas[i][j])
{
ma=s[i][j];
}
else
if(mis[i][j])
{
mi=s[i][j];
}
s[2][j]=mi;
s[3][j]=ma;
}
}
void ca(float s[5][5])
{int j;
for(j=0;j3;j++)
s[4][j]=(s[0][j]+s[1][j])/2;
}
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流