我在C语言编程中做了一个关于WHILE循环,FOR循环或IF语句的赋值。我已经尝试了各种方法来做到这一点,但失败了。我需要有人帮我解决这个问题。 我想重复某个表达式,直到我得到一个符合我最重要的两个条件之一的数字。 代码如下:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
int function;
printf("Please choose a function:\n>>");
scanf("%d",&function);
printf("\n");
if(function==1)
{
system("cls");
printf("Nice");
}
else if(function==2)
{
printf("You chose to exit.\n\n");
return 0;
}
else if(function>2)
{
printf("Error! Please try again.\n\n");
}
else;
return 0;
}
我要重复的部分是这个,直到我得到1或2作为我的号码。
else if(function>2)
{
printf("Error! Please try again.\n\n");
}
有人有办法解决这个问题吗?如果我必须将这个IF语句更改为FOR循环或WHILE循环并不重要,只要结果如上所述。
答案 0 :(得分:3)
使用它可能会对你有帮助。
for(i=1;i<10;i++)
{
printf("Please choose a function:\n>>");
scanf("%d",&function);
printf("\n");
if(function==1)
{
system("cls");
printf("Nice");
}
else if(function==2)
{
printf("You chose to exit.\n\n");
return 0;
}
else if(function>2)
{
printf("Error! Please try again.\n\n");
}
}
你可以根据你的要求输入任何数字。我已经使用了10 for for循环。您可以根据您的要求使用
答案 1 :(得分:0)
将以下内容放入循环
while(1)
{
printf("Please choose a function:\n>>");
scanf("%d",&function);
printf("\n");
if(function==1)
{
system("cls");
printf("Nice");
break;
}
else if(function==2)
{
printf("You chose to exit.\n\n");
return 0;
}
else if(function>2)
{
printf("Error! Please try again.\n\n");
}
}
答案 2 :(得分:0)
尝试使用while循环和switch语句。
喜欢这样的东西(不确定它是否符合,只是为了告诉你我的意思):
function = 0;
do
{
printf("Please choose a function:\n>>");
scanf("%d", &function);
switch(function)
{
case 1:
/* do your stuff */
break;
default:
fprintf(stderr, "Error! Please try again.\n\n");
break;
}
} while(function != 2)
答案 3 :(得分:0)
假设您被允许多个while
/ for
/ if
,do
... while
和{{}的混合物如何? {1}}
if
答案 4 :(得分:0)
使用可以使用do while循环
int main()
int function;
do {
printf("Please choose a function:\n>>");
scanf("%d",&function);
printf("\n");
if(function==1) {
system("cls");
printf("Nice");
}
else if(function==2) {
printf("You chose to exit.\n\n");
return 0;
}
else {
printf("Error! Please try again.\n\n");
}
} while (function > 2)
return 0;
}