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

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

后续C语言经典100例将会以pdf和代码的形式发放到公众号

欢迎关注:计算广告生态 即时查收

1 题目

编写函数fun()

函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中

例如:

二维数组中的数据为:

W W W W

S S S S

H H H H

则字符串中的内容是:WSHWSHWSH

2 思路

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

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

3 代码

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

#include<stdio.h>
#include<string.h>
#define M 3
#define N 4
/**
编写函数fun()
函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中 例如:
二维数组中的数据为:
W W W W
S S S S
H H H H
则字符串中的内容是:WSHWSHWSH
**/ // 0 1 2 3
// 0 W W W W
// 1 S S S S
// 2 H H H H char *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("%c\t", a[i][j]);
// printf("%c\t", *(*(a*i)+j)); // 指针表示
}
printf("\n");
} printf("按列的顺序依次:\n%s\n", fun(a, res));
}

示例结果:

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

-- END --

喜欢本文的同学记得点赞、转发、收藏~

更多内容,欢迎大家关注我们的公众号:计算广告生态

后续C语言经典100例将会以pdf和代码的形式发放到公众号

同时也带来更多系列文章以及干货!

C语言经典100例-ex002的更多相关文章

  1. C 语言经典100例

    C 语言经典100例 C 语言练习实例1 C 语言练习实例2 C 语言练习实例3 C 语言练习实例4 C 语言练习实例5 C 语言练习实例6 C 语言练习实例7 C 语言练习实例8 C 语言练习实例9 ...

  2. C语言经典100例-ex001

    系列文章<C语言经典100例>持续创作中,欢迎大家的关注和支持. 喜欢的同学记得点赞.转发.收藏哦- 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即 ...

  3. C语言经典100例(1-50)

    [程序1] 题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 分析:可填在百位.十位.个位的数字都是1.2.3.4.组成所有的排列后再去掉不满足条件的排列. main ...

  4. C语言经典100例(51-100)

    [程序51] 题目:学习使用按位与 & . 分析:0&0=0; 0&1=0; 1&0=0; 1&1=1 #include "stdio.h" ...

  5. 黑马程序员——经典C语言程序设计100例

    1.数字排列 2.奖金分配问题 3.已知条件求解整数 4.输入日期判断第几天 5.输入整数进行排序 6.用*号显示字母C的图案 7.显示特殊图案 8.打印九九口诀 9.输出国际象棋棋盘 10.打印楼梯 ...

  6. C语言程序设计100例之(11):求质数

    例11  求质数 问题描述 质数是指除了有1和自身作为约数外,不再有其他约数的数.比如:3.5.7是质数.而9不是质数,因为它还有约数3. 编写程序求给定区间中的所有质数. 输入格式 两个整数a和b, ...

  7. C语言程序设计100例之(4):水仙花数

    例4    水仙花数 题目描述 一个三位整数(100-999),若各位数的立方和等于该数自身,则称其为“水仙花数”(如:153=13+53+33),找出所有的这种数. 输入格式 没有输入 输出格式 若 ...

  8. C语言程序设计100例之(6):数字反转

    例6    数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入格式 ...

  9. C语言程序设计100例之(14):丑数

    例14   丑数 问题描述 丑数是其质因子只可能是2,3或5的数.前10个丑数分别为1, 2, 3, 4, 5, 6, 8, 9, 10, 12.输入一个正整数n,求第n个丑数. 输入格式 每行为一个 ...

随机推荐

  1. (数据科学学习手札96)在geopandas中叠加在线地图

    本文示例文件已上传至我的Github仓库https://github.com/CNFeffery/DataScienceStudyNotes 1 简介 国庆期间,抽空给大家分享在geopandas中叠 ...

  2. 走进shiro,构建安全的应用程序---shiro修仙序章

    0. 写在前面 在最近的一个项目当中,我们基于Shiro实现我们系统的认证和授权.借此机会,写几篇博客,总结一下在本次实践当中遇到的问题,和较全面地学习一下Shiro的知识点, 1. 权限管理 权限管 ...

  3. CTFweb方向小知识点

    1)转义字符 \x35\x35\x2c\x35\x36\x2c\x35\x34\x2c\x37\x39 这玩意叫转义字符,在C.C++里直接用cout << "\x35\x2c\ ...

  4. DES加解密算法(C语言实现)

    DES加密和解密算法的实现(C语言) 主要是做个记录,害怕以后代码丢了,先放到这里了. DES再不进行介绍了,可以看上一篇的 DES 的python实现 转载请注明出处:https://www.cnb ...

  5. win10下安装使用Docker:Docker for Windows

    一.下载win10下安装docker和桌面管理的工具: 下载地址:Docker for Windows 安装软件学习地址:https://www.runoob.com/docker/docker-tu ...

  6. Tensorflow学习笔记No.1

    使用tf.keras.Sequential()建立网络模型 整个过程可分为五步:1创建Sequential模型,2添加所需要的神经层,3使用.compile方法确定模型训练结构,4使用.fit方法 使 ...

  7. Oracle 数据库下赋予用户的执行存储过程和创建表权限

    grant create any table to username; grant create any procedure to username; grant execute any proced ...

  8. Python+Appium自动化测试(5)-appium元素定位常用方法

    对于Android而言,查找appUI界面元素属性的工具有三种:appium desktop,uiautomatorviewer.bat,weditor.之前已经介绍过了weditor的使用,这里我将 ...

  9. python 爬取简书评论

    import json import requests from lxml import etree from time import sleep url = "https://www.ji ...

  10. webmagic源码浅析

    webmagic简介 webmagic可以说是中国传播度最广的Java爬虫框架,https://github.com/code4craft/webmagic,阅读相关源码,获益良多.阅读作者博客[代码 ...