A. 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的环境 而且这个实在不算难
B. C语言:有一个3*4的矩阵,要求编写求这个二维数组中的最大的那个元素的值,以及所在的行号和列号。
摘要 #include
C. C语言,我想定义一个函数实现矩阵相加功能,可是矩阵最少也要输入一个列数,我想让行列数都是变量,这个
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
typedefstructmatrix
{
int**array;
introw;
intcolumn;
}MATRIX,*PMATRIX;
voidaddMatrix(PMATRIXa,PMATRIXb,PMATRIXc)
{
inti,j,k;
if(a->row!=b->row||a->column!=b->column)
{
printf("矩阵A%d*%d与矩阵B%d*%d大小不同,不支持加法运算 ",
a->row,a->column,b->row,b->column);
c->row=0;
c->column=0;
return;
}
c->row=a->row;
c->column=a->column;
c->array=(int**)malloc(c->row*sizeof(int*));
if(c->array==NULL)
{
printf("分配内存失败 ");
c->row=0;
c->column=0;
return;
}
for(i=0;i<a->row;i++)
{
*(c->array+i)=(int*)malloc(c->column*sizeof(int));
if(*(c->array+i)==NULL)
{
printf("分配内存失败 ");
c->row=i-1;
freeMatrix(c);
return;
}
memset(*(c->array+i),0,c->column*sizeof(int));
for(j=0;j<a->column;j++)
*(*(c->array+i)+j)=*(*(a->array+i)+j)+*(*(b->array+i)+j);
}
}
D. 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");
}
}
E. 用C语言编程,输入一个3*4整数矩阵并且求各行元素之和和各列元素之和
1.
#include <stdio.h>
int main()
{
int a[3][4]={0};
int i,j,max,max_i,max_j;
printf("Please input a 3X4 matrix:\n");
for(i=0;i<3;i++)
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
max=a[0][0];
max_i=max_j=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
if(a[i][j]>max)
{
max=a[i][j];
max_i=i;
max_j=j;
}
printf("The max is %d,row %,col %d\n",max,max_i,max_j);
}
2.
#include <stdio.h>
int main()
{
char a[100]={0};
int i,count=0;
printf("Please input a string:");
gets(a);
for(i=0;a[i]!='\0';i++)
if(a[i]==' ')
count++;
printf("The string contents %d space\n",count);
}