C语言 如何使用for循环基于用户输入打印多个字符串

kognpnkq  于 2023-02-03  发布在  其他
关注(0)|答案(3)|浏览(139)

我对应该如何格式化for循环感到困惑。我想打印“生日快乐”与用户输入的次数一样多。

#include <stdio.h>

int main(){
    int age;
    int bdays;

    printf("What is your age?");
    scanf("%d", age); 

    for(age = 0; **`age ????`**; age++){
        printf("Happy Birthday\n");
    }
}
7gcisfzg

7gcisfzg1#

你必须迭代循环控制变量

#include <stdio.h>

int main()
{
    int age;
    int bdays;

    printf("What is your age?\n");
    scanf("%d", &age);

    for (int i = 0; i < age; i++) {
        printf("Happy Birthday\n");
    }
}

不要忘记在scanf()中使用指针

q35jwt9p

q35jwt9p2#

你不知道用户会输入多少次年龄,所以考虑一个while条件而不是for循环?我将使用age 0作为退出,你可以用不同的方式来做,我怀疑你是否希望每次都打印生日快乐,所以我认为你需要满足某种条件?
还有一个小问题,您希望为scanf提供指向变量的指针,以便它可以修改它,因此在scanf中您希望使用&age而不是age
把整件事

while(age!=0){

 printf("What is your age?");
 scanf("%d", &age);

 printf("Happy Birthday\n");

 }

 return 0;

这样你可以一遍又一遍地做,如果你输入0你可以随时退出程序
编辑:看来我误解了,我以为你的意思是用户输入的次数而不是年龄的次数...所以上面的答案是正确的,在这种情况下我错了。

bbmckpt7

bbmckpt73#

#include<stdio.h>

main()
{
    int n,i;
    printf("Enter how many time you want to print happy birthday");
    scanf("%d",&n);
    for(i=0;i<n;i++)
    printf("\nHAPPY BIRTHDAY");
}

相关问题