Mostra o fatorial de um dado numero com recursividade.//================================================================// Descricao: Mostra o fatorial de um dado numero com// recursividade//================================================================// Prototipo da funcao fatorialint fatorial(int n);// Libs#include #include // Funcao main// Main Functionint main(int argc, char** argv){ int n, i; printf("Digite o numero: "); scanf("%d", &n); printf("Fatorial de %d: %d\n", n, fatorial(n)); system("pause"); return 0;}// Funcao do fatorialint fatorial(int n) { if(n == 0) { return 1; } else { return n * fatorial(n-1); }} O programa concatena duas strings na primeira delas.//================================================================// Nome Do Arquivo: string_concatenar.c// File Name: string_concatenar.c//// Descricao: O programa concatena duas strings na primeira delas//================================================================// Prototipo da funcao concatenatora de caracteresvoid string_concatenar(char str1[], char str2[]);// Libs#include <stdio.h>#include <stdlib.h>// Funcao main// Main Functionint main(int argc, char** argv){ char str1[100], str2[100]; // Le as duas strings printf("Digite a primeira string: "); gets(str1); printf("Digite a segunda string: "); gets(str2); string_concatenar(str1, str2); printf("A string resultante: %s\n", str1); system("pause"); return 0;}// Funcao concatenadora de stringsvoid string_concatenar(char str1[], char str2[]) { int i, j; // Avanca ate o fim da primeira string for(i = 0; str1[i] != '\0'; i++); // Copia a segunda string na primeira for(j = 0; str2[j] != '\0'; j++, i++) { str1[i] = str2[j]; } // Marca o fim da string concatenada str1[i] = '\0';} Implementacao do algoritmo gerador de cnpj//================================================================// Nome Do Arquivo: cnpj.c// File Name: cnpj.c//// Descricao: Implementacao do algoritmo gerador de cnpj//================================================================// Prototipo da funcao geradora de CNPJint* cnpj_generator();// Libs#include <stdio.h>#include <stdlib.h>#include <time.h>// Funcao main// Main Functionint main(int argc, char** argv){ int *cnpj, i; // Inicia o gerador de numeros aleatorios srand(time(NULL)); // Gera um cpf aleatorio cnpj = cnpj_generator(); // Imprime o cnpj gerado na tela for(i = 0; i < 14; i++) { printf("%d", cnpj[i]); } printf("\n"); system("pause"); // Libera a memoria usada para o cnpj free(cnpj); return 0;}// Funcao Geradora de CNPJint* cnpj_generator() { int *cnpj, pesos[14], vetSoma[14], soma, resto, digito, i; // Aloca memoria para o cnpj cnpj = (int *) malloc(sizeof(int) * 14); // Gera 12 numeros aleatorios for(i = 0; i < 12; i++) { cnpj[i] = rand() % 10; } // Calculo do primeiro digito verificador // Gera os 12 pesos for(i = 0; i < 4; i++) { pesos[i] = 5 - i; } for(i = 4; i< 12; i++) { pesos[i] = 13 - i; } // Multiplica os valores de cada coluna for(i = 0; i < 12; i++) { vetSoma[i] = cnpj[i] * pesos[i]; } // Calcula o somatorio dos resultados soma = 0; for(i = 0; i < 12; i++) { soma += vetSoma[i]; } // Realiza-se a divisao inteira do resultado por 11 resto = soma % 11; // Verifica o resto da divisao if(resto < 2) { digito = 0; } else { digito = 11 - resto; } // Adiciona o 1o digito verificador ao cpf cnpj[12] = digito; // Calculo do segundo digito verificador // Gera os 13 pesos for(i = 0; i < 5; i++) { pesos[i] = 6 - i; } for(i = 5; i< 13; i++) { pesos[i] = 14 - i; } // Multiplica os valores de cada