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);
} 展开
#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);
} 展开
展开全部
因为没有通过编译,没有程序可以执行,所以。。。
把这两句
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 只要结果是整型常数 就可以了。
把这两句
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 只要结果是整型常数 就可以了。
展开全部
int i,j;
float average(float array[],int n);
float score1[i];
float score2[j];
看看你的代码,这都是有问题的,不可能通过编译的,怎么可能运行???还闪一下????好好改改代码,编译成功了再说问题。。。
float average(float array[],int n);
float score1[i];
float score2[j];
看看你的代码,这都是有问题的,不可能通过编译的,怎么可能运行???还闪一下????好好改改代码,编译成功了再说问题。。。
追问
在DVE c++能通过编译了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你确定能输出吗??编译都通不过吧。c++是不允许用变量定义数组大小的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
- - 好奇葩
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询