当前位置:首页 » 编程语言 » C语言横变列

C语言横变列

发布时间: 2022-12-26 11:00:53

c语言:二维数组行列互换

由于行、列不确定,所以要动态处理。举例代码如下:

//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
#include"stdlib.h"
intmain(void){
int**a,**b,m,n,i,j;
while(1){//保证输入的行、列数为正数
printf("Pleaseenterm&n(intm>0,n>0)... ");
if(scanf("%d%d",&m,&n),m>0&&n>0)
break;
printf("Error,redo:");
}
a=(int**)malloc((j=sizeof(int))*m);
b=(int**)malloc(j*n);
if(a==NULL||b==NULL){
printf("Applicationmemoryfailure... ");
exit(0);
}
for(i=0;i<m;i++)
if((a[i]=(int*)malloc(j*n))==NULL){
printf("Failedtocreatethearray... ");
exit(0);
}
for(i=0;i<n;i++)
if((b[i]=(int*)malloc(j*m))==NULL){
printf("Failedtocreatethearray... ");
exit(0);
}
for(i=0;i<m;i++)
for(j=0;j<n;scanf("%d",a[i]+j++));
printf(" ");
for(i=0;i<n;i++){
for(j=0;j<m;j++)
printf("%d",b[i][j]=a[j][i]);//a的行、列互换后存入b
printf(" ");
}
for(i=0;i<m;free(a[i++]));
free(a);
for(i=0;i<n;free(b[i++]));
free(b);
return0;
}

Ⅱ c语言中如何将行输入转换成列输入

#include<stdio.h>
void print(int n[5][5])
{
int i, j;
for(i = 0; i < 5; i++)
{
for(j = 0; j < 5; j++)
{
printf("%d\t",n[i][j]);
}
printf("\n");
}
}
void zx1(int n[5][5]) /*以表格的中线旋转 11-15 */
{
int i, j;
int m;
for(i = 0; i < 2; i++)
{
for(j = 0; j < 5; j++)
{
m = n[i][j];
n[i][j] = n[4-i][j];
n[4-i][j] = m;
}
}
}
void zx2(int n[5][5]) /*以表格的中线旋转 3-23*/
{
int i, j;
int m;
for(i = 0; i < 2; i++)
{
for(j = 0; j < 5; j++)
{
m = n[j][i];
n[j][i] = n[j][4-i];
n[j][4-i] = m;
}
}
}
void djx1(int n[5][5]) /*对角线1-25*/
{
int i, j;
int m;
for(i = 0; i < 5; i++)
{
for(j = i; j < 5; j++)
{
m = n[i][j];
n[i][j] = n[j][i];
n[j][i] = m;
}
}
}
void djx2(int n[5][5]) /*对角线21-5*/
{
int i, j;
int m;
for(i = 0; i < 4; i++)
{
for(j = 0; j < 4-i; j++)
{
m = n[i][j];
n[i][j] = n[4-j][4-i];
n[4-j][4-i] = m;
}
}
}
int main()
{
int n[5][5]=;
print(n);
djx2(n);
print(n);
getch();
}

Ⅲ c语言将横版英文变为竖版,

最简单的方法,就是把文章保存到二维数组,然后列、行嵌套循环打印就行。

#include<stdio.h>
#include<string.h>
#defineROW3//字符串行数
intmain()
{
inti,j,flag;
charstr[][10]={"aaabbbbb","eeefff","iiiijjjj"};
printf("原文章: ");
for(i=0;i<ROW;i++)
printf("%s ",str[i]);

printf(" 变成竖版: ");
j=0;
while(1)
{
flag=ROW;
for(i=0;i<ROW;i++)
{
if(j<=strlen(str[i])-1)
printf("%c",str[i][j]);
else
printf(""),flag--;
}
printf(" ");
if(!flag)//所有行最后一位都已打印,结束列循环
break;
j++;
}
return0;
}

Ⅳ c语言数组横向和纵向互相转换 应该怎么编求大神帮忙

#include "stdio.h"
#include "conio.h"
#define N 9
int main()
{
int a[N][N];
int i,j,k=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
a[i][j]=k++;

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

for(i=0;i<N;i++)
for(j=0;j<i;j++){
k=a[i][j];
a[i][j]=a[j][i];
a[j][i]=k;
}

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

Ⅳ c语言怎么将横着的文字变竖

这是你选择编译系统的字体,选错了。
请把字体名字前的"@黑体",改为"黑体"。(具体哪种体不重要,重要的是去掉那个"@")

Ⅵ 使用C语言实现一个字节纵向排列(低位在上、高位在下)转换横向排列(高位在左、低位在右)

假定这个数在b,
依次对B的最低对2取余,然后放到a字节,然后取8次,就地位变成高位了
a=0;
for (i=0;i<8;i++)
{
if (b%2==1)
a=a+1;
a=a*2;
b=b\2;
}

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:377
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:610
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:942
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:510
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371