C語言橫變列
Ⅰ 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;
}