因此,我设法使用scanf编写了一个普通字母,但是我需要这样写:每次加破折号(-)时,句子结束,我可以开始写字母的下一部分,我尝试使用if语句和循环,但我显然完全错了
#include <stdio.h>
int main()
{
char name[] = "";
while(name != '-')
{
scanf("%s", name);
if(name == '-')
{
printf("%s", name);
break;
}
}
printf("Sincerely, Nika");
return 0;
}
句子赞
my name is Kalana. I am a programmer. My favorite language is C.
您可以使用单个scanf
执行此操作。如果要通过输入-
开始新句子,则不会自动跳入新句子。您必须按Enter才能执行此操作,但是如果您执行该输出,例如
my name is Kalana.
I am a programmer.
My favorite language is C.
您会发现这不是一个好习惯。真正的挑战是使用单个scanf
通过分隔段落来写下整个字母。示例-:
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
paragraph paragraph paragraph paragraph paragraph paragraph paragraph paragraph
因为我已经用单个scanf
创建了一个代码,如果在几句话后输入-
,新的段落将开始。
我的代码-:
#include <string.h>
#include <stdio.h>
int main() {
char name[9999];
int i;
int strLength;
scanf("%[^\n]%*c", name);
strLength = strlen(name);
printf("\n");
for (i = 0; i < strLength; i++) {
if(name[i] == '-'){
printf("\n\n");
continue;
}
printf("%c", name[i]);
}
printf("Sincerely, Nika");
return 0;
}
输入-:
Hello,-How are you my son? I am fine. Hope you will fine-I am planning to come your home next week.-Love you.-
输出-:
Hello,
How are you my son? I am fine. Hope you will fine
I am planning to come your home next week.
Love you.
Sincerely, Nika
您可以在每个-
之后看到每个句子跳过两行并显示为单独的段落。希望这能解决您的问题。
您先前的问题与此问题完全不同。在那儿我问你提出另一个问题。