[英](Newbie) Ending a program, even or odd program
i'm writing a program to find if a number is even or odd.我正在编写一个程序来查找数字是偶数还是奇数。 It will keep asking for a number until the user enters zero.
它会一直询问一个数字,直到用户输入零。
#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;
}
I don't however know how to end the program when i type zero without it outputting "even".但是,我不知道如何在我键入零而不输出“偶数”时结束程序。 Help is much appreciated since i am stuck on this and not too sure how to advance.
非常感谢帮助,因为我坚持这一点并且不太确定如何前进。
You can change the else
to and else if
and check that the number is not 0
before printing Even
.您可以将
else
更改为else if
并在打印Even
之前检查数字是否不为0
。
Just add the conditional statement if(number != 0)
to your else
block:只需将条件语句
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;
}
In this case it is better to use an infinite while loop.在这种情况下,最好使用无限 while 循环。
For example例如
#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;
}
The program output might look like程序 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
You can also include in the program the header <stdbool.h>
您还可以在程序中包含 header
<stdbool.h>
#include <stdbool.h>
and rewrite the while statement like并像这样重写 while 语句
while ( true )
{
// ...
}
you can simply use the exit()
function on a return or directly on a return 0
.您可以简单地在返回时使用
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.