大佬们帮忙看看这个二维数组
#include <stdio.h>int main()
{
int i, j, a = {{80, 75, 92}, {61, 65, 71}, {59, 63, 70}, {85, 87, 90}, {76, 77, 85}};
float k, b;
for (i = 0; i < 3;i++)
{
for(j = 0; j < 5; j++)
{
b = a;
}
k = (b+b+b+b+b)/5;
if(i = 0)
{
printf("Math的平均分为:__\b\b%.2f\n", k);break;
}
else if(i = 1)
{
printf("C语言的平均分为:__\b\b%0.2f\n", k);break;
}
else if(i = 2)
{
printf("Foxpro的平均分为:__\b\b%0.2f\n", k);break;
}
}
return 0;
} 不知哪里错了,出来的结果和预想的不一样
1.为什么就只打印一个科目的平均分?那是因为你加了break,在执行任何一条打印程序的时候就退出了外层循环。解决方法:去掉break就可以了
2.为什么第一次循环就打印C语言成绩,那是因为你的判断条件完全是赋值,不是判断,应该是i==1,少了个= 奥奥奥,谢谢啦 浅笑灬丨 发表于 2017-9-26 21:02
奥奥奥,谢谢啦
客气,客气。多debug调试慢慢就会理解,后面这些小错误就会少很多{:10_330:} 丶忘却的年少o 发表于 2017-9-26 21:04
客气,客气。多debug调试慢慢就会理解,后面这些小错误就会少很多
嗯嗯{:10_256:}
页:
[1]