Мне было поручено создать программу, которая использует 4 разных цикла для печати одной и той же вещи 4 раза (x, x^2, x^3, x!)
. Проблема, с которой я сталкиваюсь, заключается в том, что за один раз запускается только один цикл. Как я могу сделать все петли выполняются так, что мой выход выглядит следующим образом:Пытается запустить несколько циклов в C
0 0 0 1
1 1 1 1
0 0 0 1
1 1 1 1
0 0 0 1
1 1 1 1
0 0 0 1
1 1 1 1
Ниже приведен код, который я написал до сих пор, но я не могу получить все петли одновременно запустить. Мой вывод будет выводиться на экран только один раз, вместо того, чтобы печатать 4 раза. Может ли кто-нибудь просмотреть мой код и сообщить мне, где я ошибся?
#include<stdio.h>
void main()
{
int i =1 ,num;
//Prompt user for an input
printf("Enter a number: ");
scanf("%d", &num);
if (num < 0)
printf("Error: Factorial of negative number doesn't exist.");
//Loop 1
for(i = 1; i <= num; i++)
printf("%d %d %d %d \n", i, (i) * (i), (i) * (i) * (i), factorial(i));
//Loop 2
while(i < num) {
printf("%d %d %d %d \n", i, (i) * (i), (i) * (i) * (i), factorial(i));
i++;
//Loop 3
do {
printf("%d %d %d %d \n", i, (i) * (i), (i) * (i) * (i), factorial(i));
i++;
}while(i < num);
}
//Loop 4 without for, while, do while
if (i <= num)
printf("%d %d %d %d \n", i, (i) * (i), (i) * (i) * (i), factorial(i));
i++;
}
//Function to calculate a factorial
int factorial(int n)
{
int c;
int result = 1;
for (c = 1; c <= n; c++)
result = result * c;
return result;
}
Программа предназначена принять ряд от пользователя и запустить 4 различных циклов с этим номером (для, в то время как, делать-то время, и построен цикл через если заявление).
Первый формат и ваш код! Это непроницаемый беспорядок. – Olaf
Вам необходимо сбросить i – Maxqueue
Попробуйте сделать что-то еще, что работает, вместо этой вещи, которая не работает. Почему вы устанавливаете идею «четыре петли параллельно»? – immibis