C用于条件技巧

时间:2018-10-13 08:37:48

标签: c for-loop

我在互联网上发现了一个挑战,我真的被困住了。 目标是通过添加/更改仅 1 个字符(总共仅执行一次操作)来打印20次_

#include <stdio.h>

int main(void)
{
    int i;
    int n=20;
    for(i=0;i<n;i--)
    {
        printf("_");
    }
    return 0;
}

我已经找到1个解决方案,但找不到最后一个?我需要了解for循环的一些技巧吗?

3 个答案:

答案 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("_");}