C语言问题定义一个10个元素的整型数组,从键盘上输入值,进行以下四个操作: 1.输出其中最大值. 2.把这组数

2024-12-28 23:51:55
推荐回答(3个)
回答1:

#include
int check(int *a)
{
int i,t=4,x;
for(i=0;t>=0;t--,i++)
{
x=a[i];
a[i]=a[t+5];
a[t+5]=x;
}
}
int search(int *a)
{
int flag=0,i,sign;
printf("请输入要查找的数:");
scanf("%d",&sign);
for(i=0;i<10;i++)
{
if(sign==a[i])
{
printf("数组下标为%d\n",i);
flag = 1;
}
}
if(flag==0)
{
printf("不存在这个数\n");
}
}

int sort(int *a)
{
int i,j,t;
for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i] > a[i+1])
{
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
}
}
printf("数组排序后为:");
for(i=0;i<10;i++)
{
printf(" %d",a[i]);
}
printf("\n");
}

int main(int argc, char *argv[])
{
int i,j,n,exchan,max,a[10];
while(1)
{
printf("***********1、输出最大值 ***********\n");
printf("***********2、倒置数组 ***********\n");
printf("***********3、查找数 ***********\n");
printf("***********4、将数组顺序输出***********\n");
printf("***********5、输入数组 ***********\n");
printf("***********6、结束 ***********\n");
printf("请选择操作:");
scanf("%d",&n);
if(n==5)
{
max=-9999999;
printf("请输入十个数:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
if(max max=a[i];
}
}
if(n==2)
{
check(a);
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}
if(n==6)
break;
if(n==1)
printf("%d\n",max);
if(n==3)
search(a);
if(n==4)
{
for(i=0;i<9;i++)
for(j=i;j<=9;j++)
{
if(a[i]>a[j])
{
exchan=a[i];
a[i]=a[j];
a[j]=exchan;
}
}
for(i=0;i<10;i++)
printf("%d ",a[i]);
printf("\n");
}

}
return 0;
}

回答2:

#include

//1.输出其中最大值.
void max(int a[])
{
int max = a[0];
int i;
for(i=0;i<10;i++)
{
if(max < a[i])
{
max = a[i];
}
}
printf("最大值为:%d\n",max);
}

//2.把这组数倒置过来.
void daozhi(int a[])
{
int b[10];
int i;
for(i=0;i<10;i++)
{
b[9-i] = a[i];
}
printf("数组倒置后为:");
for(i=0;i<10;i++)
{
printf(" %d",b[i]);
}
printf("\n");
}

//3.查找这个数组中是否存在你从键盘上输入的一个数,如有输出它的下标,如没有则输出不存在这个数.
void find(int a[])
{
int find;
int i;
int flag = 0;
printf("请输入要查找的数:");
scanf("%d",&find);
for(i=0;i<10;i++)
{
if(find==a[i])
{
printf("数组下标为%d\n",i);
flag = 1;
}
}
if(flag==0)
{
printf("不存在这个数\n");
}
}

//4.对这个数组进行按从小到大排序
void paixu(int a[])
{
int i,j,t;

for(j=0;j<9;j++)
{
for(i=0;i<9-j;i++)
{
if(a[i] > a[i+1])
{
t = a[i];
a[i] = a[i+1];
a[i+1] = t;
}
}
}
printf("数组排序后为:");
for(i=0;i<10;i++)
{
printf(" %d",a[i]);
}
printf("\n");
}

void main()
{
int a[10];
int i;
printf("请输入10个数组元素:");
for(i=0;i<10;i++)
{
scanf("%d",&a[i]);
}

max(a);
daozhi(a);
find(a);
paixu(a);
}

回答3:

#include
int max(int a[])
{
int max;
if (maxmax=a[i]
return max;
}
void dao xu(a[10])
{
int i;
for(i=9;i>=0;i--)
printf("%d\n",a[i]);
}
void find(int b)
{
int i;
for(i=0;i<10;i++)
{
if(b==a[i])
printf("%d\n",i);
else
printf("不存在这个数!")
}
void paixu(void)
{
int i,temp;
int *s=a
if(a[0]>a[i])
{
temp=a[0];
a[0]=a[i];
a[i]=temp;
}
printf("%d\n",a[i]);
}
}
int main(void)
{
int a[10]={0};
int i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
max();
dao xu();
find();
paixu();

}