java異常處理的機制有哪些
阿新 • • 發佈:2020-11-17
疑難問題(8.8)
時間:2020/12/12
執行程式:VS2019
#include<stdio.h> int main() { int i=0, j=0, k=0, l=0, m=0, n=0; char str[20]; printf("請輸入文字:\n"); scanf_s("%s",str,sizeof(str)); while ((str[i] != '\n')&&(i<=20)) { if ((str[i] >= 'A') && (str[i] <= 'Z')) n++; else if ((str[i] >= 'a') && (str[i] <= 'z')) j++; else if (str[i] == ' ') k++; else if ((str[i] >= '0') && (str[i] <= '9')) l++; else m++; i++; } printf("%d個大寫字母\n%d個小寫字母\n%d個空格\n%d個數字\n%d個特殊字元\n", n, j, k, l, m); return 0; }
執行結果:
問題:將後面沒有字元的算成特殊字元且不接受空格符
解決:scanf無法接受空格符,改用gets函式,並加上str[i]!=’\0’條件
執行結果如圖