題記
回首往昔,自己學C語言已經有一段時間了,在學習的程序中也遇到了很多的問題,也通過看其他大佬的博客得到解決,到今天,自己學有余力,準備記錄一下自己的學習心得,幫助大家更好的理解題目, 近期的先從基礎的開始寫,到后面會慢慢的更新一些資料結構演算法還有一些題,比如pat甲級乙級這些,
2021年11月10日
-
將給定N*N矩陣右上角乘上某個數
以對角線為分割線 即i=j的時候就是對角線上的點,
#include<stdio.h>
?
int main()
{
int a[3][3]={
1,2,3,
4,5,6,
7,8,9
};
int i,j,m=3;//假設要乘的數為3,具體看題目來
for(i = 0;i < 3;i++) // 右上角*m
for(j = i; j < 3; j++)
a[i][j]*=m;
// for(i = 0; i < 3;i++) // 左下角*m
// for(j = 0;j <= i;j++)
// a[i][j]*=m;
for(i = 0;i < 3;i++)
{
for(j = 0;j < 3;j++)
printf("%d ",a[i][j]);
puts("");
}
return 0;
}
-
N*N矩陣的變換 行變列
1 2 3 1 4 7
4 5 6 ->2 5 8
7 8 9 3 6 9
觀察發現
1.可以按照對角線對稱交換(條件N*N)
2.也可以新開一個陣列把第一行存到一列第二行存到第二列這樣子依次存下去.
3.變一下輸出順序,交換兩個for回圈,(推薦)
下面舉一下列子(按對角線對稱),
#include<stdio.h>
int main()
{
int a[4][4]={
1,2,3,4,
5,6,7,8,
9,10,11,12,
13,14,15,16
};
int i,j;
for(i = 0;i < 4 ;i++)
for(j = 0;j < i;j++)
{
int t = a[i][j];
a[i][j] = a[j][i];
a[j][i] = t;
}
// for(i = 0;i < 3 ;i++) 錯誤寫法 這樣就相當于交換了兩遍,矩陣沒有變化
// for(j = 0;j < 3;j++)
// {
//
// int t = a[i][j];
// a[i][j] = a[j][i];
// a[j][i] = t;
//
// }
for(i = 0;i < 4;i++)
{
for(j = 0;j < 4;j++)
printf("%d ",a[i][j]);
puts("");
}
return 0;
}
下面給一道列題(交換兩個for回圈順序)
矩陣轉置
#include<cstdio>
#include<iostream>
using namespace std;
?
int a[101][101];
int main()
{
int n,m;
scanf("%d%d",&n,&m);
for(int i = 0;i < n ; i++)
for(int j =0;j < m ;j++)
scanf("%d",&a[i][j]);
//當j = 0 , 第一行也就是a[0][0] a[1][0] a[2][0]....a[n-1][0]
// 這樣相當先遍歷第一列 然后第二列.... 就相當于轉置了
for(int j = 0;j < m; j++)
{
for(int i = 0 ;i < n; i++)
printf("%d ",a[i][j]);
printf("\n");
}
return 0;
}
3.求一個序列最大值 和 最小值
給出一到例題
最大值和最小值的差
#include<stdio.h>
?
int a[10010];
int Max_(int a[],int L)
{
int x = a[0]; // 假設第一個數最大
for(int i = 1;i < L; i++)
if(a[i] > x) x = a[i]; // 如果有比x數大的,那就把值給x
return x;
}
?
int Min_(int a[],int L)
{
int x = a[0];
for(int i = 1;i < L; i++)
if(a[i] < x) x = a[i];
return x;
}
?
?
int main()
{
int n;
scanf("%d",&n);
for(int i = 0 ;i < n; i++) scanf("%d",&a[i]);
printf("%d",Max_(a,n)-Min_(a,n));
return 0;
}
如有錯誤,請大佬們斧正!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/355331.html
標籤:其他
上一篇:【資料結構初階】第六篇——初識二叉樹(二叉樹的基本性質+二叉樹的順序存盤結構及實作)
下一篇:初階資料結構——二叉樹
