工程與科技
大學
已解決

請問要怎麼避免使用者輸入的文字是中文的問題呢?因為你好嗎的嗎的ㄇ在鍵盤上對應的剛好是英文字母的a所以才會產生此問題~有什麼方法可以判斷使用者輸入的是中文或是英文呢?

p - Dev-C++ 5.11 手套(2) 執行O 工具0) AStyle (NV) 求助(H) TOM-GCC 4.9.2 E4-bit Release +1.cpp int main() { char ch; int i; int str1[5]={0,0,0,0,0};// ALIX Fifaeiou char str[60]; printf("請輸入一段字串,可分別計算此字串出現aeiou的次數\n"); gets(str); aeiou(str, str1);// GIÁTOZEFÉKFI printf("al:WIT*%d\n", str1[0]);|| printf("el ELIJK%d\n", str1[1]); printf("iWIK%d\n", str1[2]); printf("o::ELAT%d\n", str1[3]); printf("u: BiJX%d\n", str1[4]); system("pause"); return 0; 已经 医這 搜言结果 是小E Lon results... 0 TS: 0 Filename: C:\Users\User\Desktop #1.exe Size: 130.470703125 KiB ition Time: 0.24s 0 行動: 56 程案長度:147 插入追式 2 (77 0.015 )
cpp - Dev-C++ 5.11 -) **) Eliz) IEM) AStyle FEW) E (H) TDM-GCC 4.9.2 文件1.cpp void aeiou(char str[], int str1[]) 日{ { int i; while(str[i]!='\0'){ 自 if(str[i]==65|| str[i]==97){ str1[]++; i++; continue;//代表回到迴圈最開始的地方執行程式 } else if(str[i]==69|| str[i]==101) { str1[1]++; i++; continue; } else if(str[i]==73|| str[i]==105){ str1[2] ++; i++; continue; 自 | 領導紀錄 除錯 搜尋結果 長小化 pilation results... CrOrs: 0 urnings: 0 atput Filename: C:\Users\User\Desktop\ #1.exe atput Size: 130.470703125 KiB ompilation Time: 0.25s 三字數: 0 绝行數: 56 檔案長度:1047 插入模式 完成解析(花了0.015 秒) DEV IA TSUS
新文件| 1.cpp - [EKedung DEVINE ty (P) ELT LED Astyle EW 三) 新文件1.cpp 4 int main() 5日 { C:\Users\User\Desktop\新文件1.exe 請輸入一段字串,可分别計算此字串出現aeiou的次數 你好嗎 a出現的次數為1 e出現的次數為0 i出現的次數為0 10出現的次數為0 u出現的次數為0 1請按任意鍵繼續 1 1 1. 1 1 1 1 1 2 2.
寫程式

解答

✨ 最佳解答 ✨

要不要參考看看

#include <ctype.h>

int isalpha(int c);

【參數】c 為需要被檢測的字符。

【返回值】若參數c 為英文字母(a ~ z A ~ Z),則返回非 0 值,否則返回 0。

Jasmine

謝謝你~有成功解決問題了~

留言
PromotionBanner
您的問題解決了嗎?