@ Ashwini Singh
В вашем коде есть некоторые ошибки,
1) Вы объявили переменную output
как тип данных char и объединенную строку в Fizz/Buzz
в char.так как может быть значение строки (которая является массивом символов), помещенной в символ output
.
2) Вы объединяете целочисленное значение i
с символом output
например strcat(output,i)
.нам нужно сначала ввести целочисленное значение i
в тип данных char / string, а затем объединить с output
.
Условие программ FizzBuzz:
1) Если число равнократное 3, затем добавить Fizz в результирующую строку
2) Если число кратно 5, добавить Buzz в результирующую строку
3) Если число не кратно 3 и не кратно 5затем добавьте число в результирующую строку
Код:
#include<stdio.h>
#include<string.h>
int main()
{
int i,n;
char output[100]=" ";
printf("Enter Range: ");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
char s[] = {'0' + i, '\0'};
if(i%3==0)
strcat(output,"Fizz ");
else if(i%5==0)
strcat(output,"Buzz ");
else
strcat(strcat(output,s)," ");
}
puts(output);
return 0;
}
Вывод:
Enter Range: 10
1 2 Fizz 4 Buzz Fizz 7 8 Fizz Buzz