• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
寒夜月冷
when you believe!!!
      新随笔       管理     

二维字符数组转换

 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 } 

posted @ 2013-01-08 01:58  寒夜月冷  阅读(375)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3