Программа вычисляющая квадраты и кубы чисел от 1 до 10 - C (СИ)
Формулировка задачи:
Подскажите пожалуйста как уменьшить количество строк данной программы? При этом можно применять только операции равенства, отношения и арифметические. Заранее спасибо!
#include <stdio.h>
main ()
{
int x;
x=x+1;
printf("Number\tSquare\tCube\n");
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
x=x+1;
printf("%d\t%d\t%d\n", x, x*x, x*x*x);
return 0;
}Решение задачи: «Программа вычисляющая квадраты и кубы чисел от 1 до 10»
textual
Листинг программы
#include <stdio.h>
#define TOP (10)
int main(int argc, char ** argv) {
if ( argc <= TOP ) {
if ( argc == 1 )
printf("Number\tSquare\tCube\n");
printf("%d\t%d\t%d\n", argc, argc*argc, argc*argc*argc);
main(++argc, argv);
}
else
return 0;
}
Объяснение кода листинга программы
- Подключение стандартной библиотеки ввода-вывода
- Определение константы TOP равной 10
- Проверка аргументов командной строки. Если их количество не превышает TOP, то выполняется следующий код
- Если количество аргументов равно 1, то выводится заголовок таблицы
- Выводится значение количества аргументов, его квадрат и куб
- Рекурсивный вызов функции main с увеличенным аргументом командной строки
- Если количество аргументов превышает TOP, то возвращается 0, что означает конец работы программы