當前位置:首頁 » 編程語言 » 數字判斷c語言
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

數字判斷c語言

發布時間: 2022-10-11 02:16:22

c語言 判斷一個數的位數

代碼如下:

#include<stdio.h>

int main()

{

int a,b;

int i;

printf("請輸入一個數字:");

scanf("%d",&a);

b=a;

for(i=0;a>1;i++)

{

a=a/10;

}

printf("%d是%d位數 ",b,i);

}

(1)數字判斷c語言擴展閱讀:

思路詳解:

在C語言中,經常會用到以整數相除來確定一個整形數字的每一位的具體數字是多少,同理,此處可用整數相除來判斷一個數的位數。

首先,使用scanf函數獲取這個數字的值,且賦給變數b,作一個備份。

接著,確定核心思路為,當一個數整除10,第一次結果為1時,這個數是一個個位數。因而,以其作為循環內的主體。

得到了for(i=0;a>1;i++) a=a/10; 這樣的代碼,最後,輸出結果即可。

❷ C語言 如何判斷輸入的是數字還是字元

需要准備的材料分別有:電腦、C語言編譯器。

1、首先,打開C語言編譯器,新建一個初始的.cpp文件,例如:test.cpp。

❸ C語言,如何判斷一個數是數字啊

用scanf()從鍵盤輸入讀入一個字元串(注意別越界),之後編個循環檢測每個字元,若存在不是字元'.',且>'0',<'9'的字元,那就不是數字,字元'.'若出現一次以上也不是數字。

❹ c語言判斷每位數字是否相同

#include"stdio.h"
void
main()
{
int
n,m=0,i=0,a[100],s=0,t;
while(scanf("%d",&n)!=EOF)
{
i=0;
s=0;
//////////////////////這里要重新初始化i和s,不然第一次循環改變了他們的值,以後運行就不對了
while(n!=0)
{
a[i]=n%10;
i++;
n=n/10;
}
m=i;
for(i=0;i<m-1;i++)
{
t=a[i]-a[i+1];
if(t==0)s++;
}
if(s==m-1)
printf("yes\n");////////////////////這里應該是s==m-1
else
printf("no\n");
}
}
這個程序還有一個問題,就是當輸入的數超過整數的范圍,運算就會出錯,a數組那100個單元都是浪費90多個,如果要程序更完善,建議用字元數組來定義。
下面是用字元數組來做的
#include"stdio.h"
void
main()
{
int
n,m=0,i=0,s=0,t;
char
a,b[100];
while(scanf("%s",b)!=EOF)
{
i=0;
s=0;
for(i=0;b[i]!='\0';i++);
m=i;
for(i=0;b[i]!='\0';i++)
{
a=b[1];
if(a==b[i])s++;
else
break;
}
if(s==m)
printf("yes\n");
else
printf("no\n");
}
}

❺ c語言中如何判斷輸入的是否數字

這個程序不難寫,我告訴你思路和演算法,你根據這個編寫代碼就可以了。
1.由於你輸入的這一串數據可能都為數字,也可能包含其它字元,所以首先用一字元數組存放這個字元串。
2.用strlen函數計算這個字元串的長度,在此基礎上藉助for循環或while循環實現數組元素的遍歷。
3.遍歷每一個元素的同時用if語句判斷這個元素的ascii碼所在的范圍是否在48~57之間,如果不在則中止循環,輸出判斷結果(即不是數字)。
4.如果最後一個元素仍然是數字,則整個字元串則為一個大數。

❻ c語言判斷輸入是否為數字

你寫的這個有太多的錯誤。至於定義數組的時候a[N]這種錯誤我就不講了
還有在循環裡面(i=1;i<N;i++)
N沒賦值就調用的錯誤我也不講了
講你的死循環問題
你沒有給循環加一個限制條件
根據你continue的意思我暫時理解為
如果輸入的不是數字
那麼一直循環
重新輸入
一直到你輸入的是數字為止跳出循環
對嗎?
while(1){
printf("請輸入要查的值\n");
ret=scanf("%d",&n);
printf("ret=%d\n",ret);
if(ret==0){
printf("輸入錯誤,請重新輸入\n");
continue;
}
break;
}
這樣就可以
如果輸入的是數字
scanf的返回值為1
那麼循環的第一次
不會進入if(ret==0)
也就是說
如果輸入的是數字
直接執行break跳出循環
如果輸入的不是數字
循環的時候執行語句if(ret==0)
然後執行continue
continue的意思是跳出當前循環繼續下一次循環
即執行到continue之後從新循環而不會執行到break
以此類推
只要你輸入的不是數字
則永遠循環
輸入的如果是數字
跳出循環
執行完畢。
大哥
如果小弟回答正常
給點分吧
多謝
=================================================================
另外對於一樓的同學
我必須有好的提醒你scanf()的用法以及返回值的相關問題
我想你肯定不知道
scanf("%d",&i)
如果你輸入的是int型則返回1
否則返回0
換句話說即你輸入的類型和scanf()裡面預先定義的類型一致
則返回1
否則返回0
THANK
YOU

❼ c語言中如何判斷輸入的是字元還是數字

1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個字元,判斷其是字母還是數字。

2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。

3、假設字元c,滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母,滿足 (c>=0 && c<=9)就是數字。

(7)數字判斷c語言擴展閱讀:

getch():

所在頭文件:conio.h

函數用途:從控制台讀取一個字元,但不顯示在屏幕上

函數原型:int getch(void)

返回值:讀取的字元

例如:

char ch;或int ch;

getch();或ch=getch();

用getch();會等待你按下任意鍵,再繼續執行下面的語句;

用ch=getch();會等待你按下任意鍵之後,把該鍵字元所對應的ASCII碼賦給ch,再執行下面的語句。

❽ C語言:如何判斷輸入的是數字還是其他字元

有很多方法:
1、可以用sacnf或gets函數直接接收輸入的字元串,然後用循環遍歷字元串中每一個字元,判斷其是字母還是數字。
2、可以用循環調用getch()或getchar()函數來一個一個字元的接收輸入,同時判讀輸入的是字母還是數字。
至於怎麼判讀是字母還是數字,很簡單,假設字元c,
滿足 (c>='a'&& c<='z')|| (c>='A' && c<='Z')就是字母。
滿足 (c>='0' && c<='9')就是數字。