问题描述:
编写一个程序,首先提示用户“Hi, I love you!”,然后输入“Do you love me (Y/N)?”。如果用户输入“y”或“Y”,打印“So great! KISS!”,然后退出。如果用户输入“n”或“N”,则继续询问“Do you love me (Y/N)?”。如果用户输入其它,则提示“Sorry, I don't understand.”,然后继续询问“Do you love me (Y/N)?”。
printf("Hi, I love you!\n");
while (true)
{
printf("Do you love me (Y/N)?\n");
char c = getchar();
if (c == 'Y' || c == 'y') break;
}
printf("So great! KISS!\n");
核心部分:
int flag=0;
char c;
printf("Hi, I love you!\n");
while(flag==0){
printf("Do you love me (Y/N)?\n");
scanf(%c,c);
if(c=='Y'){
printf(“So great! KISS!\n”);
flag=1;
}
if(c!='N||c!="Y"'){
printf(“Sorry, I don't understand.\n”);
}
}
printf("Hi, I love you!\n");
while (true)
{
printf("Do you love me (Y/N)?\n");
char c = getchar();
if (c == 'Y' || c == 'y') break;
if (c != 'N' || c != 'n')
printf("Sorry, I don't understand.\n");
}
printf("So great! KISS!\n");
谢谢大家,但是我要的结果是这样的
char c = getchar();
->
char c1[100];
scanf("%s", c1);
char c = c1[0];
#include "stdafx.h"
#include <stdio.h>
int main()
{
bool bLoop = true;
do
{
printf("Do you love me (Y/N)?\n");
char ch = getchar();
rewind(stdin);
switch(ch)
{
case 'y':
case 'Y':
printf("So great! KISS!\n");
bLoop = false;
break;
case 'n':
case 'N':
break;
default:
printf("Sorry, I don't understand.\n");
break;
}
}while(bLoop);
return 0;
}
#include
#include
int main(){
short flag = 1;
printf("Hi, I love you!\n");
do{
printf("Do you love me (Y/N)?");
char s[100], *p;
memset(s, 0x0, sizeof(s));
p = s;
scanf("%s", p);
if(1<strlen(p)){
printf("Sorry, I don't understand.\n");
continue;
}
switch(*p){
case 'y':
case 'Y':
printf("So great! KISS!\n");
flag = 0;
break;
case 'n':
case 'N':
break;
default:
printf("Sorry, I don't understand.\n");
break;
}
}while(flag);
return 0;
}
#include
#include
char str[100];
memset(str, 0, 100);
do{
printf("Do you love me(Y/N)?");
scanf("%s", str);
if(strcmp(str, "N") || strcmp(str, "n"))
{
;
}
else if(strcmp(str, "Y") && strcmp(str, "y"))
{
printf(" I don't understand.\n");
}
else
{
break;
}
memset(str, 0, 100);
}while(1);
printf("\nSo great! Kiss!");
刚贴的代码 循环里的第一个判断有误 重新发下
#include
#include
char str[100];
memset(str, 0, 100);
do{
printf("Do you love me(Y/N)?");
scanf("%s", str);
if(!strcmp(str, "N") || !strcmp(str, "n"))
{
;
}
else if(strcmp(str, "Y") && strcmp(str, "y"))
{
printf(" I don't understand.\n");
}
else
{
break;
}
memset(str, 0, 100);
}while(1);
printf("\nSo great! Kiss!");