使用打擂台的方法求出二维数组中每一个一维数组的最小值,并保存到另一个数组中。二重循环结束时。再用一个ev,循环输出又为数组中的值就可以了。
#include
int main()
{ int i,j,a[6][6],b[6]
for(i=0i<6i++)
for(j=0j<6j++)
scanf("%d",a[i][j])
for(i=0i<6i++)
{ b[i]=a[i][0]
for(j=1j<6j++)
if(a[i][j]<b[j])b[j]=a[i][j]
}
printf("每一行的最小值为:\n")
for(i=0i<6i++)
printf("%d\n",b[i])
return 0
}
#include<stdio.h>#include<stdlib.h>
#define MAXNUM 100
typedef struct Node //定义存储中缀表达式的结点类型
{int data
int data1
char data2
struct Node *next
}Lnode
typedef struct Node2 //定义存储前缀表达式的结点类型
{int data
int data1
char data2
struct Node2 *next
struct Node2 *prior
}Lnode2
typedef int selemtype1 //定义运算数栈的结点
typedef struct //定义运算数栈的类型
{selemtype1 *base
selemtype1 *top
}sqstack1
void InitStack1(sqstack1 &s)//新建一个空运算数栈
{s.base=(selemtype1 *)malloc(MAXNUM*sizeof(selemtype1))
s.top=s.base
if(!s.base) printf("出错:申请空间失败!\n")
}
void Push1(sqstack1 &s,selemtype1 &e)//运算数栈,入栈:插入元素e为新的栈顶元素
{ if(s.top-s.base>=MAXNUM)
printf("出错:表达式过长!1\n")
*s.top++ =e
}
void GetTop1(sqstack1 s,selemtype1 &e)//运算数栈,用e返回栈顶元素 {e=*(s.top-1)
}
void Popopnd1(sqstack1 &s,selemtype1 &e) //运算数栈,退栈:删除栈顶元素,并用e返回其值
{e=*--s.top
}
int stackempy1(sqstack1 s) //运算数栈,若为空栈返回1,否则返回0 {if(s.top==s.base) return 1
else return 0
}
typedef char selemtype2 //定义运算符栈的结点类型
typedef struct //定义运算符栈类型
{selemtype2 *base
selemtype2 *top
}sqstack2
void InitStack2(sqstack2 &s)//新建一个空运算符栈
{s.base=(selemtype2 *)malloc(MAXNUM*sizeof(selemtype2))
s.top=s.base
if(!s.base) printf("出错:申请空间失败!\n")
}
void Push2(sqstack2 &s,selemtype2 &e)//运算符栈,入栈:插入元素e为新的栈顶元素
{ if(s.top-s.base>=MAXNUM)
printf("出错:表达式过长!2\n")
*s.top++ =e
}
void GetTop2(sqstack2 s,selemtype2 &e)//运算符栈,用e返回栈顶元素 {e=*(s.top-1)
}
void Popopnd2(sqstack2 &s,selemtype2 &e) //运算符栈,退栈:删除栈顶元素,并用e返回其值
{e=*--s.top
}
int stackempy2(sqstack2 s) //运算符栈,若为空栈返回1,否则返回0 {if(s.top==s.base) return 1
else return 0
}