- Cáculo do factorial de um número:
int factorial(int n) {
if (n < 3) return n;
return n * factorial(n-1);
}
const int FACTORIAL = 5;
int main() {
int f, n = FACTORIAL;
if (argc() > 1)
n = atoi(argv(1));
printf("%d! = %d\n", n, factorial(n));
return 0;
}
- Divisores de um número:
int main(int argc, char *argv[])
{
int i = 2, n, primo = 1;
if (argc < 2) {
printf("Cálculo dos divisores.\nUSE: %s número\n", argv[0]);
return 1;
}
n = atoi(argv[1]);
while (i <= n/2) {
if (n % i == 0) {
printf("%d é divisível por %d.\n", n, i);
primo = 0;
}
i = i + 1;
}
if (primo == 1)
printf("%d é primo.\n", n);
return 0;
}
- Classificador de triângulos:
int main(int argc, char *argv[])
{
int a, b, c;
if (argc < 4) {
fprintf(stderr, "USAGE: %s a b c\n", argv[0]);
return 1; /* erro de argumentos */
}
if ( (a = atoi(argv[1])) < 0 ||
(b = atoi(argv[2])) < 0 ||
(c = atoi(argv[3])) < 0) {
printf("Dimensões negativas\n");
} else {
if ( a >= b+c || b >= a+c || c >= a+b) {
printf("Não é triângulo\n");
} else {
if (a == b && b == c) {
printf("Equilátero\n");
} else {
if (a == b || b == c) {
printf("Escaleno\n");
} else {
printf("Isósceles\n");
} } } }
return 0;
}