Нас 0 prcision и добавляют период, если Вы хотите тот. EG "%.0f".
>>> print "%.0f."%1.0
1.
>>>
Следующее будет делать это, если, как я предполагаю, используя ./ a.out
, вы работаете на платформе типа UNIX.
for number in 1 2 3 4 ; do \
./a.out $$number ; \
done
Тест следующим образом:
target:
for number in 1 2 3 4 ; do \
echo $$number ; \
done
производит:
1
2
3
4
Для больших диапазонов используйте:
target:
number=1 ; while [[ $$number -le 10 ]] ; do \
echo $$number ; \
((number = number + 1)) ; \
done
Это выводит с 1 по 10 включительно, просто измените условие завершения , а
с 10 на 1000 для гораздо большего диапазона, как указано в вашем комментарии.
Вложенные циклы могут быть выполнены таким образом:
target:
num1=1 ; while [[ $$num1 -le 4 ]] ; do \
num2=1 ; while [[ $$num2 -le 3 ]] ; do \
echo $$num1 $$num2 ; \
((num2 = num2 + 1)) ; \
done ; \
((num1 = num1 + 1)) ; \
done
производят:
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
4 1
4 2
4 3
Если вы используете GNU make, вы можете попробовать
NUMBERS = 1 2 3 4 doit: $(foreach var,$(NUMBERS),./a.out $(var);)
, который сгенерирует и выполнит
./a.out 1; ./a.out 2; ./a.out 3; ./a.out 4;