后面的大括号并不是for循环体所以break非法。
另外你的if(q[i]=1.5)写错了,应该是:if(q[i]==1.5)。
希望对你有帮助。
#include<stdio.h>#include<string.h>
struct student{
int num[2]
char name[50]
int score[3]
}
void print(struct student s[5])
{
int i
for(i=0i<5i++)
{
printf("第%d个学生的学号:%d\n",i+1,s[i].num)
printf("第%d个学生的姓名:%s\n",i+1,s[i].name)
printf("第%d个学生的成绩:%d,%d,%d\n",i+1,s[i].score[0],s[i].score[1],s[i].score[5])
}
}
void main()
{
struct student stu[5]
int i,j
for(i=0i<5i++)
{
printf("请输入第%d个学生的学号:",i+1)
scanf("%d",&stu[i].num)
printf("请输入第%d个学生的姓名:",i+1)
scanf("%s",&stu[i].name)
printf("请输入第%d个学生的三门成绩:",i+1)
scanf("%d,%d,%d",&stu[i].score[0],&stu[i].score[1],&stu[i].score[5])
}
print(stu)
}
代码一:#include<stdio.h>
int MAX,MIN
int maxi,maxj,mini,minj
void main()
{
void result(int x[][5],int m,int n)
int a[5][5],max,min,i,j
for(i=0i<5i++)
for(j=0j<5j++)
scanf("%d",&a[i][j])
MAX=MIN=a[0][0]
maxi=maxj=mini=minj=0
result(a,5,5)
printf("MAX=%d,maxi=%d,maxj=%d\n",MAX,maxi,maxj)
printf("MIN=%d,mini=%d,minj=%d\n",MIN,mini,minj)
}
void result(int x[][5],int m,int n)
{
int i,j
for(i=0i<mi++)
for(j=0j<nj++)
{
if(x[i][j]>MAX)
{
MAX=x[i][j]
maxi=i
maxj=j
}
if(x[i][j]<MIN)
{
MIN=x[i][j]
mini=i
minj=j
}
}
}
但代码一有个缺点,那就是如果有多个最值,只能输出最后一个。下面的代码是经过改进的。
代码二:
#include<stdio.h>
int MAX,MIN
int maxi,maxj,mini,minj
void main()
{
void result(int x[][5],int m,int n)
int a[5][5],max,min,i,j
for(i=0i<5i++)
for(j=0j<5j++)
scanf("%d",&a[i][j])
MAX=MIN=a[0][0]
maxi=maxj=mini=minj=0
result(a,5,5)
}
void result(int x[][5],int m,int n)
{
int i,j
for(i=0i<mi++)
for(j=0j<nj++)
{
if(x[i][j]>MAX)
MAX=x[i][j]
if(x[i][j]<MIN)
MIN=x[i][j]
}
for(i=0i<mi++)
for(j=0j<nj++)
{
if(x[i][j]==MAX)
{
MAX=x[i][j]
maxi=i
maxj=j
printf("MAX=%d,maxi=%d,maxj=%d\n",MAX,maxi,maxj)
}
if(x[i][j]==MIN)
{
MIN=x[i][j]
mini=i
minj=j
printf("MIN=%d,mini=%d,minj=%d\n",MIN,mini,minj)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)