将字符串中的小写字母转换成大写字母。 应用举例 1、 【例 7. 20】 输入五个国家的名称按字母顺序排列输出。 本题编程思路如下: 五个国家名应由一个二维字符数组来处理。 然而C 语言规定可以把一个二维数组当成多个一维数组处理。 因此本题又可以按五个一维数组处理, 而每一个一维数组就是一个国家名字符串。 用字符串比较函数比较各一维数组的大小, 并排序, 输出结果即可。 编程如下: main() { char st[20], cs[5][20]; int i, j, p; printf("input country' s name:\n") ; for(i=0; i<5; i++) gets(cs[i]) ; printf("\n") ; for(i=0; i<5; i++) { p=i; strcpy(st, cs[i]) ; for(j=i+1;j<5; 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) ; } puts(cs[i]) ; } printf("\n") ; } 2、 输入一行字符, 统计其中有多少个单词, 单词之间用空格分隔开。 算法分析: 3、 输入数字字符串中个数字出现的频数。 算法: S 存储字符串; 利用 a[0]~a[9]记录数字出现的频数 判断条件: 如果 s[i]在’0’~’9’之间, 则 a[s[i]‐‘0’]++; 4、 字符串逆转, 从键盘输入一个长度不超过 N(N<80) 的字符串(字符串可以包括空格、以回车结束输入), 编程将此字符串逆转后输出。 算法 字符串 s; s[i]与 s[k‐i‐1]互换(k 为字符串长度, i 的变化范围为 0~k/2) 5、 电文密码 A—Z a—z B—Y b‐‐y C—X c‐‐x …. … 即第 1 个字母变成第 26 个字母, 第 i 个字母变成第(26‐i+1) 个字母, 非字母字符不变。要求编程分别实现加密和解密, 并打印出原文和密码!(假设字符串的长度不超过 200) 6、 从键盘输入一个英文句子, 以句点’.’结束, 句子中各单词间以空格间隔, 编程统计英文句子中单词的个数和英文句子中的字符总个数(不包括空格)。 7、 输入两个字符串 a 和 b, 判断字符串 b 是否是字符串 a 的子串, 如果是, 则输出字符串b 在字符串 a 中的开始位置(首次出现的位置); 否则输出 0. 例如: 字符串 a 为”This is a book.”, 若字符串 b 为”is”, 则输出结果为:3 8、 输入若干单词, 打印出各单词的长度, , 各单词用空格符、 跳格符或换行符分隔。(中学生 C 语言 88 页)