① c語言輸入信息的時候,怎麼檢查輸入信息的有效性
數字的ASCII碼是從0x30到0x39之間的,檢查是否在這個區間就行了!
② C語言檢測輸入數據
既然是整形,後面if語句應該是if(a<0||a>9),加單引號是字元型的
③ 求教:如何用C語言編一個判斷用戶輸入的數據是正確的,如果是錯誤的,那麼直到用戶輸入正確為止。
int data;
int res=scanf("%d",data);
while(res!=1)//判斷是否輸入正確
{
while(getchar()!='\n') ;//清理緩沖區
res=scanf("%d",data);
}
while(getchar()!='\n');
④ 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語言 檢查輸入是否合法
#include<stdio.h>
int ok(char buf[])//判斷一個串是不是整數串
{
int i;
for(i=0;buf[i];i++)
{
if(buf[i]<'0'||buf[i]>'9')return 0;
}
return i>0;
}
int main()
{
char buf[100];
puts("輸入一個整數");
while(1)
{
scanf("%s",buf);
if(!ok(buf))
{
puts("不是整數,請繼續輸入");
}
else break;
}
return 0;
}
⑥ 給定一個數組,數組內容隨機,鍵盤輸入一個數據(數字和單字元),查詢是否存在此數據 c語言代碼怎麼寫
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define N 50
int inarr(int a[],int n,int num) {
int i;
for(i = 0;i < n; ++i)
if(a[i] == num) return 1;
return 0;
}
void show(int a[],int n) {
int i;
for(i = 0; i < n; ++i) {
if(i && i % 10 == 0) printf(" ");
printf("%d ",a[i]);
}
if(i % 10) printf(" ");
printf(" ");
}
int main() {
int a[N],num,i,n;
printf("n = ");
scanf("%d",&n);
if(n < 1) n = N/5;
if(n > N) n = N;
printf("請輸入%d個整數(空格隔開):",n);
for(i = 0; i < n; ++i) scanf("%d",&a[i]);
printf("數組清單: ");
show(a,n);
printf("請輸入要查找的數:");
scanf("%d",&num);
if(inarr(a,n,num)) printf("找到了! ");
else printf("對不起,數組a[]中沒找到%d ",num);
return 0;
}
⑦ C和C++分別如何檢查輸入數據
VC的CIN函數會檢查你的輸入,如果你輸入的123,當然不會錯,而如果是123abc則自動丟棄abc而只保留123.也就是只保留所定義的數據類型.如果不是定義的數據類型,則是0.
TC一樣,如果用scanf輸入的不是所定義類型數據時它輸出的是一個沒有初始化變數n的內容,是個垃圾內容依編譯器不同而不同.(但如果你在程序定義時給n賦了值,那輸出的就是這個值.
⑧ c語言中數據輸入錯誤了如何提示輸入錯誤並實現要求重新輸入
cin>>sth;
while(!check(sth))
{
//check
函數檢查輸入值,如果滿足就不需要在輸入,這是就返回1或者true
cout<<"enter
again,
because
it
is
invalidate"
cin>>sth;
}