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