Ejercicios Informática UVIGO

Programación I

Un programa que pida dos valores utilizando una función y devuelva la suma de los números comprendidos entre los dos.

#include <stdio.h>
int pedirnumeros();
int main()
{

printf(“La suma es : %d\n”,pedirnumeros());
return 0;
}

int pedirnumeros(){
int suma=0,i,x,y;
do{
printf(“dame un numero comprendido entre 0 y 100\n”);
scanf(“%d”,&x);
}
while (x<0 || x>100);
do{
printf(“dame otro numero comprendido entre 0 y 100\n”);
scanf(“%d”,&y);
}
while (y<0 || y>100);
for (i=x; i<=y;i++){
suma=suma+i;
}
return suma;

}

Ver Compilación

En esta práctica controlamos que los numeros introducidos esten comprendidos entre 0  y 100.

Tenemos un problema cuando el segundo numero introducido es menor que el primero ya que nos da suma cero.

Podemos solucionarlo pidiendo un numero mayor:

do{
printf(“dame otro numero comprendido entre 0 y 100 y mayor que %d\n”,x);
scanf(“%d”,&y);
}
while (y<0 || y>100 || y<=x);

O bien buscando el mayor de los dos introducidos;

#include <stdio.h>
int pedirnumeros();
int main()
{

printf(“La suma es : %d\n”,pedirnumeros());
return 0;
}

int pedirnumeros(){
int suma=0,i,x,y, min, max;
do{
printf(“dame un numero comprendido entre 0 y 100\n”);
scanf(“%d”,&x);
}
while (x<0 || x>100);
do{
printf(“dame otro numero comprendido entre 0 y 100 y mayor que %d\n”,x);
scanf(“%d”,&y);
}
while (y<0 || y>100);
if (x>y){
min=y;
max=x;
}
else{
min=x;
max=y;
}
for (i=min; i<=max;i++){

suma=suma+i;

}
return suma;

}

Ver Compilación