- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
高级语言程序设计C 数组;回顾与思考; 3.将一个数组逆序输出。; 3.将一个数组逆序输出。;#include stdio.h
main()
{ int a[11],i,x,g=0;
printf(Input 10 numbers:\n);
for(i=1;i11;i++)
scanf(%d,a[i]);
printf(\n);
printf(“请输入欲查找的数:\n);
scanf(%d,x);
for(i=1;i=10;i++)
{
if(a[i]==x)
{ printf(“找到位置为%d”,i);
g=1;
break;}
}
if(g==0)
printf(“对不起,查无此数!\n”);
};折半查找:对排好序(如从小到大)的数进行 查找
顺序查找需要查找的次数比较多,设有n个数,平均需要查找n/2次,用折半查找就快得多。
(1)指导思想:先将中间的数与待查的数比较,如果找到就结束查找,否则,若待查数小于中间数,应在前半部分继续查找;若待查数大于中间数,应在后半部分继续查找。在一半范围内查找还是用中间数与待查数比较,直到待查范围缩小到没有数为止。理论上,折半查找平均查找次数为log2n
(2)具体方法:设三个变量mid、low和high,分别表示查找范围的中间数、第一个数和最后一个数,查找中如果没有找到,则不断迭代这些变量,直到找到或查找范围缩小到没有数为止。
;本次课中需要解决的问题;字符数组和字符串
字符数组
定义 ;例9 输出一个字符串;字符串
字符串及其结束标志
无字符串变量,用字符数组处理字符串
字符串结束标志:‘\0’;字符串的输入输出
逐个字符I/O: %c
整个字符串I/O: %s;例12 main( )
{ char a[5]={‘H’,’e’,’l’,’l’,’o’};
printf(“%s”,a);
};main()
{
char a[]={h,e,l,\0,l,o,\0};
printf(%s,a);
};main()
{
int i;
char a[5];
scanf(%s,a);
for(i=0;i5;i++)
printf(%c,a[i]);
};例16 字符串输入举例;例 若准备将字符串“This is a string.”记录下来,
错误的输入语句为:
(A)scanf(“%20s”,s);
(B)for(k=0;k17;k++)
s[k]=getchar();
(C)while((c=getchar())!=‘\n’)
s[k++]=c;;常用的字符串处理函数
包含在头文件 string.h
;字符串连接函数strcat
格式:strcat(字符数组1名,字符数组2)
功能:把字符数组2连到字符数组1后面
返值:返回字符数组1的首地址
说明:?字符数组1必须足够大
?连接前,两串均以‘\0’结束;连接后,串1的‘\0’取消,
新串最后加‘\0’;例17 strcpy与strcat举例;字符串比较函数strcmp
格式:strcmp(字符串1,字符串2)
功能:比较两个字符串
比较规则:对两串从左向右逐个字符比较(ASCII码),
直到遇到不同字符或‘\0’为止
返值:返回int型整数,a. 若字符串1 字符串2, 返回负整数
b. 若字符串1 字符串2, 返回正整数
c. 若字符串1== 字符串2, 返回零
说明:字符串比较不能用“==”,必须用strcmp;#include string.h
#include stdio.h
main()
{ char str1[] = ”Hello!, str2[] = ”How are you?”,str[20];
int len1,len2,len3;
len1=strlen(str1); len2=strlen(str2);
if(strcmp(str1, str2)0)
{ strcpy(str,str1); strcat(str,str
原创力文档


文档评论(0)