⑴ 怎樣把輸入的字元型數字轉換成整形輸出
#include<stdio.h>
#include<stdlib.h>
void main()
{ int a,b; char str[256],*p;
scanf("%s",str);
b=0; p=str; while ( *p ) { if ( (*p)>='0' && (*p)<='9' ) { b=1; break; } p++; }
a=0; if ( b ) a=atoi(p);
printf("%d
",a);
}
⑵ C++里定義整型,怎麼防止輸入非整型時出錯
#include <iostream>
using namespace std;
void main()
{
int a;
cin>>a;
while(cin.fail())
{
cout<<"please input an integer"<<endl;
cin.clear();
cin.ignore(1024,'\n');
cin>>a;
}
cout<<a<<endl;
}
這種方法有個缺陷,就是要求輸入整數時你輸入了浮點數,那麼浮點數的內整數部分會被讀取給整容型變數而不報錯.所有要想能處理任何輸入錯誤的可能,就按風龍一的方法,用字元串來接收輸入.
⑶ 從鍵盤輸入數據時,對於整形變數可輸入整形和字元,對於實型變數可輸入實型數值和整形數值
整形可以參加實型復計算 輸入制a 記為a.0 (所有語言都可以)
有時候整型變數還是可以通過該字元接收函數來接收字元的,比如:int c;c=getchar();而且這兒的c本應該是定義為字元的。。
c才可以 pascal 就不行
⑷ c++中 想在定義了的整形變數中輸入字元型變數
整型就是數字型,用於數學計算的,不可以輸入字元型,字元型要定義char 或者string
⑸ c語言中,同時輸入整型數據和字元型數據,怎麼保證數據的正確性謝謝各位大神
一般是這樣解決(假定先輸入數字a後輸入字元b):
把輸入語句寫為scanf("%d︺%c」,&a,&b);注意d與%之間那個空格!
程序運行時只要在數字與字元之間打上一個或多個空格就可以了。
如:
123︺a↙
45︺︺︺*↙
⑹ scanf連續輸入整型和字元型得不到正確結果問題
因為你要輸入的是字元,而空白字元(回車,換行,空格等)也是字專符,他是把你的回車屬當成你要輸入的字元了··,用scanf輸入字元的時候應該加上空格就可以了,如下所示就行
char c;
scanf(" %c",&c);
就是在%c前面加個空格( %c)就是這樣,這樣的話就會忽略掉空白字元,直到不是空白字元就賦值給c,不知道你清楚沒有也
⑺ C語言整型變數輸入時輸入字元會怎麼樣
C語言輸入整型變數時,抄需要用到scanf函數,形式為
scanf("%d",&a);
即讀入一個整型變數,並將值賦值給a。
執行該操作時,scanf會到輸入中,讀取字元,如果是合法的整型字元(0~9),會根據規則計算值並存入到a中。當遇到非數字字元時結束。
所以,如果系統要求讀入整型時,輸入了非數字字元,那麼scanf就無法得到有效值並賦值給a,這時scanf會出錯,對a不做處理,同時以返回值方式報錯。
⑻ C語言中如何把整形,字元型,字元串,一次性輸入急用,急用
String貌似就可以了。。。
⑼ c語言中如何把輸入的字元型變數轉化為整型
char a=2
int b
b=(int)a 強制轉換
⑽ c程序怎麼在整型變數中輸入字元或字元串就直接退出
#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "ctype.h"
int input(char ch[])
{
int i=0,s=0;
while(isdigit(ch[i++]=getch()))
{
printf("%c",ch[i-1]);
s=s*10+(ch[i-1]-48);
}
printf("\n");
return s;
}
int main()
{
char ch[15];
int d;
d=input(ch);
printf("%d",d);
}