计算机二级-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 }

 

转载于:https://www.cnblogs.com/ming-4/p/10261949.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值