- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
#include stdio.h main() {char c,string[81]; int I,num=word=0; gets(string); for(I=0;(c=string[I])!=\0;I++) if(c== ) word=0; else if(word==0) {word=1;num++;} printf(There are %d words in the line.\n,num); } 例7.22 输入一行字符,统计其中有多少个单词,单词之间用空格隔开。(ch7-11) 运行情况: 输入:I am a boy. 输出:There are 4 words in the line. 例7.23 输入一串英文字母(不含空格和其它字符),统计每个字母的个数,并输出 字母及相应的个数。(ch7-12) (1)字符串输入字符数组str; (2) 由大写字母的序号str[i]-’A’,及小写字母 的序号str[i]-’a’+26统计字母个数; (3)分别按序号str[i]-’A’与序号str[i]-’a’+26累加结果。存入数组c中 #include stdio.h void main() int i=0,c[52]={0},n=0; {char str[80]; printf(Input a string:); scanf(%s,str); while(str[i]) {if(str[i]=Astr[i]=Z)c[str[i]-A]++; if(str[i]=astr[i]=z)c[str[i]-a+26]++; i++; } for(i=0;i26;i++) if(c[i]){if(m%8==0)putchar(\n);m++; printf(%c, %-d,i+A,c[i]); } for(i=0;i26;i++) if(c[i+26]) {if(m%8==0)putchar(\n);m++; printf(%c,%-d,i+a,c[i+26]); } } 例7.24 从健盘 输入一个4×4整数矩阵,以主对角线为对称轴,将左下角元素中较大元素代替右上角对应元素,并将右上角元素(包括对角线上的元素)输出。(ch7-12) #include stdio.h #include string.h void main() { int d[4][4],i,j,temp; printf(Input 16 numbers;); for(i=0;i4;i++) for(j=0;j4;j++) scanf(%d,d[i][j]); for(i=0;i4;i++) for(j=0;ji;j++) if(d[i][j]d[j][i]) d[j][i]=d[i][j]; for(i=0;i4;i++) { printf(\n); for(j=0;j4;j++) if(j=i)printf(%6d, d[i][j]); else printf(%6c, ); } } 第四学时 7.5 数组作为函数的参数 数组作为函数参数主要有两种情况: 数组元素作为函数的实参:这种情况与普通变量作实参一样,是将数组元素的值传给形参。形参的变化不会影响实参数组元素,我们称这种参数传递方式为“值传递”。 数组名作实参:要求函数形参是相同类型的数组或指针,这种方式是把实参数组的起始地址传给形参数组,形参数组的改变也是对实参数组的改变,称这种参数传递方式为“地址传递”。 1. 数组元素做函数实参 数组元素作为函数实参与简单变量相同,是将元素的值传给函数形参,是单向值传递;函数形参使用简单变量。 例7.13 从键盘上输入两个字符串,不用字符串函数strcmp()比较两者的大小 分析: (1)输入两个字符串,分别存放在str1与str2中; (2)设计函数compstr()比较两字符,返回ASCII 码之差,赋给主函数的变量flag; (3)用do……while循环依次比较两个字符串的对应字符,结束的条件是两字符串至少有一个结束,或者比较字符不相等。 (4)当循环结束时flag 的值为0或为第一个不相等的字符的ASCII码值之差,由此可以判断出字符串的大小 。 程序如下: #include stdio.h main( ) {int i,flag; int compstr(char, char ); char str1[80],str2[80]; gets(str1); gets(str2); i=0; do { flag=compstr(str1[i],str2[i]);/*数组元素作实参*/
文档评论(0)