Chap7数组7.1投票情况统计7.2找出矩阵中最大值所在的位置7.3判断回文
Chap 7 数 组 7.1 投票情况统计 7.2 找出矩阵中最大值所在的位置 7.3 判断回文
本章要点什么是数组?为什么要使用数组?如何定义数组?如何引用数组元素?二维数组的元素在内存中按什么方式存放?什么是字符串?字符串结束符的作用是什么?如何实现字符串的存储和操作,包括字符串的输入和输出?怎样理解C语言将字符串作为一个特殊的一维字符数组?
本章要点 ◼ 什么是数组? 为什么要使用数组? 如何定义数组? ◼ 如何引用数组元素? ◼ 二维数组的元素在内存中按什么方式存放? ◼ 什么是字符串? 字符串结束符的作用是什么? ◼ 如何实现字符串的存储和操作,包括字符串的输 入和输出? ◼ 怎样理解C语言将字符串作为一个特殊的一维字符 数组?
7.1投票情况统计例7-1:调查电视节目欢迎程度。某电视台要进行一次对该台8个栏目(设相应栏目编号为1~8)的受欢迎情况,共调查了1000位观众,现要求编写程序,输入每一位观众的投票,每位观众只能选择一个最喜欢的栏目投票,统计输出各栏目的得票情况。7.1.1程序解析7.1.2 一维数组的定义和引用7.1.3一维数组的初始化7.1.4 使用一维数组编程
例7-1:调查电视节目欢迎程度。某电视台要进行一 次对该台8个栏目(设相应栏目编号为1~8)的受 欢迎情况,共调查了1000位观众,现要求编写程 序,输入每一位观众的投票,每位观众只能选择 一个最喜欢的栏目投票,统计输出各栏目的得票 情况。 7.1.1 程序解析 7.1.2 一维数组的定义和引用 7.1.3 一维数组的初始化 7.1.4 使用一维数组编程 7.1 投票情况统计
#include<stdio.h>7.1.1程序解析一排序int main(void )5int count[9];*设立数input your response: 3int i,response;input your response: 6for(i= 1;i<= 8;i++)/*各inputyourresponse:9count[i] = O;for(i = 1;i<= 1000;i++) (/*thisis a bad response: 9printf("input your respg inputyour response: 8scanf("%d",&response)if(response< 1 Il respolprintf("this is a bad r result:aelsecount[response]++;福7printf("result:In");for(i=1;i<=8;i++)printf("%4d%4din",i,count[i]);ireturn O;7
7.1.1 程序解析-排序 # include<stdio.h> int main( void ) { int count[9]; /* 设立数组,栏目编号对应数组下标 */ int i,response; for(i = 1;i <= 8;i++) count[i] = 0; /* 各栏目计数器清0 */ for( i = 1;i <= 1000;i++) {/* 调试时可把1000改小,如10 */ printf("input your response: "); /* 输入提示 */ scanf("%d",&response); if(response < 1 || response > 8) /* 检查投票是否有效*/ printf("this is a bad response: %d\n",response); else count[response]++; /* 对应栏目得票加1 */ } printf("result:\n"); /* 输出各栏目得票情况 */ for(i = 1;i <= 8;i++) printf("%4d%4d\n",i,count[i]); return 0; } input your response: 3 input your response: 6 input your response: 9 this is a bad response: 9 input your response: 8 . result: 1 2 2 0 3 4
例7-1中为何不使用for(i = 1数组count[o]?print[i];356024782count4201010count[8]count[o] count[1]数组:相同类型数据的有序集合,在内存中连续存放。口由数组名和下标惟一地确定每个数组元素口每个元素都属于同一类型一批相同类型的变量使用同一个数组变量名,用下标来相互区分。口优点:表述简洁,可读性高;便于使用循环结构
0 1 2 3 4 5 6 7 8 2 0 4 1 2 1 0 0 for(i = 1;i <= 8;i++) printf("%4d%4d\n",i,count[i]); count count[0] count[1] count[8] 例7-1中为何不使用 count[0]? 数组 ◼ 数组:相同类型数据的有序集合,在内存中 连续存放。 由数组名和下标惟一地确定每个数组元素 每个元素都属于同一类型 ◼ 一批相同类型的变量使用同一个数组变量名, 用下标来相互区分。 优点:表述简洁,可读性高;便于使用循环结构