在二维数组a中选出各行最大年夜的元素构成一个一维数组b。 a=3 16 87 65 4 32 11 108 10 25 12 37b=(87 108 37) 本题的编程思绪是,在数组A的每一行中寻觅最大年夜的元素,找到之后把该值授予数组B呼应的元素即可。措施如下:
main()
{
static int a[][4]={3,16,87,65,4,32,11,108,10,25,12,27};
int b[3],i,j,l;
for(i=0;i<=2;i )
{ l=a[i][0];
for(j=1;j<=3;j )
if(a[i][j]>l) l=a[i][j];
b[i]=l;}
printf("\narray a:\n");
for(i=0;i<=2;i )
{ for(j=0;j<=3;j )
printf("]",a[i][j]);
printf("\n");}
printf("\narray b:\n");
for(i=0;i<=2;i )
printf("]",b[i]);
printf("\n");
}

  措施中第一个for语句中又嵌套了一个for语句构成了双重轮回。外轮回节制逐行处置,并把每行的第0列元素授予l。进入内轮回后,把l与背面各列元素角力计较,并把比l大年夜者授予l。内轮回竣事时l 即为该行最大年夜的元素,然后把l值授予b[i]。等外轮回一切完成时,数组b中已装入了a各行中的最大年夜值。背面的两个 for语句别离输入数组a和数组b。

  输入五个国度的称呼按字母挨次布列输入。
  本题编程思绪如下:五个国度名应由一个二维字符数组来处置。然则C措辞规定端方可以把一个二维数组当成多个一维数组处置。 因此本题又可以按五个一维数组处置, 而每一个一维数组就是一个国度名字符串。用字符串角力计较函数角力计较各一维数组的大年夜小,并排序, 输入后果即可。
编程如下:
void main()
{
char st[20],cs[5][20];
int i,j,p;
printf("input country's name:\n");
for(i=0;i<5;i )
gets(cs[i]);
printf("\n");
for(i=0;i<5;i )
{ p=i;strcpy(st,cs[i]);
for(j=i 1;j<5;j )
if(strcmp(cs[j],st)<0) {p=j;strcpy(st,cs[j]);}
if(p!=i)
{
strcpy(st,cs[i]);
strcpy(cs[i],cs[p]);
strcpy(cs[p],st);
}
puts(cs[i]);}printf("\n");
}

  本措施的第一个for语句中,用gets函数输入五个国度名字符串。下面说过C措辞允许把一个二维数组按多个一维数组处置, 本措施阐明cs[5][20]为二维字符数组,可分为五个一维数组cs[0],cs[1],cs[2],cs[3],cs[4]。因此在gets函数中运用cs[i]是合法的。 在第二个for语句中又嵌套了一个for语句构成双重轮回。 这个双重轮回完成按字母挨次排序的使命。在外层轮回中把字符数组cs[i]中的国名字符串拷贝到数组st中,并把下标i授予P。 进入内层轮回后,把st与cs[i]今后的各字符串作角力计较,若有比st小者则把该字符串拷贝到st中,并把其下标授予p。内轮回完成后如p不便是 i 阐明有比cs[i]更小的字符串呈现,因此互换cs[i]和st的内容。 至此已确定了数组cs的第i号元素的排序值。然后输入该字符串。在外轮回一切完成之后即完成一切排序和输入。

本章小结

1.数组是措施计划中最常用的数据构造。数组可分为数值数组(整数组,实数组),字符数组以及背面把要介绍的指针数组,构造数组等。

2.数组可以是一维的,二维的或多维的。

3.数组范例阐明由范例阐明符、数组名、数组长度 (数组元素个数)三部分构成。数组元素又称为下标变量。 数组的范例是指下标变量取值的范例。

4.对数组的赋值可以用数组初始化赋值, 输入函数静态赋值和赋值语句赋值三种办法完成。 对数值数组不克不及用赋值语句全体赋值、输入或输入,而必需用轮回语句逐一对数组元素终了利用。

版权声明: 原创作品,允许转载,转载时请务必以超链接方式标明文章 原始理由 、作者信息和本声明。不然将追究司法责任。

转载于:https://www.cnblogs.com/zgqjymx/archive/2011/03/07/1975605.html

C措辞教程第四章: 数组(8)相关推荐

  1. PHP-----PHP程序设计基础教程----第四章数组

    4.1 初识数组 4.1.1 什么是数组 数组是一个可以存储一组或者一系列数值的变量.在PHP中,数组中的元素分两部分,分别为键(Key)和值(Value).其中,"键"为元素的识 ...

  2. C言语教程第四章: 数组(4)

    二维数组的初始化 二维数组初始化也是在类型阐明时给各下标变量赋以初值. 二维数组可按行分段赋值,也可按行一连赋值. 比喻对数组a[5][3]: 1.按行分段赋值可写为static int a[5][3 ...

  3. matlab图形绘制经典案例,MATLAB经典教程第四章_图形绘制.ppt

    <MATLAB经典教程第四章_图形绘制.ppt>由会员分享,可在线阅读,更多相关<MATLAB经典教程第四章_图形绘制.ppt(32页珍藏版)>请在人人文库网上搜索. 1.Ma ...

  4. python核心教程_python核心教程--第四章

    第四章讲的是python对象. 4.1 python对象 所有的python对象都拥有三个特性:身份,类型和值 身份: 每一个对象都有一个唯一的身份标识自己,任何对象的身份可以使用内建函数id()来得 ...

  5. python编程案例教程第四章_Python编程入门-第四章 流程控制 -学习笔记

    第四章 流程控制 一.布尔逻辑 *在Python中,用True和False表示真值.一般使用4个主要的逻辑运算符来组合形成布尔值:not\and\or\==. 如: False==False #Tru ...

  6. 计算化学系列教程-第四章-一维谐振子

    第四章-一维谐振子 本次有3节课程,分别为: 4.1 一维谐振子 https://v.qq.com/x/page/a0902106f9h.html?ptag=qqbrowser 4.2 原子的振动 h ...

  7. Python程序设计与算法基础教程第四章上机题

    第四章来了 1.杨辉三角,很简单 print("1".center(20)) print("1 1".center(20)) print("1 2 1 ...

  8. Visual C++ 2008入门经典 第四章数组 字符串

    /* //学习内容 数组及其使用方法 如何声明和初始化不同类型的数组 如何声明和使用多维数组 指针及其使用方法 如果声明和初始化不同类型的指针 数组和指针之间的关系 引用的概念及声明方法,关于使用引用 ...

  9. Visual C++ 2008入门经典 第四章数组 字符串(练习题)

    //练习题一:/*int arraySize = 5; //数组的长度double* values = new double[arraySize]; //初始化一个values的指针,成员为五个dou ...

  10. Visual C++ 2008入门经典 第四章数组 字符串(二)

    // //4.4 使用引用//引用在许多方面都类似于指针,所以后们放在这里进行讨论,但实现上二者根本不是一回事//4.4.1 引用的概念//引用是另一个变量的别名,这样的别名可以代替原来的变量名,因为 ...

最新文章

  1. 9.65 最长上升子序列
  2. CTFshow 命令执行 web122
  3. TCP/IP和UDP的区别
  4. 易语言多级指针读取_C语言指针难吗?纸老虎而已,纯干货讲解(附代码)
  5. ACL2021 | OntoED:利用本体表示学习实现低资源的事件抽取
  6. FNV摘要HASH算法实战
  7. 时分多路数字电话基带传输系统
  8. ie浏览器不显示echart的Tooltip故障修复
  9. 2D Game Creation - 2D游戏开发基本流程
  10. 一步一步搭建车型数据库小程序
  11. window 获取cpu型号_教你如何修改电脑上的CPU型号信息!
  12. android9自动安装权限9,按键精灵所有者读写权限安卓9.0如何获取?设置
  13. 买阿里云服务器多少钱,不同预算可购买的配置及价格汇总
  14. Python学习笔记--pytorch--随机梯度下降、神经网络与全连接层
  15. Kafka-Eagle中的ke数据库创建
  16. Unity Failed to resolve project template:Failed to decompress
  17. 4G基带模块使用总结
  18. F. Multi-Colored Segments
  19. 现在有些女的一个月工资两三千,每个月消费差不多两三千,你认为这算经济独立吗?...
  20. STM32、NBIOT、Lora模块烧写方法-Hex文件烧录步骤详解-新大陆物联网设备-NEWLab开发板

热门文章

  1. 何夕 - 六道众生·何夕科幻自选集(2014年1月31日)
  2. STM32MP1开发环境搭建
  3. 如何下载微信公众号中的音频、视频文件?
  4. 2.OSGI企业应用开发-Eclipse中搭建Felix运行环境
  5. p5.js炫酷背景动态js特效代码
  6. 代码分析UEFI的执行流程
  7. 用nohup命令让Linux下程序永远在后台执行--zz牧云IT生活
  8. 【LCA】BZOJ1776-[Usaco2010 Hol]cowpol 奶牛政坛
  9. BZOJ 1778: [Usaco2010 Hol]Dotp 驱逐猪猡
  10. 制作rpm包的过程可能会遇见的一些问题