① c語言 輸入一個字元,判斷是字母,數字,還是特殊字元
#include <stdio.h>
#include<string.h>
#define N 100
main()
{
char all[N];
int i;
printf("請輸入一個字元串(不超過100個):");
gets(all);
for(i=0;all[i];i++)
{
if(all[i]>'a'&&all[i]<'z'||all[i]>'A'&&all[i]<'Z')
printf("字母! ");
else if(all[i]>'0'&&all[i]<'9')
printf("數字! ");
else printf("其他字元! "); }
}
(1)c語言如何將字元一個一個判斷擴展閱讀:
根據ascii碼值判斷即可。由於數字,大小寫字母均分別為連續存儲,所以只需要與對應的最大最小值比較即可確定字元類型。、
② c語言中怎麼判斷一個字元數組中的一項和輸入的字元是否一樣
『/0』
不是空字元,它是個轉義字元,和\n差不多,它占內存!ascii值為000的是空字元,不佔內存!『/0』用於表示一個字元串的結束標志!空格輸入字元ascii值為032,也占內存。所以判斷一個字元變數是否空格c==『
'或c==32.
③ 關於C語言如何判斷字元,請高手解答
不要用scanf輸入,用gets,輸入字元串的時候,scanf會把空格當成字元串之間的分隔符,如果你輸入how
are
you,那麼系統把空格當成分隔符,會先把how送入字元串中,把how當成一個字元串處理,所以自動在how後面加'\0',how後面的字元全讀不進來.用gets就可以解決這個問題.
#include
"stdio.h"
#include"string.h"
main()
{char
ch[100];
int
i,n,upp=0,low=0,dig=0,spa=0,oth=0;
printf("input
character;\n");
gets(ch);
printf("%s\n",ch);
n=strlen(ch);
for(i=0;i
='a'&&ch[i]<='z')low++;
else
if(ch[i]>='A'&&ch[i]<='Z')upp++;
else
if(ch[i]>'0'&&ch[i]<='9')dig++;
else
if(ch[i]=='
')spa++;
else
oth++;
}
printf("\nupper
case:%d\n",upp);
printf("lower
case
:%d\n",low);
printf("digit
:%d\n",dig);
printf("space
:%d\n",spa);
printf("other
:%d\n",oth);
}
④ c語言中如何在給定的一個字元串中判斷是否有另外一個輸入的字元串有什麼簡單方法嗎
char arr1[];
char arr2[]; //你的倆字元串
int main()
{
unsigned Arr1Len = strlen(arr1); //字元串1的長度
unsigned i = 0,j = 0,count = 0;
for(i;i<Arr1Len;i++) //根據1的長度決定循環次數
{
/*循環對比,找到就推出循環並且計數加一*/
while(arr2[j++]!='\0')
{
if(arr1[i]==arr2[j])
{
count++;
j=0;
break;
}
}
}
printf("出現次數為%d\n",count);
}
大體的思路,沒編譯過
⑤ 用c語言如何判斷一個字元串常量的字母個數,數字個數,空格個數,其他個數
下面是我的程序:
#include
#define
n
81
#include
int
main()
{
char
str[n];
int
i,n,zimu,num,kongge,others;
zimu=num=kongge=others=0;
gets(str);
n=strlen(str);
for(i=0;i
='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='a'&&str[i]<='z')
zimu++;
else
if(str[i]>='0'&&str[i]<='9')
num++;
else
if(str[i]='
')
kongge++;
else
others++;
printf("\n字母:%d,數字:%d,空格:%d,其他:%d",zimu,num,kongge,others);
return
0;
}
希望對你有所幫,記得採納哦。
⑥ C語言如何判斷輸入的字元串等於某個字元串
1)最前面加 #include <string.h>
2)然後把你的enter修改成 char enter[18];
3)然後輸入不應該是用%c而是%s
4)比較代碼是
if(strcmp(enter,"想比較的字元串")==0)
{//表示相等
}
else
{//不等
}
⑦ c語言中如何將一個字元串中的每個字元分出開存入數組中或者對單個字元進行判斷
C語言中,對於字元串就是用字元數組來實現的,所以要想處理單個字元,只需要索引數組即可;而字元串的拷貝可以通過strcpy函數,也可以自己用循環實現
⑧ c語言如何定義一個函數判斷一個字元串是否含有空白字元
這樣定義:
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
這是一個使用這個函數的一個例子:
#include <stdio.h>
#include <ctype.h>
int haveaspace(char *s)
{
int i;
for(i=0;s[i];i++)
if(isspace(s[i]))
return 1;
return 0;
}
int main()
{
char s1[]="aaa1A+";
char s2[]="aaa1 1A+";
if(haveaspace(s1))
printf("%s包含空白字元\n",s1);
else
printf("%s不包含空白字元\n",s1);
if(haveaspace(s2))
printf("%s包含空白字元\n",s2);
else
printf("%s不包含空白字元\n",s2);
return 0;
}
⑨ 字元串中怎麼判斷某個字元 C語言
簡單的話可以用正則表達式
自己寫可以類似下面來做
#include "string.h"
typedef struct {
char* str;
int (*check)(char* str, int* len);
}Rule;
int rule1(char* s, int* len) {
if (s[0] >= '0' && s[0] <= '1') {
if (s[1] >= '0' && s[1] <= '1') {
*len = 2;
return 1;
}
*len = 1;
return 1;
}
return 0;
}
int rule2(char* s, int* len) {
char* str[4] = {"C5", "E5", "D4", "D6"};
int i;
for (i = 0; i < 4; i++) {
if (s[0] == str[i][0] && s[1] == str[i][1]) {
*len = 2;
return 1;
}
}
return 0;
}
Rule rule[] = {
{"<&", NULL},
{NULL, rule1},
{"&,/[D->", NULL},
{NULL, rule2},
{"]>", NULL},
};
int check_string(char* s) {
int i;
for (i = 0; i < sizeof(rule)/sizeof(Rule); i++) {
Rule* r = &rule[i];
if (r->str) {
int len = strlen(r->str);
if (memcmp(s, r->str, len)) {
return 0;
}
s += len;
}
else if (r->check) {
int len;
if (r->check(s, &len) == 0) {
return 0;
}
s += len;
}
}
return 1;
}
#define CHECK(str) printf("check %s %s\n", str, check_string(str)? "OK":"Fail");
int main() {
CHECK("<&11&,/[D->D6]>");
CHECK("<&10&,/[D->D4]>");
CHECK("<&10&,/[D->D1]>");
CHECK("<&0&,/[D->C5]>");
return 0;
}
⑩ 用C語言怎麼判斷一個字元串是否為空
就是用strlen(變數)==0來判斷一個字元串是否為空,空格也是一個字元,字元串結束的標識符是'\0'