计算机二级-C语言-程序修改题-190113记录-对指定字符串的大小写变换处理。

//给定程序中fun函数的功能是:将p所指的字符串中每个单词的最后一个字母改成大写。(这里的“单词”是指由空格隔开的字符串)

//重难点:指针对数组的遍历。大小写转换的方法。第一种使用加减32 得到,第二种通过函数转换。gets()函数的使用。

 1 #include <ctype.h>
 2 #include <stdio.h>
 3 #include <string.h>
 4 void fun( char *p )//指针p指向数组首地址
 5 {
 6   int k = 0;
 7   for( ; *p; p++ )
 8      if( k )//这里表示k不等于0的时候
 9      {
10 /**********found***********///出现这个提示,才代表有错误。
11        if( *p == ' ' )//*p是内容,p是地址
12        {
13          k  = 0;
14 /**********found***********/
15          *(p - 1) = (*(p - 1)-32);//通过ASDII值排列顺序进行换算。
16          //*(p - 1) = toupper(*(p - 1));//大小写转换函数
17        }
18      }
19      else
20        k = 1;//k存在的意义是不对每一个单词第一个字母做处理
21 }
22 main()
23 {
24   char chrstr[64];
25   int d ;
26   
27   printf( "\nPlease enter an English sentence within 63 letters: ");
28   gets(chrstr);//参数为数组首地址
29   d=strlen(chrstr) ;
30   chrstr[d] = ' ' ;
31   chrstr[d+1] = 0 ;
32   printf("\n\nBefore changing:\n  %s", chrstr);
33   fun(chrstr);
34   printf("\nAfter changing:\n  %s", chrstr);
35 }

 

posted @ 2019-01-13 09:58  小大大小  阅读(623)  评论(0编辑  收藏  举报