c++菜鸟求助,那位大神帮我解释一下为什么下面代码在输出时显示窗口只闪了一下就消失了!

#include<stdio.h>#include<stdlib.h>intmain(){inti,j;floataverage(floatarray[],intn);f... #include<stdio.h>
#include<stdlib.h>
int main()
{
int i,j;
float average(float array[],int n);
float score1[i];
float score2[j];
printf("please input 5 score:\n");
for(i=0;i<5;i++)
{ scanf("%d",&score1[i]);
}
printf("please input 10 score:\n");
for(j=0;j<5;j++)
{ scanf("%d",&score2[j]);
}

printf("The average of Class A is %6.2f",average(score1,i));

printf("The average of Class B is %6.2f",average(score2,j));

system("pause");
return(0);
}

float average(float array[],int n)
{
int i;
float aver;
float sum=array[0];
for(i=1;i<n;i++)
sum=sum+array[i];
aver=sum/n;
return(aver);
}
展开
 我来答
_whales
推荐于2016-01-16 · TA获得超过2279个赞
知道大有可为答主
回答量:1814
采纳率:85%
帮助的人:507万
展开全部
因为没有通过编译,没有程序可以执行,所以。。。
把这两句
float score1[i];
float score2[j];
改成
float score1[20];
float score2[20];
程序就可以编译了,仔细看了一下,其他部分都还可以。这样以后应该可以正常运行了。
其实改成10就可以了不过只是个小程序,不必较真。
只是一点小疏忽;数组定义式里面float score1[N];的N必须是整型常量表达式。
C :
1)方法一
#define N 20
float score1[N];

2)方法二
enum{ N= 20};
float score1[N];

C++:还可以
const int N=20;

float score1[N];

当然 如下是一点也没有问问题。
float score1[20];
N 还可以写成 2*N,N+1,20*8 只要结果是整型常数 就可以了。
程序猿3号
2013-01-06 · TA获得超过1811个赞
知道小有建树答主
回答量:1029
采纳率:33%
帮助的人:769万
展开全部
int i,j;
float average(float array[],int n);
float score1[i];
float score2[j];
看看你的代码,这都是有问题的,不可能通过编译的,怎么可能运行???还闪一下????好好改改代码,编译成功了再说问题。。。
追问
在DVE c++能通过编译了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
temp2000
2013-01-06 · TA获得超过483个赞
知道小有建树答主
回答量:564
采纳率:100%
帮助的人:351万
展开全部
你确定能输出吗??编译都通不过吧。c++是不允许用变量定义数组大小的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小王的昵称i
2013-01-06 · 贡献了超过203个回答
知道答主
回答量:203
采纳率:0%
帮助的人:46.4万
展开全部
- - 好奇葩
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式