『壹』 c語言里 輸入時 怎麼判斷是字元還是數字
需要准備的材料分別有:電腦、C語言編譯器。
1、首先,打開C語言編譯器,新建一個初始.cpp文件,例如:test.cpp。
『貳』 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語言怎麼判斷我輸入的5個字元中含有非數字字元
你的意思是你要連著輸入5個字元,沒有空格也沒有換行?那你的輸入方法用錯了,因為%d的范圍可以包括int類型的取之范圍的,所以不管你輸入多少位,系統永遠認為你輸入的是一個int,你可以用gets()呀,先獲得連續的字元串,你就可以用a[i]<'0'
||
a[i]>'9'來判斷了,當然a[i]的類型是char類型的,如果不確定是幾位,你可以定義char
a[100],到時候用strlen獲得長度,a[strlen(a)]
=
'\0'就好啦
,隨便寫個程序給你看看吧
#include
<stdio.h>
#include
<string.h>
int
main()
{
char
a[100];
int
n
=
0;
gets(a);
for(int
i
=
0;
i
<
strlen(a);
i++)
{
if(a[i]
<
'0'
||
a[i]
>
'9')
{
n++;
}
else
printf("%c",
a[i]);
}
printf("\n%d\n",
n);
getchar();
return
0;
}
『肆』 C語言中給定一個字元串,判斷它是否包括字母和數字
1 定義兩個flag,用來標記是否含有字母和數字,初始值為0;
2 輸入字元串;
3 遍歷字元串,如果發現字母,標記字母flag,如果發現數字,標記數字flag;
4 遍歷結束,或者兩個flag均被標記,退出循環;
5 輸出結果。
代碼如下:
intmain()
{
chars[100];
intc,n,i;
c=n=0;
gets(s);
for(i=0;s[i];i++)
{
if(s[i]>='0'&&s[i]<='9'&&n==0)
{
n==1;
if(c)break;
}
if((s[i]>='a'&&s[i]<='z'||s[i]>='A'&&s[i]<='Z')&&c==0)
{
c==1;
if(n)break;
}
}
if(n)printf("含有數字 ");
elseprintf("沒有數字 ");
if(c)printf("含有字母 ");
elseprintf("沒有字母 ");
}
『伍』 C語言要怎樣判斷是否為字元
例如前綴的數據類型定義為char
的都是字元,再者就是每個字元都有單引號包括。竭誠為您服務,解答難題,祝您開心,生活加油~~~
『陸』 C語言 判斷一個字元串str是否包含特定字元c
看看你的程序:
for(i=0;i<=strlen(s);i++)
{if(s[i]==c)
break;return
1;}
if(s[i]==c)返回ture,執行break,跳到循環體的開始下一次循環;
if(s[i]==c)返回false,不執行break,執行return
1,直接返回了1。--->這個就是問題所在了。就是匹配了你break了,只要有一個不匹配你就直接return
1。
修改如下:
for(i=0;i<=strlen(s);i++)
{
if(s[i]!=c)
//不是==,而是!=
break;
else
return
1;
}
『柒』 判斷c中字元串中是否含有某個字元的程序
#include <string.h>
char *strchr(const char *s, int c);
C標准庫中的strchr函數返回字元c在字元串s的位置,如果返回的指針為NULL,那麼表示字元串中不包含該字元
#include<stdio.h>
#include <string.h>
void main() {
char *s = "hello";
char c = 'l';
if (strchr(s, c)) {
printf("%s\n", "yes");
}
else {
printf("%s\n", "no");
}
}
『捌』 怎樣用C語言編寫程序判斷字元串S1是否包含字元串S2.(不使用庫函數)
1.字元串S2的第一個字母在串S1中查找~若無則不包含
2.若有則取S2的第二個字母在串S1相對第一個找到的位置繼續匹配~若不匹配,則回到第一步,和查找到的第二個和S1中匹配的S2的第一個字母
若匹配,則繼續第2步
直到串S2的所有字元與串S1的字元完全匹配,則包含~
『玖』 在C語言中怎樣判斷一個字元串中是否包含另一個字元串
如果「一個字元串」全部是英文字元的話,只要開一個chars[128];的哈希表,每個在其中出現的字元按它的ASCII值,將相應的元素置為1;
然後掃描「另一個字元串」,檢測每一個字元,在數組中對應元素的值是否為1。若這個串里的對應元素值全部為1,則是「包含另一個字元串所有的字元」。
這個演算法的時間復雜度為O(n1+n2),n1和n2是二個字元串的長度。
#iclude<stdio.h>
int main()
{char s1[200],s2[200],s[128]={0};//初始化,所有字元均未出現
int i,k=1;
gets(s1);
gets(s2);
for(i=0;s[i];i++)
s1[s[i]]=1;//將字元串s1中出現的每一個字元,均「記錄在案」
for(i=0;s2[i];i++)
if(!(s[s2[i]]))k=0;//若s2中有字元在「記錄簿」中未出現,就作記錄
if(k)printf("s1包含了s2中的全部字元 ");//根據是否有記錄輸出相應記錄
elseprintf("s1未包含s2中的全部字元 ");
return 0;
}
『拾』 C語言如何判斷是否有字元輸入
使用ctype.h裡面isdigit()和isalpha函數就可以判斷了
#include <ctype.h>
#include <stdio.h>
int main()
{
printf("1 是數字嗎? %s\n",isdigit('1')?"是":"不是");
printf("a 是字母嗎?%s",isalpha('a')?"是":"不是");
return 0;
}