- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /****** 文件名:ex051101.c ******/ /****** 成绩分析 ******/ #define STDNUM 4 #define COURNUM 3 void studAveSccre(double [][COURNUM]); void courAveSccre(double b[][COURNUM]); int main(void) { double score[STDNUM][ COURNUM]={{89,78,56}, {88,99,100},{72,80,61},{60,70,75}}; studAveSccre(score); /* 传送实际数组名 */ courAveSccre(score); return 0; } 程序的运行结果为: C语言程序设计 **五、字符串数组 二维字符数组可以存放若干个字符串,可以构成一个字符串数组。 如:char name[10][80]; 根据二维数组一维化的方法,name是一维数组,有10个元素:name[0]、 name[1]、 name[2]、 name[3]、 name[4]、 name[5]、 name[6]、 name[7]、 name[8]、 name[9]。而这每一个元素又是一个有80个元素的字符数组。 C语言程序设计 即共有10行,每一行存放一个字符串。初始化时,可以为每一行赋一个字符串。 如: char c1[5][8]={China,Japan,America}; 在内存中分布如下: c1[0] C h i n a \0 c1[1] J a p a n \0 c1[2] A m e r i c a \0 c1[3] … \0 c1[4] … \0 C语言程序设计 按行存放每一个字符串,但在字符串结束符后面有一个空闲的空间。一般按最长的字符串定义列下标。 可按下列语句输出: for(i=0;i5;i++) printf(“%s”,c1[i]); C语言程序设计 [例]用一个二维数组存放着从第一届到第十九届足球世界杯冠军国家的名称,编程求出历届世界杯比赛中共有多少个国家曾获得过世界冠军。 第1届: 乌拉圭 第11届:阿根廷 第2届: 意大利 第12届:意大利 第3届: 意大利 第13届:阿根廷 第4届: 乌拉圭 第14届:西 德 第5届: 西德 第15届:巴 西 第6届: 巴西 第16届:法 国 第7届: 巴西 第17届:巴 西 第8届: 英格兰 第18届:意大利 第 9届:巴西 第19届:西班牙 第10届:西 德 C语言程序设计 分析:这是一个统计的问题,但要注意有的国家曾多次夺冠,只能算一次。 实现方法:对各国家名逐个取出判断,如果在前面已经被统计过,则不能重复统计,反之计数器加1。 国名 下标 记数 乌拉圭 0 +1 意大利 1 +1 意大利 2 ? 乌拉圭 3 ? 西德 4 +1 巴西 5 +1 巴西 6 ? 英格兰 7 +1 巴西 8 ? 西德 9 ? 阿根廷 10 +1 意大利 11 阿根廷 12 ? 西德 13 ? 巴西 14 ? 法国 15 +1 巴西 16 ? 意大利 17 ? 西班牙 18 +1 C语言程序设计 #include stdio.h #include string.h main() { int count,i,j; char cty[19][25]; for(i=0;i19;i++) { printf(“请输入第%d届冠军国家的名称:”,i+1); gets(cty[i]); } count=1; C语言程序设计 for(i=1;i19;i++) { for(j=0;ji;j++) if(strcmp(cty[i],cty[j])==0) break; /*停止内层循环*/ if (j==i) count++; } printf(“历届世界杯中共有%d个国家得过冠军。\n”,count); } C语言程序设计 *[例]从键盘输入若干文本行(不超过40行,每行不超过60个字符),遇到空行结束输入,然后将此文本左侧加上行号后输出。 输入: I am a student.↓ I am twenty.↓ ↓ 输出:
文档评论(0)