無法同時的,鍵盤只有一個,只能一個一個的輸入,有先后順序,例如:
創(chuàng)新互聯(lián)是一家專業(yè)提供通榆企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站建設(shè)、網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為通榆眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
scanf("%d",a);
scanf("%d",b);
代碼如下:
#includestdio.h
void main()
{
int a,b;
float x,y;
char c1,c2;
scanf("%d,%d",a,b);
scanf("%f,%f",x,y);
getchar();
scanf("%c,%c",c1,c2);
printf("a=%d,b=%d\n",a,b);
printf("x=%f,y=%f\n",x,y);
printf("c1=%c,c2=%c\n",c1,c2);
}
第一個是在do~while中保證輸入的數(shù)是大于0的或是等于-1的,否則一直循環(huán)要求輸入正確的數(shù)。第二個在while循環(huán)中,只要輸入的數(shù)不是-1就一直循環(huán)要求輸入。從輸入數(shù)據(jù)的本質(zhì)講這兩個scanf沒有什么區(qū)別,都是輸入一個整數(shù),只是對輸入數(shù)據(jù)的范圍要求不一,寫兩個是便于代碼對輸入數(shù)據(jù)范圍的處理。
#includestdio.h
int?main()
{
double?i1,i2,result;//定義第一個數(shù),第二個數(shù),結(jié)果
int?choose;
printf("請選擇需要的算法:\n");
printf("1.加法\n2.減法\n3.乘法\n4.除法\n");
scanf("%d",choose);
switch(choose)
{
case?1:
printf("加法\n");
printf("請輸入被加數(shù):");
scanf("%lf",i1);
printf("請輸入加數(shù):");
scanf("%lf",i2);
result?=?i1?+?i2;
printf("結(jié)果是:%.2lf",result);
break;
case?2:
printf("減法\n");
printf("請輸入被減數(shù):");
scanf("%lf",i1);
printf("請輸入減數(shù):");
scanf("%lf",i2);
result?=?i1?-?i2;
printf("結(jié)果是:%.2lf",result);
break;
case?3:
printf("加法\n");
printf("請輸入被乘數(shù):");
scanf("%lf",i1);
printf("請輸入乘數(shù):");
scanf("%lf",i2);
result?=?i1?*?i2;
printf("結(jié)果是:%.2lf",result);
break;
case?4:
printf("加法\n");
printf("請輸入被除數(shù):");
scanf("%lf",i1);
printf("請輸入除數(shù):");
scanf("%lf",i2);
result?=?i1?/?i2;
printf("結(jié)果是:%.2lf",result);
break;
}
return?0;
}
您好!請試下這個。你的那個是因為scanf的輸入格式錯了,請不要在scanf里加入\n等無關(guān)字符!
//僅使用一次 scanf() 的情況
scanf("%d %d %d",num1,num2,num3); //使用空格分開
/*
輸入時,每個數(shù)字使用空格分開,例如:1 12 123,等同于:num1 = 1,num2 = 12,num3 = 123。也可以使用逗號分隔,scanf("%d,%d,%d",num1,num2,num3);那么, 輸入時,數(shù)字之間應(yīng)使用 ,分隔開,例如:1,12,123.總之,scanf(” “)雙引號中修飾符之間缺少什么,輸入時就應(yīng)補(bǔ)什么。*/scanf("%c%c%c",ch1,ch2,ch3); //不使用空格
/*
輸入時,讀取3個字符,例如:abc,這樣等同于:ch1 = 'a',ch = 'b',ch3 =
'c'。但在這里有一個問題,就是連續(xù)輸入多個 int 數(shù)據(jù)時,就必須使用換行符了,例如:scanf("%d%d%d",num1,num2,num3);輸入時,應(yīng)該是:1(回車鍵)
12(回車鍵)
123(回車鍵)
之所以要按下回車鍵,是因為輸入 1 時,雖然屏幕上顯示 1 ,但是 1 這個字符并沒有被程序接收,而是停留在緩沖區(qū),按下回車鍵之后,才會發(fā)送輸入。*/
//使用循環(huán)
for(n = 0;n 3;n++)
scanf("%d",num[n]);
scanf("%.2f",L1); scanf無法指定%.2f,應(yīng)該都改成%f
另外,最后那個printf("彈簧的訂線長度為:\n",Line);漏了Line的打印格式,應(yīng)該是
printf("彈簧的訂線長度為:%.2f\n",Line);