[英](Newbie) Ending a program, even or odd program
我正在编写一个程序来查找数字是偶数还是奇数。 它会一直询问一个数字,直到用户输入零。
#include <stdio.h>
int main () {
int number = 1;
do{
printf("Number? ");
scanf("%d", &number)
if(number % 2 != 0){
printf("Odd\n");
}
else{
printf("Even\n");
}
}while(number != 0);
return 0;
}
但是,我不知道如何在我键入零而不输出“偶数”时结束程序。 非常感谢帮助,因为我坚持这一点并且不太确定如何前进。
您可以将else
更改为else if
并在打印Even
之前检查数字是否不为0
。
只需将条件语句if(number != 0)
添加到您的else
块中:
#include <stdio.h>
int main () {
int number = 1;
do{
printf("Number? ");
scanf("%d", &number)
if(number % 2 != 0){
printf("Odd\n");
}
else if(number != 0){
printf("Even\n");
}
}while(number != 0);
return 0;
}
#include <stdio.h>
int main () {
int number = 1;
do{
printf("Number? ");
scanf("%d", &number)
if (number == 0)
{
printf("You Entered 0 to quit\n");
break; // Exit out of the Do-While Loop immediately
}
if(number % 2 != 0){
printf("Odd\n");
}
else{
printf("Even\n");
}
}while(number != 0);
return 0;
}
在这种情况下,最好使用无限 while 循环。
例如
#include <stdio.h>
int main(void)
{
while ( 1 )
{
printf( "Enter a number (0 - exit): " );
int number;
if ( scanf( "%d", &number ) != 1 || number == 0 ) break;
printf( "The number %d is %s.\n", number, number % 2 == 0 ? "even" : "odd" );
}
return 0;
}
程序 output 可能看起来像
Enter a number (0 - exit): 10
The number 10 is even.
Enter a number (0 - exit): 11
The number 11 is odd.
Enter a number (0 - exit): 0
您还可以在程序中包含 header <stdbool.h>
#include <stdbool.h>
并像这样重写 while 语句
while ( true )
{
// ...
}
您可以简单地在返回时使用exit()
function 或直接在return 0
时使用。
#include <stdio.h>
int main () {
int number = 1;
do{
printf("Number? ");
scanf("%d", &number)
if (number == 0)
return 0;
if(number % 2 != 0){
printf("Odd\n");
}
else{
printf("Even\n");
}
}while(number != 0);
return 0;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.