C语言第7章数组解析.ppt
文本预览下载声明
例7.25 输入五个国家的名称按字母顺序排列输出。 国家名是字符串,5个国家名应用一个二维字符数组来表示。此题相当于对5个字符进行升序排序。排序时用strcmp函数比较各串的大小。用选择排序法排序 # include stdio.h # include string.h /*使用strcmp函数须加上头文件string.h*/ void main() { char st[20],cs[5][20]; /*定义二维数组存放5个国家名,*/ int i,j,p; printf(input countrys name:\n); for(i=0;i5;i++) /*输入5个名字*/ gets(cs[i]); for(i=0;i4;i++) /*用选择法排序*/ { p=i;strcpy(st,cs[i]); for(j=i+1;j5;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); } } printf(The resualt is:\n); for(i=0;i5;i++) puts(cs[i]); } * * * * 字符串和字符串结束标志 * C语言允许用字符串的方式对数组作初始化赋值。例如: char c[10]={c, ,p,r,o,g,r,a,m}; 相当于 char c[10]={c, ,p,r,o,g,r,a,m,’\0’}; 相当于 char c[]={c, ,p,r,o,g,r,a,m,’\0’}; 相当于 char c[]={C program}; 相当于 char c[]=C program; 字符数组—字符串函数 1. puts函数 形式: puts (字符数组) 作用:将一个字符串(以′\0′结束的字符序列)输出到终端。 如:char st1[ ]=“china”; puts(st1); char str[]={″China\nBeijing″}; puts(str); 输出结果: China Beijing 字符数组—字符串函数 2. gets函数 形式:gets(字符数组) 作用:从终端输入一个字符串到字符数组。例 例: gets(str) 从键盘输入: Computer↙ 注意:送给数组的共有9个字符。 注意: 用puts和gets函数只能输入或输出一个字符串。 不能写成: puts(str1,str2) 或 gets(str1,str2) 字符数组—字符串函数 3.strcat函数 形式:strcat(字符数组1,字符数组2) 作用:连接两个字符数组中的字符串,把字符串2接到字符串1的后面,结果放在字符数组1中。 例如: char str1[30]={″People′s Republic of ″}; char str2[ ]={″China″}; printf (″%s″,strcat(str1,str2)); 输出: People′s Republic of China 字符数组—字符串函数 4. strcpy函数 形式:strcpy(字符数组1,字符串2) 作用:将字符串2复制到字符数组1中去。 例如: char str1[10[,str2[]={″China″}; strcpy(str1,str2); 说明 : 1.字符
显示全部