1. 程式人生 > >計算機二級-C語言-程式修改題-190113記錄-對指定字串的大小寫變換處理。

計算機二級-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 }