Ваш подход слишком сложен. Вам нужен только один l oop, промежуточная сумма и переменная для хранения следующего значения, которое будет добавлено к сумме.
Начните текущую сумму с нуля, затем добавьте 1 и напечатайте сумму, затем добавьте 2 и напечатайте сумму, затем добавьте 3 и напечатайте сумму ... продолжайте делать это до тех пор, пока сумма не станет выше 100.
Как:
#include <stdio.h>
int main(void) {
int sum = 0;
int nextToAdd= 1;
while(1)
{
sum += nextToAdd;
++nextToAdd;
if (sum > 100) break;
printf("%d\n", sum);
}
return 0;
}
или, если вы предпочитаете do-while
#include <stdio.h>
int main(void) {
int sum = 1;
int nextToAdd = 1;
do
{
printf("%d\n", sum);
++nextToAdd;
sum += nextToAdd;
} while(sum <= 100);
return 0;
}
или, если вы предпочитаете, для-l oop
#include <stdio.h>
int main(void) {
int sum = 1;
for (int nextToAdd = 2; sum <= 100; ++nextToAdd)
{
printf("%d\n", sum);
sum += nextToAdd;
}
return 0;
}