你是想连续从键盘输入数组和w[N]进行比较,如果输入的值大于w数组元素的值则赋值到re[N]数组里吧?
首先说下你程序的问题
1、数组长度N这是个变量,需要先定义,不能直接当数组长度来用,如果要计算数组长度可以加一句
int N=sizeof w/sizeof w[0];
2、需要把 scanf("%lf",&x);这句放在for循环体内部才能连续输入
3、最后的for循环是想要打印re[N]这个数组元素吧?输出语句少了%
我修改了你的代码
int main(int argc, const char * argv[]) {
// insert code here...
double w[]={2.4,3.1,1.3,41.2,11.1,3.4,6};
int N=sizeof w/sizeof w[0];
double re[N],x;
int i,count=0;
printf("%s","输入一个实数:");
for(i=0;i<N;i++){
scanf("%lf",&x);
{if(w[i]>x)
{re[count]=w[i];
count++;
}
}
printf("%s","输入一个实数:");
}
for(i=0;i<count;i++)
printf("%5.21f\n",re[i]);
printf("\n");
}这编译就不会有问题了 |