c 将数字数组转成字符串_C语言经典100例002-将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中...
发布日期:2021-06-24 12:46:48 浏览次数:2 分类:技术文章

本文共 1208 字,大约阅读时间需要 4 分钟。

e3143e3084f00d3c8aabdd3786a815cf.png

系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。

喜欢的同学记得点赞收藏哦~

1 题目

编写函数fun() 函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中 例如: 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容是:WSHWSHWSH

d815fc1d62fd0438430828975c944abb.png

2 思路

第一层循环按照列数进行,第二层循环按照行数

然后依次提出每一列的字符

3 代码

为了熟悉二维数组的指针表示,部分代码给出了数组表示和指针表示

#include
#include
#define M 3 #define N 4 /**编写函数fun()函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中例如:二维数组中的数据为:W W W WS S S SH H H H则字符串中的内容是:WSHWSHWSH**/// 0 1 2 3// 0 W W W W// 1 S S S S// 2 H H H Hchar *fun(char s[M][N], char *res) { int t = 0; for (int i = 0; i < N; ++i) { for (int j = 0; j < M; ++j) { res[t++] = s[j][i]; // res[t++] = *(*(a*i)+i); // 指针表示 } } res[t] = '0'; return res;}int main(int argc, char const *argv[]) { char a[M][N] = {'M', 'M', 'M', 'M', 'S', 'S', 'S', 'S', 'H', 'H', 'H', 'H'}; int size_res = M*N; char res[size_res]; printf("二维数组中元素:n"); for (int i = 0; i < M; ++i) { for (int j = 0; j < N; ++j) { printf("%ct", a[i][j]); // printf("%ct", *(*(a*i)+j)); // 指针表示 } printf("n"); } printf("按列的顺序依次:n%sn", fun(a, res));}

示例结果:

$ gcc ex002.c -o demo$ ./demo二维数组中元素:M M M M`S S S SH H H H按列的顺序依次:MSHMSHMSHMSH

--END--

喜欢本文的同学记得帮忙转发+点赞~

更多内容,欢迎大家关注我们,后续带来更多系列文章以及干货!

更多的内容以及对应的源代码、PDF文档可以后台留言!

转载地址:https://blog.csdn.net/weixin_32823555/article/details/112114685 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:ads无法在进程中查看变量_嵌入式Linux系统编程——linux大神深度给你讲解进程、调度、信号...
下一篇:matlab等距线扫描多边形程序实现_用SolidWorks建模一个联轴器,除了螺纹线,其他的都是些基础操作...

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月26日 05时44分13秒