行列元素互换

#include <stdio.h>

void fh(int a[][3],int b[][3])
{

 int i,j;

 for (i = 0; i < 3; i++)
    {
        for (j = 0; j < 3; j++)
            {
                 printf("%5d", a[i][j]);
                 b[j][i] = a[i][j];
            }
        printf("\n");
    }

}
int main()
{

int a[3][3] = {{1, 2, 3}, {4, 5, 6},{7,8,9}};
int b[3][3], i, j;

printf("array a:\n");
fh(a,b);

printf("array b:\n");

for (i = 0; i < 3; i++)
{
    for (j = 0; j < 3; j++)
        printf("%5d", b[i][j]);
    printf("\n");
}

return 0;

}

鞍点
#include<stdio.h>

int main()
{

int a[3][3]=
{
    {1,2,5},
    {4,6,5},
    {7,3,9}
};

int i,j;
int max;
int col;
int flag;

for(i = 0;i < 3;i++)
{
    max = a[i][0];
     for(j = 0;j < 3;j++)
     {
        if(max <= a[i][j])
        {
            max = a[i][j];
            col = j;
        }

     }
     flag=1;//是鞍点
     for(j =0;j < 3;j++)
     {
         if (a[j][col] < max)
         {
             flag=0;
             break;
         }
     }

     if(flag)
     {
         printf("%d\n",max);
     }


}


return 0;

}

include <stdio.h>

include <malloc.h>

struct Student
{

int age;
float score;
char name[100];

};

void output_printf(int len, struct Student *pArr);
void intput_printf(int len, struct Student *pArr);
void sort(int len, struct Student *pArr);

int main(void)
{

int len, i, j;
struct Student *pArr;

printf("请输入学生的个数:\n");
printf("len=");
scanf("%d", &len);
printf("\n");
//动态构造一维数组
pArr = (struct Student *)malloc(sizeof(struct Student) * len);

intput_printf(len, pArr);
sort(len, pArr);
output_printf(len, pArr); //&pArr 传过去指针的地址 也就是二级指针

return 0;

}

void output_printf(int len, struct Student *pArr)
{

int i;
printf("\n\n学生的信息是:\n");
//输出
for (i = 0; i < len; i++)
{
    printf("第%d个学生的信息\n", i + 1);
    printf("age = %d\n", pArr[i].age);
    printf("name = %s\n", pArr[i].name);
    printf("score = %f\n", pArr[i].score);
    printf("\n");
}

}

void intput_printf(int len, struct Student *pArr)
{

int i;
for (i = 0; i < len; i++)
{
    printf("请输入第%d个学生的信息\n", i + 1);
    printf("age = ");
    scanf("%d", &pArr[i].age);

    printf("name=");
    scanf("%s", pArr[i].name);
    // name是数组名,本身就已经是数组首元素的地址,所以pArr[i].name 不能改成 &pArr[i].name
    printf("score = ");
    scanf("%f", &pArr[i].score);
}

}

void sort(int len, struct Student *pArr) //按学生成绩升序排序 冒泡排序
{

int i, j;
struct Student temp;
for (i = 0; i < len - 1; i++)
{
    for (j = 0; j < len - 1 - i; j++)
    {
        if (pArr[j].score > pArr[j + 1].score) // >表示升序:由小到大排序;  <表示降序:由大到小排序;
        {
            temp = pArr[j];
            pArr[j] = pArr[j + 1];
            pArr[j + 1] = temp;
        }
    }
}

}

如果觉得我的文章对你有用,请随意赞赏