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

c語言里有判斷輸入函數嗎

發布時間: 2022-05-05 06:39:19

c語言,怎麼寫一個函數去判斷輸入數字是否正確

  1. 應該輸入一個四位數而不是輸入四個一位數,這樣才符合使用習慣。這樣的話,你一次讀完即:

    scanf("%d",&n);

  2. 判斷這個數是否大於1000且小於10000(如果不是,則不是4位數,同時排除了負數)

  3. 取出各位數字,然後看是否有相等的。取千位數:x=n/1000; 取百位數:y=(n-x*1000)/100; 取十位數:z=(n-x*1000-y*100)/10 取個位數:w=n%10;

❷ c語言有哪些輸入輸出函數

C語言輸入輸出函數有很多,標准I/O函數中包含了如下幾個常用的函數:
scanf,printf,getc,putc,getchar,putchar,gets,puts,fgets,fputs,fgetc,fputc,fscanf,fprintf等.
int scanf(const char *format, arg_list)
scanf主要從標准輸入流中獲取參數值,format為指定的參數格式及參數類型,如scanf("%s,%d",str,icount);
它要求在標准輸入流中輸入類似"son of bitch,1000"這樣的字元串,同時程序會將"son of bitch"給str,1000給icount.
scanf函數的返回值為int值,即成功賦值的個數,在上例中如果函數調用成功,則會返回2,所以我們在寫程序時,可以通過
語句if(scanf("%s,%d",str,icount) != 2){...}來判斷用戶輸入是否正確.
int printf(const char *format, arg_list)
printf主要是將格式化字元串輸出到標准輸出流中,在stdio.h頭文件中定義了標準的輸入和輸出,分別是stdin,stdout.
arg_list可以是變數名,也可以是表達式,但最終都會以值的形式填充進format中.
int getc(FILE *fp)
getc主要是從文件中讀出一個字元.常用的判斷文件是否讀取結束的語句為:(ch = getc(fp)) != EOF.EOF為文件結束標志,
定義在stdio.h中,就像EXIT_SUCCESS,EXIT_FAILURE定義在stdlib.h中一樣,文件也可以被理解為一種流,所以當fp為stdin
時,getc(stdin)就等同於getchar()了.
int putc(int ch,FILE *fp)
putc主要是把字元ch寫到文件fp中去.如果fp為stdout,則putc就等同於putchar()了.
int getchar(void)
getchar主要是從標准輸入流讀取一個字元.默認的標准輸入流即stdio.h中定義的stdin.但是從輸入流中讀取字元時又
涉及到緩沖的問題,所以並不是在屏幕中敲上一個字元程序就會運行,一般是通過在屏幕上敲上回車鍵,然後將回車前的字元
串放在緩沖區中,getchar就是在緩沖區中一個一個的讀字元.當然也可以在while循環中指定終止字元,如下面的語句:
while ((c = getchar()) != '#')這是以#來結束的.
int putchar(int ch)
putchar(ch)主要是把字元ch寫到標准流stdout中去.
char * gets(char *str)
gets主要是從標准輸入流讀取字元串並回顯,讀到換行符時退出,並會將換行符省去.
int puts(char *str)
puts主要是把字元串str寫到標准流stdout中去,並會在輸出到最後時添加一個換行符.
char *fgets(char *str, int num, FILE *fp)
str是存放讀入的字元數組指針,num是最大允許的讀入字元數,fp是文件指針.fgets的功能是讀一行字元,該行的字元數
不大於num-1.因為fgets函數會在末尾加上一個空字元以構成一個字元串.另外fgets在讀取到換行符後不會將其省略.
int fputs(char *str, file *fp)
fputs將str寫入fp.fputs與puts的不同之處是fputs在列印時並不添加換行符.
int fgetc(FILE *fp)
fgetc從fp的當前位置讀取一個字元.
int fputc(int ch, file *fp)
fputc是將ch寫入fp當前指定位置.
int fscanf(FILE *fp, char *format,...)
fscanf按照指定格式從文件中出讀出數據,並賦值到參數列表中.
int fprintf(FILE *fp, char *format,...)
fprintf將格式化數據寫入流式文件中.

❸ 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;

}

❹ C語言輸入函數scanf判斷輸入是否為數值問題!

「這是不是判斷輸入的是否為數值,如果是就繼續循環輸入,一直到輸入非數值!」:是的。
「scanf
是怎麼判斷輸入是否為數值的?」:通過判斷輸入值是否和佔位符類型匹配判斷,如果匹配,返回匹配個數,不匹配,則函數結束,後面的佔位符也不再判斷。當然你這里只有一個佔位符「%lf」,就只有0,1兩種返回方案。
「是scanf的返回值嗎?」:返回值是輸入值和佔位符匹配決定的。
「那如果換成%s%c時輸入字元他是不是也和輸入數值時一樣會判斷是否為字元,如果輸入的不是字元也和上面一樣就停止了呢?」:原理上是這樣,但是佔位符為「%s」時,你可以輸入任意字元,因為你鍵盤上輸入的任意字元都可以被匹配為「%s」,一串數字也可以是字元串。

❺ C語言 函數 判斷輸入字元的類型

#include<stdio.h>
charshow(charm)
{
if(m>='0'&&m<='9')//這里要檢查的是m!!
return1;
return0;
}
voidmain()
{
charch;
while(scanf("%c%*c",&ch)!=EOF)//每組一行,就要去掉回車!
{
if(show(ch)==1)
{
printf("Digit ");
}
else
{
printf("Other ");
}
}
}

❻ c語言有判斷變數輸入真確是否的函數嗎

給你一個檢驗輸入是否為整數的函數getint(),調用時只需要如下語句:int i = getint()就可以讀入一個整數了。

/***************該函數檢驗輸入是否為整數*********************/

#include <stdio.h>
#include <stdlib.h>

int getint ()
{
char c[20];
int i = 0;

label:
/* 讀入一個字元串 */
scanf ("%s", c);
/* 檢查該字元串是否為數字 */
while (c[i] != '\0'){
/* 如果有一個字元的ASCII碼小於48或者大於57,則輸出提示信息,返回label語句,重新讀入 */
if (c[i]<48 || c[i]>57){
printf ("輸入變數類型不正確\n");
printf ("請重新輸入一個整數:");
i = 0; /* 循環變數清零不能忘!*/
goto label;
}

i++;
}
/* 如果全部為整數,則將字元串轉化為整數 */
return atoi (c);

}

❼ 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語言判斷輸入類型

#include
int
main()
{
int
n;
printf("%d\n",scanf("%d%d%d",&n,&n,&n));
return
0;
}
輸入成功是有
數量的,比如這個
你成功一個
scanf()函數返回值便是
1,成功3個便是3;
通過檢測
scanf()
返回至確定是否輸入成功
不成功
的話
清除
輸入緩沖
,然後
讓用戶重新輸入

❾ C語言怎麼實現獲取輸入的數學公式並判斷

這可不是一個容易解決的問題,實際上你在做的就是一個控制台下的計算器程序。由於我之前也有過類似的思考(但沒有完成),所以可以與你共同分享一下心得:
這個程序要對輸入的字元串信息進行語法分析,也就是說我們實際上就是在完成編譯器的工作(語法分析、語義分析、執行指令)。
在語法分析階段,要檢查整個數學表達式是否合法。比如說括弧的數量是否成對出現(數量匹配)、是否有非數字元號的錄入、非數字元號是否是函數、函數之後是否緊隨括弧等等。
語義分析階段,要分析整個數學表達式中的運算優先順序順序,並由此通過樹分解出整個數學表達式。
指令執行階段除了要根據樹形結構計算結果之外,根據程序的功能可能還要記錄既往的數學表達式以及其結果、剔除緩沖中超過上限的學校表達式等等。
如果題主有信心和耐心,可以參考一下Linux下的計算器程序「bc」的源代碼,也是用C語言實現的。

❿ C語言中,怎樣判斷scanf函數輸入結束呢

1、新建一個scanf項目。


注意事項:

(在有一些實現中,printf函數與scanf函數在使用時可以不使用預編譯命令#include <stdio.h>。)它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中。