/*------------------------------C语言部分--------------------------------*/
/*四.1.如果矩阵A中的某元素A[I,J]是第I行中的最小值,而且是第J列中的最大值,则称A[I,J]为矩阵A中的一个鞍点,
编写函数SEARCHAD(A,ROW,COL)来求矩阵A[ROW,COL]中的鞍点。*/
void SEARCHAD(int a[][MAX],int row,int col)
{
int i,j,min,minj,flag,k;
for(i = 0;i < row; i++)
{
min = a[i][0];
minj = 0;
for(j = 0;j < col;j++)
if(a[i][j] < min)
{
min = a[i][j];//min记录本行最小数
minj = j;//记录最大数的列标
}
flag = 1; //默认本行最小数是鞍点,然后再验证列是否满足条件
//判断行的最小数在列上是否为最大值
for(k = 0;k < row;k++)
if(min < a[k][minj])
{
flag = 0;
break;
}
if(flag)
{
printf("数组有鞍点:a[%d][%d] = %d\n",i+1,minj+1,min);
break;
}
}
if(!flag)
printf("没有鞍点!\n");
}
/*四.2.编写一个程序,先读入一段正文,然后删除其中的单词from,in,at,an和on,最后显示该结果文本段.(不准使用标准字符串处理函数)*/
void Move(char *p, int n)
{
char *q, *r;
r = p;
q = p + n;
while(*q != '\0')
{
*r = *q;
r++;
q++;
}
}
void DeleteWord(char *pHead, char **p)
{
char *q;
q = *p;
q--;
if(q == pHead) return;
switch(*q)
{
case 'n': //可能是in,an,an
q--;
if(q == pHead)
return;
if((*q == 'i')||(*q == 'a')||(*q == '0'))
{
q--;
if((q == pHead)||(*q == ''))
{
*p = q;
Move(*p,3);
}
}
break;
case 't': //可能是at
q--;
if(q == pHead)
return;
if(*q ==
东北大学计算机专业研究生入学考试2002年真题
最新推荐文章于 2021-01-12 02:45:28 发布