Напишите скрипт, который выводит на зкран последовательно все числа от первого до второго аргумента - C (СИ)
Формулировка задачи:
Напишите скрипт CONT, который выводит на зкран последовательно все числа от первого до второго аргумента. (Пусть числа лежат в пределах от 1 до 999). Выполните проверку правильности ввода аргументов.
Решение задачи: «Напишите скрипт, который выводит на зкран последовательно все числа от первого до второго аргумента»
textual
Листинг программы
- #include <stdio.h>
- #include <stdlib.h>
- #include <errno.h>
- #define LOW_BOUND (1)
- #define HIGH_BOUND (999)
- int main(int argc, char ** argv) {
- if ( argc ) {
- if ( argc != 3 ) {
- fprintf(stderr, "Usage: %s low high\n", *argv);
- return 1;
- }
- else {
- char * tail;
- long n, m;
- errno = 0;
- n = strtol(argv[1], &tail, 10);
- if ( errno || *tail || n < LOW_BOUND || n > HIGH_BOUND ) {
- fprintf(stderr, "Error: first parameter is not a valid number!\n");
- return 1;
- }
- errno = 0;
- m = strtol(argv[2], &tail, 10);
- if ( errno || *tail || m < LOW_BOUND || m > HIGH_BOUND ) {
- fprintf(stderr, "Error: second parameter is not a valid number!\n");
- return 1;
- }
- if ( n >= m ) {
- fprintf(stderr, "Error: first number can't be greater or equals to second!\n");
- return 1;
- }
- main(0, argv);
- }
- }
- else {
- int n = atoi(argv[1]);
- printf("%d\n", n);
- if ( n < atoi(argv[2]) ) {
- char tmp[4];
- char * params[] = { argv[0], tmp, argv[2], NULL };
- sprintf(params[1], "%d", n + 1);
- main(0, params);
- }
- }
- return 0;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д