當前位置:首頁 » 編程語言 » c語言三乘四矩陣
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言三乘四矩陣

發布時間: 2022-10-10 17:05:58

c語言:有一個3*4的矩陣,要求編寫一個程序找出每一行中的最大值並與第一列交換

#include <stdio.h>
main(void)
{
int a[3][4],j,i,k,max=0,t;
for(j=0;j<3;j++)
for(i=0;i<4;i++)
scanf("%d",&a[j][i]);
for(j=0;j<3;j++)
{
for(i=0;i<4;i++)
if(max<a[j][i])
{
max=a[j][i];
k=i;
}
{t=a[j][k];a[j][k]=a[j][0];a[j][0]=t;}
}

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

❷ C語言輸入3x4矩陣,輸出最大、最小值的行號和列號,最大值能正常輸出,最小值無法輸出,怎麼改都不行

原程序max和min賦值寫在整個數組輸入賦值值之前,因此其中存放的並不是數組中a[0][0]的值,而是在賦值前的某個值,這個導致出錯。可以考慮將max和min的賦值語句寫到scanf循環之後。

#include"stdio.h"

int main(){int i, j, maxrow = 0, maxcolum = 0, minrow = 0, mincolum = 0,a[3][4];
printf("Please input number for a[3][4]: ");
for (i = 0; i < 3; i++)for (j = 0; j < 4; j++)scanf_s("%d",&a[i][j]);
printf(" "); maxrow=maxcolum=minrow=mincolum=0;
for (i = 0; i < 3; i++){
for (j = 0; j < 4; j++)printf("%-2d ", a[i][j]);
printf(" ");
}
for (i = 0; i < 3; i++){
for (j = 0; j < 4; j++){
if (a[i][j] > a[maxrow][maxcolum] ){ maxrow = i;maxcolum = j;}
else if (a[i][j]<a[minrow][mincolum]){minrow = i;mincolum = j;} //兩個條件是互斥的
}
}
printf("max=%d,maxrow=%d,maxcolum=%d ",

a[maxrow][maxcolum],maxrow+1,maxcolum+1);
printf("min=%d,minrow=%d,mincolum=%d ",

a[minrow][mincolum], minrow+1, mincolum+1);
getchar();
return 0;
}

❸ 用c語言編寫輸出3*4的矩陣,求最後一個最小值並顯示行號和列號

#include<stdio.h>

int main() {
const unsigned row=3, col=4;//定義行列數
unsigned minx, miny;//最小值的行列
int min;//最小值
int nums[row][col];
for (unsigned i = 0; i < row; i++)//錄入數據
{
for (unsigned j = 0; j < col; j++)
{
scanf("%d",&nums[i][j]);
}
}
min = nums[0][0];//初始化最小值為第一行第一列的數
minx = 1;
miny = 1;
for (unsigned i = 0; i < row; i++)//遍歷數組找出最小值
{
for (unsigned j = 0; j < col; j++)
{
if (nums[i][j] <= min)
{
min = nums[i][j];
minx = i+1;
miny = j+1;
}
}
}
printf("最小值為:%d,位於第%u行%u列", min, minx, miny);//輸出數據
return 0;
}

❹ 請大家幫忙用C語言編個程序,「有一個三乘四的矩陣,求編程求出其中值最大和最小的元素,輸出其值及其所在

# include <stdio.h>
main()
{ int max,maxi,maxj,min,mini,minj,a[3][4],i,j;
printf("input numbers:\n');
for(i=0,i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(i=0,i<3;i++)
for(j=0;j<4;j++)
{ if(a[i][j]>max)
{ max=a[i][j];
maxi=i+1;
maxj=j+1;
}
if(a[i][j]<min)
{ min=a[i][j];
mini=i+1;
minj=j+1;
}
}
printf("最大值為%d,在第%d行,第%d列;\n最小值為%d,在第%d行,第%d列。\n",max,maxi,maxj,min,mini,minj);
}
滿意請採納!

❺ C語言:編寫程序,計算兩個3×4矩陣的和

#include<stdio.h>

int main()

{

int a[3][4],b[3][4],c[3][4];

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

scanf("%d",&a[i][j]);

printf(" ");

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

scanf("%d",&b[i][j]);

printf(" ");

for(int i=0;i<3;i++)

for(int j=0;j<4;j++)

{

c[i][j]=a[i][j]+b[i][j];

printf("%d",c[i][j]);

if(j!=3)

printf(" ");

else

printf(" ");

}

return 0;

}

❻ C語言編程:有一個3*4的矩陣,找出其中最小的那個元素,以及它所在的行和列。

假設矩陣是mat[3][4]:
minElem=mat[0][0];
elemX=0;
elemY=0;
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
{
if(mat[i][j]<minElem)
{
minElem=mat[i][j];
elemX=i;
elemY=j;
}
}
}
printf("最小的是%d,它位於第%d行,第%d列。\n",minElem,elemX,elemY);

這樣可以嗎?有意見可以更改

❼ C語言求出一個3×4的矩陣每一行的最大值

1、/打開Dev-c++軟體,點擊「新建源代碼」。

❽ C語言程序:有一個3*4的矩陣,要求編寫一個程序找出每一行中的最大值並與第一列交換

到底是行數是3 還是列數是3?
我姑且認為是行數是3 然後把一行4個數字里找出最大的放在這一行的第一個
如果是這樣子 寫個循環函數就好了
假設矩陣數值保存在 QZ[3][4]中
int rows=3,cols=4;
int itemp=0;//假設矩陣里的值是整數
for(int i=0;i<rows;i++)
{//遍歷每一行
for(int j=cols-1;j>0;j--)
{//從最後一列開始 把大的數字移到前一列
if(QZ[rows][cols]>QZ[rows][cols-1])
{//如果後一列數字大於前一列數字 交換
itemp = QZ[rows][cols-1];
QZ[rows][cols-1] = QZ[rows][cols];
QZ[rows][cols]=itemp;
}
}
}
這樣應該能解決你的問題吧 當然我沒去試 沒有純C的環境 而且這個實在不算難

❾ c語言隨機產生一個3×4的矩陣

#include<stdio.h>
#include<time.h>
intmain()
{
srand((unsigned)time(0));
inta[3][4];
inti,j;
for(i=0;i<3;++i)
{
for(j=0;j<3;++j)
{
a[i][j]=rand();//沒有限定取值范圍
printf("%d",a[i][j]);
}
a[i][j]=rand();
printf("%d ",a[i][j]);//按每兩個數之間一個空格、行末無空格輸出
}
return0;
}

❿ c語言編寫一個程序,實現一個3×4矩陣轉置。

思路:定了兩個二維數組分別存儲轉置前後的矩陣,接著for循環依次轉置即可。

//參考代碼
#include<stdio.h>
intmain()
{
inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},b[4][3];
inti,j;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
b[j][i]=a[i][j];
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
printf("%2d",b[i][j]);
printf(" ");
}
return0;
}
/*
運行結果:
159
2610
3711
4812
*/