任何人都知道如何在用户输入句子“这就是结束”后停止我的程序? 我的代码是这样的: 也忽略任何外来词:)
#include <stdio.h>
#include <string.h>
void main ()
{
char sent[100];
int i,len;
do {
printf("Dose mia protasi :\n");/*Edo to programa zitaei tin protasi*/
gets(sent);
len=strlen(sent);
printf("*");
for(i=0;i<len;i++)/*edo ginete i proti epanalipsi gia na ektiponei tous asteriskous*/
{
printf("**");
}
printf("\n*");
for(i=0;i<len;i++)/* edo stin for bazeis afto p lei sent[i]=sent[i]-32; kai pernei apo ton pinaka ascii anti gia mikira mono kefalea*/
{
if (sent[i]>='a' && sent[i]<='z'){
{
sent[i]=sent[i]-32;// Edo pernei ta mikra gramata kai ta kanei kefalea
}
printf("%c*",sent[i]);/*edo ektiponei tous xaraktires me asteriskous meta ton kathe xaraktira*/
}
else if(sent[i]>='1' && sent[i]<='9')
printf("H protasi dn einai apodekti xanaprospathise");
}
printf("\n*");
for(i=0;i<len;i++)
{
printf("**");
}printf("\n");
}while();/*<<<<-------NEED TO FIX THIS that when user inputs the sentence this is the end the program stops */
}
代码在C上。 谢谢
答案 0 :(得分:0)
这是一段可以解决问题的代码:
char sentence[100];
fgets(sentence , sizeof sentence , stdin);
if(!strcmp(sentence , "this is the end?"))
exit(0);
修改:
在fgets
之后,您必须从sentence
移除换行符才能使其在此处运行,这是一个执行此操作的功能:
int i = 0;
for(i = strlen(sentence) ; i > 0 ; i--)
if(sentence[i] == '\n')
sentence[i] = '\0';
不要忘记包含string.h