回覆列表
  • 1 # gyayl4305

    這個有點困難哦,主要是問題很簡單啦.要case26次就行了.想了一下,要CASE來解決的話,要26個大寫與26個小寫,共52個CASE.下面是用指標來操作,在VC6裡面測試可以透過.#include<iostream.h>#include<string.h>#include<stdio.h>constintN=50;voidmain(){chararray[N],*p;inti,letter[52]={0},*pw;//52個儲存大寫與小寫字母cout<<"Inputastring:"<<endl;p=gets(array);pw=letter;//1for(;(p-array)<int(strlen(array));pw=letter,p++)//2if(*p>="a"&&*p<="z")(*(pw+*p-"a"))++;elseif(*p>="A"&&*p<="Z")(*(pw+26+*p-"A"))++;for(i=0;i<52;i++)//這裡輸出letter[0]-letter[51],大於零個的就輸出if(i<26&&letter[i]>0)cout<<"smallletter:"<<char(i+"a")<<"="<<letter[i]<<endl;elseif(letter[i]>0)cout<<"Strongletter:"<<char(i+"A"-26)<<"="<<letter[i]<<endl;}//1//2是指指標從array[0]到涉獵字串尾大寫與小寫的統計.加A減26等是跟據字元在ASCII中的值來計算的.資料的跨越幅度很大,指標遍歷也很多不知道這樣解釋能不能看得懂.

  • 中秋節和大豐收的關聯?
  • 關於空難的電影有哪些?