我在互联网上发现了一个挑战,我真的被困住了。
目标是通过添加/更改仅 1 个字符(总共仅执行一次操作)来打印20次_
:
#include <stdio.h>
int main(void)
{
int i;
int n=20;
for(i=0;i<n;i--)
{
printf("_");
}
return 0;
}
我已经找到1个解决方案,但找不到最后一个?我需要了解for循环的一些技巧吗?
答案 0 :(得分:2)
将i
替换为n
#include <stdio.h>
int main()
{
int i, n = 20;
for (i = 0; i < n; n--)
printf("*");
getchar();
return 0;
}
将-
放在i
之前
#include <stdio.h>
int main()
{
int i, n = 20;
for (i = 0; -i < n; i--)
printf("*");
getchar();
return 0;
}
将<
替换为+
#include <stdio.h>
int main()
{
int i, n = 20;
for (i = 0; i + n; i--)
printf("*");
getchar();
return 0;
}
来源:https://www.geeksforgeeks.org/changeadd-only-one-character-and-print-exactly-20-times/
答案 1 :(得分:0)
要将发布的代码更正为仅输出20次,您可以使用:
#include <stdio.h>
int main(void)
{
int i;
int n=-20; // note the minus 20
for(i=0;i<n;i--)
{
printf("_");
}
return 0;
}
答案 2 :(得分:-1)
如果允许,您可以写:
n=10; for(i=0;i<n;i++){printf("__");}
或
n=10; for(i=0;i<n;i++){printf("_");printf("_");}