为什么我的C语言程序输入数据后按回车一直换行而不是运行? 30
#include<stdio.h>#defineN10voidinput(doublea[]);voidoutput(doublea[]);intmaxnum(doubl...
#include <stdio.h>
#define N 10
void input(double a[]);
void output(double a[]);
int maxnum(double a[]);
int minnum(double a[]);
int find(double a[],int f, int x);
int ave(double a[]);
void sort(double a[]);
int main( )
{
double array[10]={0,1,2,3,4,5,6,7,8,9}, g=10, n, x, findf=0;
int max, min;
input(array);
output(array);
maxnum(array);
minnum(array);
scanf("%f",&x);
find(array,g,x);
if(findf==-1)
printf("该元素不存在");
else
printf("该元素的下标为:%d", findf);
ave(array);
sort(array);
return 0;
}
void input(double a[])
{
int i;
{
for (i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
return;
}
void output(double a[])
{
int i;
for(i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
return;
}
int maxnum(double a[])
{
int i,max;
max=a[0];
for (i=1;i<10;i++)
if (a[i]>max)
max=a[i];
return max;
}
int minnum(double a[])
{
int i,min;
min=a[0];
for (i=1;i<10;i++)
if (a[i]<min)
min=a[i];
return min;
}
int find(double a[],int f, int x)
{
int i=0, findf=0;
while (i<f)
{
if(x==a[i])
{
findf=i;
break;
}
else
{
findf=-1;
}
}
return findf;
}
int ave(double a[])
{
double s=0,ave;
int i;
for(i=0;i<10;i++)
{
s+=a[i];
}
ave=s/10;
return ave;
}
void sort(double a[])
{
int i, j;
int temp;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
return;
} 展开
#define N 10
void input(double a[]);
void output(double a[]);
int maxnum(double a[]);
int minnum(double a[]);
int find(double a[],int f, int x);
int ave(double a[]);
void sort(double a[]);
int main( )
{
double array[10]={0,1,2,3,4,5,6,7,8,9}, g=10, n, x, findf=0;
int max, min;
input(array);
output(array);
maxnum(array);
minnum(array);
scanf("%f",&x);
find(array,g,x);
if(findf==-1)
printf("该元素不存在");
else
printf("该元素的下标为:%d", findf);
ave(array);
sort(array);
return 0;
}
void input(double a[])
{
int i;
{
for (i=0;i<N;i++)
{
scanf("%d",&a[i]);
}
return;
}
void output(double a[])
{
int i;
for(i=0;i<10;i++)
{
printf("%d\n",a[i]);
}
return;
}
int maxnum(double a[])
{
int i,max;
max=a[0];
for (i=1;i<10;i++)
if (a[i]>max)
max=a[i];
return max;
}
int minnum(double a[])
{
int i,min;
min=a[0];
for (i=1;i<10;i++)
if (a[i]<min)
min=a[i];
return min;
}
int find(double a[],int f, int x)
{
int i=0, findf=0;
while (i<f)
{
if(x==a[i])
{
findf=i;
break;
}
else
{
findf=-1;
}
}
return findf;
}
int ave(double a[])
{
double s=0,ave;
int i;
for(i=0;i<10;i++)
{
s+=a[i];
}
ave=s/10;
return ave;
}
void sort(double a[])
{
int i, j;
int temp;
for(i=0;i<9;i++)
for(j=i+1;j<10;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
return;
} 展开
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励20(财富值+成长值)+提问者悬赏30(财富值+成长值)
2个回答
展开全部
input要循环输入10次,才会运行其他的
更多追问追答
追答
第二个是find里面的i没有写i++,在死循环
可自行检查while循环那个
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
查找里面 i 一直是0没有++,题主你仔细看看那里
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询