二维字符数组转换

 1 /*二维字符数组转换(卜胜贤)
 2 题目描述:
 3 编写函数fun, 函数的功能是: 将M行N列的二维数组中的字符数据, 按列的 
 4 顺序依次放到一个字符串中。 
 5 例如, 二维数组中的数据为: 
 6 W W W W 
 7 S S S S 
 8 H H H H 
 9 则字符串中的内容应是: WSHWSHWSH。 
10 (知识点:数组、指针)
11 输入描述:
12 输入为一个3行4列二维字符数组数据
13 输出描述描述:
14 输出为一个长度为12的字符数组;
15 #include<stdio.h>
16 void main()
17 {
18     char a[3][4],s[12];
19     char (*p1)[4],*p2;
20     int i;
21     void fun(char (*p1)[4],char *p2);
22     for(i=0;i<4;i++)
23     {
24         scanf("%c",&a[0][i]);
25         getchar();
26     }
27     for(i=0;i<4;i++)
28     {
29         scanf("%c",&a[1][i]);
30         getchar();
31     }
32     for(i=0;i<4;i++)
33     {
34         scanf("%c",&a[2][i]);
35         getchar();
36     }
37     p1=a;
38     p2=s;
39     fun(p1,p2);
40     puts(s);
41 }
42 void fun(char (*p1)[4],char *p2)
43 {
44     int i,j;
45     for(i=0;i<4;i++)
46         for(j=0;j<3;j++)
47         {
48             *p2=*(*(p1+j)+i);
49             p2++;}
50         *p2='\0';
51            
52 }*/
53 #include <stdio.h>
54 void main()
55 {
56     char a[3][8],b[24];
57     int i,j,k=0,t=0;
58     for(i=0;i<3;++i)
59         for(j=0;j<8;++j)
60             scanf("%c",&a[i][j]);
61 
62     while(k<24)
63     {  
64        b[k]=a[k%3][t];
65        k++;
66        if(k%3==0)
67            t++;
68         
69     }
70     for(i=0;i<24;++i)
71     {
72         if(b[i]!=' ')
73            printf("%c",b[i]);
74         if(b[i]=='\n')
75             break;
76     }
77 } 

转载于:https://www.cnblogs.com/hanyue-AC/archive/2013/01/08/2850448.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值