c語言重新輸入
❶ c語言中怎樣實現當輸入的數據不符合要求時給出提示並要求重新輸入
#include<stdio.h>
void main()
{
int a,b,c,max;
while(scanf("%d%d%d",&a,&b,&c)!=3)
printf("oh,no,please input 3 number!")
max=a;
if(max<b)
max=b;
if(max<c)
max=c;
printf("%d\n",max);
}
解釋,scanf()函數的返回值是它讀取的值的個數,如果你聲明類型是%d那就不會讀取其他類型數據。 這是判斷輸入是否正確的最簡單的方法。
❷ c語言如何做到輸入出錯重新輸入,輸入正確則繼續執行後面的程序
intn=0;
printf("請輸入1-5的數:");
scanf("%d",&n);
whilie(n<1||n>5)
{
system("cls");
printf("輸入錯誤,請重新輸入:");
scanf("%d",&n);
}
printf(" 輸入正確");
......
❸ C語言怎麼實現輸錯了 重新輸入
可以設置一個while循環在其體內輸入數據,經判斷輸入正確則跳出循環,否則提示重新輸入,直到輸入正確。舉例代碼如下:
//#include"stdafx.h"//Ifthevc++6.0,withthisline.
#include"stdio.h"
intmain(void){
intm[12]={31,28,31,30,31,30,31,31,30,31,30,31},year,month;
while(1){//這個循環就是解決輸入錯誤的
printf("Pleaseentertheyear&month... ");
fflush(stdin);
if(scanf("%d%d",&year,&month)&&year>0&&month>0&&month<13)
break;
printf("Error,redo:");
}
m[1]+=year%4==0&&year%100!=0||year%400==0;
printf("%d/%dis%ddays. ",month,year,m[month-1]);
return0;
}
❹ C語言中,輸入錯誤請重新輸入
邏輯應該沒問題,你看這句話:while(result<0||result>100);,後面多了個";",改下試試。
❺ 在c語言中若不是就要求重新輸入怎麼輸
用循環例如:
scanf("%d",&s);
while(if(s!=0))
{
scanf("%d",&s);
}
❻ c語言的檢查輸入錯誤提示重新輸入的問題
//可以用下面的方法
//scanf在接受到與%d不符的輸入時,返回值是0,否則是1
//另外123b這種輸入不專會出錯的,會把123賦值給i
//b123則不會了屬
#include<stdio.h>
intmain(){
inti;
while(scanf("%d",&i)==0){
getchar();
}
return0;
}
❼ C語言輸入一個數不對 重新輸入一個值
#include<stdio.h>
intmain(void){
intnum;
//fflush(stdin);
while(scanf("%d",&num)==1){
if(num<1||num>9)//只接收1--9
printf("Tryagain:");
elsebreak;
}
printf("Congratulation! num=%d ",num);
return0;
}
❽ C語言繼續輸入怎麼弄
你的n是float的?
float的不能直接跟0比較
#include
<stdio.h>
void
main()
{
int
n;
while(1)
{
scanf("%d",&n);
if(n
==
0)
{
break
;
}
if(n>20000)
{
printf("輸入錯誤,請重新輸入!\n");
}
else
{
printf("
20000>
n
>
0,ok\n");
}
}
}
❾ c語言輸入字元串超出范圍如何讓它重新輸入
/*輸入多個字元串需要有結束條件,可以事先約定輸入多少個字元串,也可以是輸入特定字元串*/
#include <stdio.h>
#include <string.h>
void main()
{
int i,k=0,n=10;
char str[100][200]={0},str1[10]="####";
while(1)
{
gets(str[k]);
if(strcmp(str[k],str1)==0) break;
k++;
if(k>=n)
break;
}
for(i=0;i<k;i++)
printf("%s\n",str[i]);
}
❿ c語言重新輸入
printf("%請輸抄入1-3:\n");scanf("%d\n",&a);
while(!(a>=1&&a<=3))
{ printf("%請重新輸入:\n");
scanf("%d\n",&a);}
這樣就可以實現了。只要滿足1-3,便跳出循環