如何输入一个句子并打印到某个字符?
#include <stdio.h>
int main(){
int T;//testcase
char str[1001];
int i;
scanf("%d",&T);
getchar();
for(int t=1; t<=T; t++){
for(i=0; i!='\n';i++){
scanf("%c",str[i]);
getchar();
}
for(i=0; i!='\n'; i++){
if(str[i]=='f' || str[i]=='F'){
break;
}else{
printf("%c",str[i]);
}
}
}
return 0;
}
输入是字母数字句子。 如果没有“f”或“F”,则输出将是句子。 输出将是直到“f”或“F”的句子。
示例:
input: Hello world
output: Hello worldinput: Chocolate Truffle
output: Chocolate Tru
最佳答案
你可能想要这样的东西:
#include <stdio.h>
int main() {
int nbOfTests; // use a self explaining name rather than "T"
char str[1001];
scanf("%d", &nbOfTests);
getchar(); // absorb \n
for (int t = 1; t <= nbOfTests; t++) {
for (i = 0; ; i++) {
str[i] = getchar(); // no scanf needed, just use `getchar`directly
if (str[i] == '\n')
break; // Enter = > end the loop
}
for (int i = 0; ; i++) { // declare i here
if (str[i] == 'f' || str[i] == 'F' || str[i] == '\n')
break; // f F or Enter => end the loop
else
printf("%c", str[i]);
}
printf("\n"); // makes it more readable for the user
}
return 0;
}
免责声明:这段代码仍然很差,但接近原始代码,例如使用 fgets
读取一行文本会更好、更简单。
关于c - 如何输入整个句子并打印到某个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57166448/