Vai entrando números e enquanto os números forem maiores que 0 vai somando esses números. Se o número for zero ou negativo, mostra a soma.
Obs.: Para resposta dos exercícios, os programas devem interagir com o usuário. Veja o exemplo de saída do programa:
Aluno: Franciele de Almeida
Nro Matrícula: 18181818181
Programa referente ao exercício 1
Entre com o 10 número: 345
Entre com o 2^{\circ} número: 112
O resultado é: 457

Passo 1

Vamos escrever um programa em C que peça ao usuário seu nome e número de matrícula, exiba um cabeçalho com esses dados e, em seguida, leia números inteiros um a um, somando-os enquanto forem maiores que zero. No momento em que o usuário digitar zero ou um número negativo, o programa encerra a leitura e exibe a soma acumulada.

Passo 2

Declaramos as variáveis necessárias:
  • char nome[100]; para armazenar o nome do aluno.
  • char matricula[30]; para armazenar o número de matrícula.
  • int n; para ler cada número inserido.
  • int soma = 0; para acumular a soma dos números positivos.
  • int contador = 1; para numerar cada entrada sucessiva.

Passo 3

Lemos o nome e a matrícula usando fgets, removendo o final para formatar corretamente a saída:
printf("Aluno: ");
fgets(nome, sizeof(nome), stdin);
if (nome[strlen(nome)-1] \(==\) '
') nome[strlen(nome)-1] = '\0';

printf("Nro Matrícula: ");
fgets(matricula, sizeof(matricula), stdin);
if (matricula[strlen(matricula)-1] \(==\) '
') matricula[strlen(matricula)-1] = '\0';

Passo 4

Exibimos o cabeçalho do programa:
printf("Programa referente ao exercício 1
");

Passo 5

Entramos num loop while (1) para ler números até encontrarmos um valor não positivo. A cada iteração:
  1. Mostramos o prompt numerado usando o sufixo "º" para indicar o ordinal.
  2. Lemos o valor em n com scanf.
  3. Se n > 0, acumulamos em soma e incrementamos contador.
  4. Caso contrário, saímos do loop com break.
while (1) {
 printf("Entre com o %dº número: ", contador);
 scanf("%d", &n);
 if (n > 0) {
 soma \(+=\) n;
 contador\(++\);
 } else {
 break;
 }
}

Passo 6

Por fim, exibimos o resultado da soma:
printf("O resultado é: %d
", soma);

Resposta

#include <stdio.h>
#include <string.h>

int main(void) {
 char nome[100];
 char matricula[30];
 int n;
 int soma \(=0\);
 int contador \(=1\);

 printf("Aluno: ");
 fgets(nome, sizeof(nome), stdin);
 if (nome[strlen(nome)-1] \(==\) '
') nome[strlen(nome)-1] = '\0';

 printf("Nro Matrícula: ");
 fgets(matricula, sizeof(matricula), stdin);
 if (matricula[strlen(matricula)-1] \(==\) '
') matricula[strlen(matricula)-1] = '\0';

 printf("Programa referente ao exercício 1
");

 while (1) {
 printf("Entre com o %dº número: ", contador);
 scanf("%d", &n);
 if (n > 0) {
 soma \(+=\) n;
 contador\(++\);
 } else {
 break;
 }
 }

 printf("O resultado é: %d
", soma);
 return 0;
}

Exercícios relacionados