看一道C语言的题 谢谢帮助
2.输入8个数字放入一堆数组W中,输出交换前数组;找出其中最小的和最大的数,并将它们分别与数组中的第一个元素和最后一个元素交换位置;输出交换后数组.请写出具体的编程...
2.输入8个数字放入一堆数组W中,输出交换前数组;找出其中最小的和最大的数,并将它们分别与数组中的第一个元素和最后一个元素交换位置;输出交换后数组.
请写出具体的编程 展开
请写出具体的编程 展开
4个回答
展开全部
for(i=0; i<8; i++){
printf("Enter number > ");
scanf("%d", &w[i]);
}
da = xiao = w[0];
for(i=1; i<8; i++){
if(w[i] > da)
da = w[i];
if(w[i] < xiao)
xiao = w[i];
}
temp = w[0];
w[0] = da;
for(i=1; i<8; i++){
if(da = w[i])
w[i] = temp;
}
temp = w[7];
w[7] = xiao;
for(i=0; i<7; i++){
if(xiao = w[i])
w[i] = temp;
}
printf("Enter number > ");
scanf("%d", &w[i]);
}
da = xiao = w[0];
for(i=1; i<8; i++){
if(w[i] > da)
da = w[i];
if(w[i] < xiao)
xiao = w[i];
}
temp = w[0];
w[0] = da;
for(i=1; i<8; i++){
if(da = w[i])
w[i] = temp;
}
temp = w[7];
w[7] = xiao;
for(i=0; i<7; i++){
if(xiao = w[i])
w[i] = temp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include <stdio.h>
#define MAX(A,B) ((A)>(B)?(A):(B))
#define MIN(A,B) ((A)<(B)?(A):(B))
int mian(void)
{
int i,tmp,max,min;
int a[8];
printf("Please input 8 numbers:\n");
for(i=0;i<8;i++)
scanf("%d",a[i]);
/* output numbers before exchange */
printf("before exchange:\n");
for(i=0;i<8;i++)
printf("%3d",a[i]);
/* find max and min number */
tmp=a[0];
for(i=1;i<8;i++){
if(MAX(a[i],tmp))
max=a[i];
else if(MIN(a[i],tmp))
min=a[i];
}
printf("max:\tmin:\t\n",max,min);
/* exchange */
tmp=a[0];
a[0]=a[7];
a[7]=tmp;
/* output numbers after exchange */
printf("after exchange:\n");
for(i=0;i<8;i++)
printf("%3d",a[i]);
return 0;
}
英语不好,所以说明性的文字写得很简单。
#define MAX(A,B) ((A)>(B)?(A):(B))
#define MIN(A,B) ((A)<(B)?(A):(B))
int mian(void)
{
int i,tmp,max,min;
int a[8];
printf("Please input 8 numbers:\n");
for(i=0;i<8;i++)
scanf("%d",a[i]);
/* output numbers before exchange */
printf("before exchange:\n");
for(i=0;i<8;i++)
printf("%3d",a[i]);
/* find max and min number */
tmp=a[0];
for(i=1;i<8;i++){
if(MAX(a[i],tmp))
max=a[i];
else if(MIN(a[i],tmp))
min=a[i];
}
printf("max:\tmin:\t\n",max,min);
/* exchange */
tmp=a[0];
a[0]=a[7];
a[7]=tmp;
/* output numbers after exchange */
printf("after exchange:\n");
for(i=0;i<8;i++)
printf("%3d",a[i]);
return 0;
}
英语不好,所以说明性的文字写得很简单。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以很好的实现题目中的要求
#include <stdio.h>
void main(void)
{
int num[8] ;
int min; //用于存放数组中的最小值
int max; //用来存放数组中的最大值
int x; //用于存放最小值对应的下标
int y; //用于存放最大值对应的下标
int i ; //用于循环
printf("请输入八个整数 ");
for(i=0;i<8;i++)
scanf("%d", num[i]);
min=num[0];
max=num[0];
for(i=1;i<8;i++)
{
if(num[i] < min)
{
min = num[i] ;
x = i ;
}
else if (num[i] >= max )
{
max = num[i] ;
y = i;
}
} //本循环执行完之后,min中存放的是数组的最小值,max中存放的是数组的最大值
num[x] = num[0] ;
num[0] = min ;
num[y] = num[7];
num[7] = max ;
printf("修改后数字排列为:");
for(i=0;i<8;i++)
{
printf("%3d",num[i]);
printf(" ");
}
printf("\n");
}
#include <stdio.h>
void main(void)
{
int num[8] ;
int min; //用于存放数组中的最小值
int max; //用来存放数组中的最大值
int x; //用于存放最小值对应的下标
int y; //用于存放最大值对应的下标
int i ; //用于循环
printf("请输入八个整数 ");
for(i=0;i<8;i++)
scanf("%d", num[i]);
min=num[0];
max=num[0];
for(i=1;i<8;i++)
{
if(num[i] < min)
{
min = num[i] ;
x = i ;
}
else if (num[i] >= max )
{
max = num[i] ;
y = i;
}
} //本循环执行完之后,min中存放的是数组的最小值,max中存放的是数组的最大值
num[x] = num[0] ;
num[0] = min ;
num[y] = num[7];
num[7] = max ;
printf("修改后数字排列为:");
for(i=0;i<8;i++)
{
printf("%3d",num[i]);
printf(" ");
}
printf("\n");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询