|
发表于 2019-1-6 20:14:43
|
显示全部楼层
本楼为最佳答案
本帖最后由 xypmyp 于 2019-1-6 20:20 编辑
If you insist to use array instead.
- // In this program you will need to look at the ASCII table, easier
- _Bool debugSwitch = FALSE;
- int main(void){
- char charArray[16];
- char letterAccumla = null; char numberAccumla = null; char spaceAccumla = null; char otherAccumla = null;
- for(unsigned char accumla = null; accumla < sizeof charArray; accumla++){
- scanf("%1c", charArray + accumla);
- if((charArray[accumla] < 0x005B && charArray[accumla] > 0x0040) || (charArray[accumla] < 0x007B && charArray[accumla] > 0x0060)){
- letterAccumla++;
- }else if(charArray[accumla] < 0x003A && charArray[accumla] > 0x002F){
- numberAccumla++;
- }else if(charArray[accumla] == 0x0020){
- spaceAccumla++;
- }else{
- otherAccumla++;
- if(charArray[accumla] == 0x000A){
- otherAccumla--;
- break;
- }
- }
- }
- printf("letterCounter = %d\nnumberCounter = %d\nspaceCounter = %d\notherCounter = %d\n",
- (unsigned int)letterAccumla, (unsigned int)numberAccumla, (unsigned int)spaceAccumla, (unsigned int)otherAccumla);
- return 0;
- }
复制代码 |
-
RESULT
-
|