Prova
Prova
h>
typedef struct {
int matricula;
char nome[50];
float notas[3];
} Aluno;
int main() {
Aluno alunos[5];
int i, j, maior = 0;
scanf("%d", &alunos[i].matricula);
scanf("%s", alunos[i].nome);
scanf("%f", &alunos[i].notas[j]);
maiorMedia = media;
maior = i;
return 0;
2) #include <stdio.h>
#include <string.h>
int main() {
char str[100];
scanf("%s", str);
tamanho = sizeof(str);
palindromo = 0;
break;
if (palindromo)
else
return 0;
3) #include <stdio.h>
int main() {
float numeros[8];
int i, j, contagem;
printf("Digite 8 numeros:\n");
scanf("%f", &numeros[i]);
contagem = 0;
if (numeros[i] == numeros[j]) {
contagem++;
return 0;
4) #include <stdio.h>
int main() {
while (1) {
break;
matriz[linha][coluna] = valor;
else
printf("Matriz:\n");
printf("\n");
return 0;
}
1) #include <stdio.h>
typedef struct {
int dia, mes, ano;
} Data;
int main() {
Data data1, data2;
int dias1, dias2;
dias1 = calculaDias(data1);
dias2 = calculaDias(data2);
return 0;
}
2) #include <stdio.h>
int main() {
int n, i;
int a = 0, b = 1, c;
int main() {
int numeros[10], i, maior, menor;
return 0;
}
4) #include <stdio.h>
int main() {
int numeros[10], i;
printf("\n");
return 0;
}
1) #include <stdio.h>
#include <stdlib.h>
struct Atleta {
char nome[50];
char esporte[50];
int idade;
float altura;
};
int main() {
struct Atleta atletas[5];
FILE *arquivo = fopen("atletas.txt", "w");
if (arquivo == NULL) {
printf("Erro ao abrir o arquivo!\n");
return 1;
}
fclose(arquivo);
printf("Dados dos atletas salvos no arquivo atletas.txt.\n");
return 0;
}
2) #include <stdio.h>
#include <stdlib.h>
struct No {
int valor;
struct No *prox;
};
void inserir(struct No **lista, int valor) {
struct No *novo = (struct No*) malloc(sizeof(struct No));
novo->valor = valor;
novo->prox = *lista;
*lista = novo;
}
void exibir(struct No *lista) {
struct No *atual = lista;
while (atual != NULL) {
printf("%d -> ", atual->valor);
atual = atual->prox;
}
printf("NULL\n");
}
return 0;
}
3) #include <stdio.h>
#include <stdlib.h>
struct No {
int valor;
struct No *prox;
};
void inserir(struct No **lista, int valor) {
struct No *novo = (struct No*) malloc(sizeof(struct No));
novo->valor = valor;
novo->prox = NULL;
if (*lista == NULL) {
*lista = novo;
} else {
struct No *atual = *lista;
while (atual->prox != NULL) {
atual = atual->prox;
}
atual->prox = novo;
}
}
void exibir(struct No *lista) {
struct No *atual = lista;
while (atual != NULL) {
printf("%d -> ", atual->valor);
atual = atual->prox;
}
printf("NULL\n");
}
void trocarComProximo(struct No **lista, int valor) {
struct No *anterior = NULL;
struct No *atual = *lista;
while (atual != NULL && atual->prox != NULL && atual->valor != valor) {
anterior = atual;
atual = atual->prox;
}
if (atual != NULL && atual->prox != NULL) {
struct No *prox = atual->prox;
if (anterior == NULL) {
*lista = prox;
} else {
anterior->prox = prox;
}
atual->prox = prox->prox;
prox->prox = atual;
} else {
printf("Valor %d não encontrado ou não há nó seguinte para trocar.\n", valor);
}
}
int main() {
struct No *lista = NULL;
inserir(&lista, 5);
inserir(&lista, 2);
inserir(&lista, 6);
inserir(&lista, 8);
inserir(&lista, 4);
printf("Lista original:\n");
exibir(lista);
trocarComProximo(&lista, 6);
return 0;
}
4) Ambas estão incorretas, pois a primeira função tem um problema com variáveis
locais, e a segunda, apesar de alocar dinamicamente a célula, não atualiza
corretamente o ponteiro da lista principal, já que lst é passado por valor.
#include <stdio.h>
int main() {
int n, i;
printf("\n");
return 0;
}