㈠ 从键盘输入一个3行4列的矩阵,将其转置后,变成4行3列的矩阵输出。这个c语言的代码咋写
# include <stdio.h>
int main(void)
{
int a[3][4] = {11,12,13,14,21,22,23,24,31,32,33,34};
int b[4][3];
int i, j;
for(i=0; i<4; i++) //转置数组;
for(j=0; j<3; j++)
b[i][j] = a[j][i];
for(i=3; i>=0; i--) //反向输出转置后的数组;
{
for(j=2; j>=0; j--)
printf("%5d", b[i][j]);
putchar(' ');
}
return 0;
}
(1)c语言怎么输出矩阵扩展阅读
include用法:
#include命令预处理命令的一种,预处理命磨链令可以将别的源代码内容插入到所指定的位置;可以标识出只有在特定条件下才瞎漏孙会被编译的某一段程序代码;可以定义类似标识符功能的宏,在编译时,预处理器会用别的文本取代该宏。
插入头文件的内容
#include命令告诉预处理器将指定头文件的内容插入到预处理器命令的相应位置。有两种方式可以指定插入头文件:
1、#include<文件名>
2、#include"文件名"
如果需要包含标准库头文件或者实现版本所提供的头文件,应该使用第一种格式。如下例所示:
#include<math.h>//一些数学函数的原型,以及相搜春关的类型和宏
如果需要包含针对程序所开发的源文件,则应该使用第二种格式。
采用#include命令所插入的文件,通常文件扩展名是.h,文件包括函数原型、宏定义和类型定义。只要使用#include命令,这些定义就可被任何源文件使用。
㈡ c语言输出一个5*6的矩阵怎么表示
用c语言编程输入下列矩阵,用C语言编程的一道题 在主函数内任意输入一个5X6的矩阵,编写一函数求出每一行的和放到一个一位数组中,输入此矩阵及其每一行的和...
非凡运营笔记
转载
关注
0点赞·549人阅读
满意答案
pyqbl001
2014.06.29
采纳率:49% 等级:11
已帮助:5151人
#
㈢ 如何用C语言输出3*3的矩阵
#include "stdio.h"
#define N 3
int main()
{
int a[N][N];
int i,j;
printf("输入%d个整数:\n",N*N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
printf("\n输出矩阵如下:\n");
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
printf("%3d ",a[i][j]);
printf("\n");
}
return 0;
}
㈣ 急求!如何用C语言输出如下矩阵(N*N)
题目要求有一个问题,它要求N最小为2,却要求N为奇数,N为奇数应该最小为3或1才对.
按照题目要求编写的C语言矩阵程序如下
#include<stdio.h>
int main(){
int i,j,k,N,count=1;
scanf("%d",&N);
if(N<=2 || 15<N || N%2==0){
printf("请输入小于等于15且大于2的奇数");
}else{
int a[N][N];
for(i=N/2;i>=0;i--){
k=N-i-1;
for(j=N-i-2;j>=i;j--){
a[j][k]=count++;
}
for(j=N-i-2;j>=i+1;j--){
a[i][j]=count++;
}
for(j=i;j<N-i;j++){
a[j][i]=count++;
}
for(j=i+1;j<N-i;j++){
a[k][j]=count++;
}
}
for(i=0;i<N;i++){
for(j=0;j<N;j++){
printf("%-5d",a[i][j]);
}
printf(" ");
}
}
return 0;
}
㈤ 怎么用C语言输出以下2行4列的矩阵 1234 5678
我建议楼主先用分析下面这个代码分析内外层碧改循环
#include<stdio.h>
int main()
{
int a[2][4]={1,2,3,4,5,6,7,8};
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
{
printf("%d",a[i][j]);
}//这个加了括号后对内外层循环可以看得更清楚些
printf("\n");
}
return 0;/弊局/建议楼主目前还是习惯加上他
}
emmm先看懂上面那个再看下面这个吧
#include<stdio.h>
int main()
{
int a[2][4]={1,2,3,4,5,6,7,8};
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<4;j++)
printf("%d",a[i][j]);//至于为什么不加{},是因为他会自动把for下面那一句执行(不过还是建议你加吧)
printf("\n"租慧让);
}
return 0;//建议楼主目前还是习惯加上他
}
㈥ c语言矩阵怎么写
方法1:直接定义10*10的数组,读取全部数据,再根据选择的行列数打印输出部分数据。
方法2:通过文件流指针的移动,跨过不需要的内容。(这里控制文件流指针可利用ftell和fseek函数来移动指定字节数)我是利用fscanf读取需要的内容,遇到需要跳行就用fgets来跳过。(注意常量参数根据自己需求修改)。
说明:边读取边打印输出,就不需要变量存储。我的代码是把读取出来的内容存放在三维数组中(文件内容你没指定,如是单纯数字,二维数组即可,我是作为字符串处理,故用三维数组。),数组是根据实际大小,动态申请,写成两个独立函数。
下面是代码:
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#define MAXR 10//文件中矩阵最大行
#define MAXC 10//文件中矩阵最大列
#define MS 3//矩阵中元素字符串最大字符数(包含结束符号,不可小于实际内容)
#define MBUF 100//文件中一行最大字符数,可设置大一点
char ***getMem(int r,int c,int len);//动态申请一个三维数组
void freeMem(char ***datas,int r,int c);//释放数组空间
void showDatas(char ***datas,int r,int c);//打印输出结果
int main()
{
int r=MAXR+1,c=MAXC+1,i=0,j=0;
char ***datas=NULL,str[3],buf[MBUF];
FILE *fp=NULL;
printf("请输入要获取的行数和列数: ");
while(r<0 || r>MAXR || c<0 || c>MAXC)scanf("%d%d",&r,&c);
datas=getMem(r,c,MS);
fp=fopen("C:\test.data","r");
if(!fp) return 1;
while(fscanf(fp,"%s",str)!=-1)
{
if(i<c) strcpy(datas[j][i],str),i++;
if(i==c)
{
if(!fgets(buf,sizeof(buf),fp)) break;
i=0,j++;
}
if(j==r) break;
}
showDatas(datas,r,c);
freeMem(datas,r,c);
return 0;
}
void showDatas(char ***datas,int r,int c)
{
int i,j;
for(i=0;i<r;i++,printf(" "))
for(j=0;j<c;j++)
printf("%s ",datas[i][j]);
printf(" ");
}
void freeMem(char ***datas,int r,int c)
{
int i,j;
if(!datas)
{
for(i=0;i<r;i++,free(datas[i]))
for(j=0;j<c;j++)
free(datas[i][j]);
free(datas);
}
}
char ***getMem(int r,int c,int len)
{
int i,j;
char ***datas=NULL,**dr=NULL;
datas=(char ***)malloc(sizeof(char **)*r);
if(!datas) return NULL;
for(i=0;i<r;i++)
{
dr=(char **)malloc(sizeof(char *)*c);
if(!dr) return NULL;
else
{
for(j=0;j<c;j++)
{
dr[j]=(char *)malloc(sizeof(char)*len);
if(!dr[j]) return NULL;
}
datas[i]=dr;
}
}
return datas;
}
㈦ C语言,帮忙看下这道二维数组题,输入的矩阵怎么原样输出啊
在printf("转置矩阵A︐为:\n");的上面加上:
printf("原矩阵A为:\n");
for(i=0;i<3;i++)
{
for(j=0;j<4;j++)
printf("%d ",a[i][j]);
printf("\n");
}
㈧ 如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出。
#include<stdio.h>
void main(){
int array[3][3], (*pArr)[3], *p[3], i, j, sum;
srand(time(NULL));
for(i=0; i<3; i++)
for(j=0; j<3; j++)
array[i][j] = rand()%100+0;
pArr = array;
for(i = 0; i < 3; i++)
for(j = 0; j < 3; j++){
printf("%d ", pArr[i][j]);
if(j == 2){
printf(" ");
}
}
for(i=0; i<3; i++)
p[i] = array[i];
for(i=0; i<3; i++){
sum = 0;
for(j=0; j<3; j++){
sum += p[i][j];
}
printf("第%d行的和是%d ", i+1, sum);
}
}
(8)c语言怎么输出矩阵扩展阅读:
1、printf命令的作用是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。printf()函数的调用格式为:printf("<格式化字符串>", <参量表>)。
printf()是C语言标准库函数,在 stdio.h 中定义。输出的字符串除了可以使用字母、数字、空格和一些察镇纤数字符号以外,还可以使用一些转义字符表示特殊的含义。
2、printf函数调用的一般形式
printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用printf函数之前必须包含stdio.h文件。printf函数调用的一般形式为:printf(“格式控制字符串”,输出表列)其中格式控制字符串用于指定输出格式。
格式控制串可由格式字符串和非格式字符串两种组成。格式旅辩字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如“%d”表示按十进制整型输出,“%ld”表示按十进制长败仿整型输出,“%C”表示按字符型输出等。后面将专门给予讨论。
非格式字符串在输出时原样照印,在显示中起提示作用。输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
㈨ C++中,怎么输出一个n阶矩阵呢
C++中,输出一个n阶矩阵步骤如下:
1、首先,定义8个整型变量,实现n阶矩阵的计算。
㈩ C语言编程 二维数组 输出一个2*3的矩阵
#include<stdio.h>
void main()
{
int a[2][3];
int i,j;
printf("输入一个2*3整型数组 ");
for(i=0;i<2;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
printf("
输出一个2*3整型数组
");
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf(" ");
}
}
(10)c语言怎么输出矩阵扩展阅读:
注意事项
c语言的输入输出可用标准库里面的输入输出函数,即scanf和printf。
输入输出二维数组的例子:
#include<stdio.h>
int main()
{
int M = 5 , N = 5;
int array[M][N]; //定义一个5x5的int数组
printf("输入:");
for(int i = 0 ; i < M ; i++){
for(int j = 0 ; j < N ; j++){
scanf("%d",&array[i][j]);
}
}
printf("输出:");
for(int i = 0 ; i < M ; i++){
for(int j = 0 ; j < N ; j++){
printf("%d ",array[i][j]);
}
}
return 0;
}