c-请问我这段代码哪里错了?

问题描述

请问我这段代码哪里错了?

题目是输入3个学生的4科成绩,输出每个人的平均成绩和所有成绩中的最高和最低值:
#include
int max(int c[][4]);
int min(int b[][4]);
void average(int e[][4]);
main()
{
int a[3][4];
int i=0,j;
printf("分别输入3个人的4门成绩:n");
for(i=0;i
{
printf("第%d个人n",i+1);
for(j=0;j
{
scanf("%d",&a[i][j]);
}
printf("n");
}
int mi,ma;
mi=min(a);
ma=max(a);
printf("最高成绩为%dn",max);
printf("最低成绩为%dn",min);
average(a);
}
int min(int b[][4])
{
int *q=b[0];
int j,k=0;
for(j=1;j
{
if(*(q+k)>(q+j)) k=j;
}
return *(q+k);
}
int max(int c[][4])
{
int *q=c[0];
int j,k=0;
for(k=0;j<12;j++)
{
if(
(q+k)>(q+j)) k=j;
}
return *(q+k);
}
void average(int e[][4])
{
float j,m,n,h,q,f,i;
int *p=e[0],k=0,sum1=0,sum2=0,sum3=0;
for(i=0;k<12;k++)
{
if(k<4)
{
sum1=sum1+(
(p+i));
i++;
}
else
if(k<8)
{
sum2=sum2+(*(p+i));
i++;
}
else
{
sum3=sum3+(*(p+i));
i++;
}
}
j=(float)sum1,m=(float)sum2,n=(float)sum3;
h=j/3.0,q=m/3.0,f=n/3.0;
printf("第一个学生平均成绩:%5.2f,第二个学生平均成绩:%5.2f,第三个学生平均成绩:%5.2fn",h,q,f);
}

解决方案

max () 函数中 j 未赋初值

解决方案二:

for(j=1;j {
if(*(q+k)>(q+j)) k=j;
}
这种地方,只判断了一种情况,你应该分大于和小于两种情况,而且每循环一次,应该k和j的值也应该+1啊

时间: 2024-09-11 17:32:24

c-请问我这段代码哪里错了?的相关文章

c-请问大家这段代码哪里错了,为什么总是Wrong Answer

问题描述 请问大家这段代码哪里错了,为什么总是Wrong Answer #include <algorithm> #include <iostream> using namespace std; struct node { int cost,weight; }; int cmp (node a, node b) { return a.weight<b.weight; } int main() { int n; int kinds,i; double ans,temp,mone

代码提示出错-请问我这段代码哪里出错了,为什么总是异常,我是个新手

问题描述 请问我这段代码哪里出错了,为什么总是异常,我是个新手 package control; import javax.swing.JFrame public class DebugTest { public static void main(String[] args) { int[] ints= new int[20]; try { for (int i=0; i < 20; i ++) { ints[i] = i+1; Ststem.out.println(i+1); } } catc

请问vb.net中timer这段代码哪里错了

问题描述 请问vb.net中timer这段代码哪里错了 代码如下 If n = sn.Length Then Timer1.Enabled = False End If url = fr & sn(n) n = n + 1 MessageBox.Show(url) 我想当timer运行次数等于sn.Length,自动关闭timer,但是运行时,却不能关闭timer,请问是哪里错了,检查了好几遍都没看出来 我觉得这段代码很简单,先是if判断timer是否关闭,然后执行fr和数组的合并,n= n +

c++-请问下面这段代码的意思:C++ 中的冒号操作符

问题描述 请问下面这段代码的意思:C++ 中的冒号操作符 PaketRouter类里有一个成员: // Map from ssrc to sending rtp module. std::list rtp_modules_ GUARDED_BY(crit_.get());请问下面的函数里冒号是什么意思? bool PacketRouter::TimeToSendPacket(uint32_t ssrc uint16_t sequence_number int64_t capture_timest

这段代码哪里错了,一直在报错

问题描述 这段代码哪里错了,一直在报错 Date t = new Date(); long l = t.getTime(); Timestamp time = new Timestamp(l); Connection con = DBUtils.getConnetion(); String sql = ""select * from book_pl group by bookname having pl_date = ? order by avg(book_score) desc&qu

opencv 一段代码出错了

问题描述 opencv 一段代码出错了 显示.exe停止工作,但是去掉那个for循环就可以运行,是ptr<>的使用不当吗#include#include#include #include using namespace std;using namespace cv; int main(){ // 读入一张图片 Mat img = imread(""F:/vsprogram/projecttest/01.jpg""); // 创建一个名为 "&q

ava基础 代码错误-Java新手,求大神帮小弟看看这段代码哪里错了,多谢!!!

问题描述 Java新手,求大神帮小弟看看这段代码哪里错了,多谢!!! class Student { //姓名 private String name; //年龄 private int age; //构造方法 public Student(){ } public Student(String name, int age){ this.name = name; this.age = age; } public String getName(){ return name; } public voi

c++-OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来

问题描述 OpenGL初学,请问我这段代码有错吗?为什么在窗口显示不出来 #include #include #include #include #include const GLint screenWidth = 640; const GLint screenHeight = 480; void myInit(void) { glClearColor(1.0, 1.0, 1.0, 0.0); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluO

c语言-这段代码哪里错了,为啥不能运行

问题描述 这段代码哪里错了,为啥不能运行 #include int main() { int h=3; float r=1.5,pi=3.14; float perimeter,area1,area2,volume; perimeter=2*pi*r; area1=2*pi*r*h; area2=2*pi*r*r+4*pi*r*h; volume=pi*r*r*h; printf("底面圆周长为:%fn",perimeter); printf("圆柱侧面积为:%fn"