Jump to content

output: valor da soma (de 1 em 1)>=numero introduzido


Recommended Posts

Posted

Estou aqui com umas dúvidas...

Tenho de fazer um programa, que peça ao utilizador um numero inteiro.

O programa deve começar no numero zero e ir somando de 1 em 1 até que o valor da soma seja igual ou superior ao número introduzido.

Já dei algumas voltas a cabeça, já tentei várias formas, mas apenas consigo mostrar números da posição zero até ao numero introduzido, não conseguindo portanto atribuir-lhe uma função que indique que :

soma de 1 em 1, pare assim que o total da soma seja igual ou superior ao valor...

ou seja, sempre que a soma não seja possível ser igual, deve ser superior ao numero..

ex:

>5

>1+2+3

>3

>1+2

Posted

São dois passos simples:

1. Calculas até que valor é que precisas de somar;

2. Imprimes os números de 1 até ao valor calculado anteriormente, separados por '+'.

No fundo, consegues resolver com um ciclo for. Não sei onde está a tua dúvida.

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Posted

O valor é introduzido pelo utilizador.

Para fazer a soma fiz isto:

for(x=0;x<=valor;x++)

Para mostrar essa soma:

printf(" %d + ",x);

se o valor introduzido for 5 a mensagem que me vai mostrar vai ser esta:

>1+2+3+4+5

e eu pretendo que ele pare assim que tenha uma soma = ou > ao 5, ou seja:

>1+2+3

Posted

Então... tu estás a limitar o ciclo para quando x <= 5, quando o que devias estar a fazer é ir somando o x para outra variável até que esta seja maior que 5:

int v = 0, x;

for (x = 1; v < valor; x++) {
    v += x;
    //print
}

“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.