Jump to content
Fórum Script Brasil
  • 0

Concatenação de numeros em C


Carlos Henrique Biazoto

Question

Galera...

to tentando fazer um código em C, mas não to conseguindo..podem me ajudar.

Faça um programa que leia um numero natural n com quatro algarismos: x e o primeiro algarismo, y e o segundo algarismo, z e o terceiro algarismo e w e o quarto algarismo. Seu programa devera imprimir os valores de

i. wz + xy;

ii. xy ∗ ww + z.

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0
Galera...

to tentando fazer um código em C, mas não to conseguindo..podem me ajudar.

Faça um programa que leia um numero natural n com quatro algarismos: x e o primeiro algarismo, y e o segundo algarismo, z e o terceiro algarismo e w e o quarto algarismo. Seu programa devera imprimir os valores de

i. wz + xy;

ii. xy ∗ ww + z.

use uma string para obter um número de quatro digitos;

char num[5];

onde se usuario digita 1053

nome[0] = '1', nome[1] = '0', nome[2] = '5', nome[3] = '3';

[1][0][5][3]

existe uma função no header stdlib.h chamada atoi(), que converte string para números

para um algoritmo que supra suas necessidades você precisa saber manipular bem strings, pois atoi() converte toda string(e não char) em numero.

Você precisará de quebrá-las e dividir em strings menores. á te dei uma dica, poste seu código e te ajudarei melhor.

Edited by Dan Oliveira
Link to comment
Share on other sites

  • 0

Ta ai o exercicio e o código..

Faça um programa que leia um numero natural n com quatro algarismos: x e o primeiro algarismo, y e o segundo algarismo, z e o terceiro algarismo e w e o quarto algarismo. Seu programa devera imprimir os valores de

i. xy;

ii. xz;

iii. wz + xy;

iv. xy ∗ ww + z.

as duas primeiras, eu consegui no printf, mas as duas ultimas não consegui.

tentei somar direto no printf, mas dá um valor muito estranho

printf("o valor de :%d%d%d%d\n",w,z+x,y);

Código:

#include <stdio.h>

int main()

{

int n,x,y,z,w;

scanf("%d", &n);

x=n/1000;

y=n%1000/100;

z=n%100/10;

w=n%10;

printf("o valor de xy :%d%d\n",x,y);

printf("o valor de xz :%d%d\n",x,z);

printf("o valor de :%d%d%d%d\n",w,z+x,y);

return 0;

}

Galera...

to tentando fazer um código em C, mas não to conseguindo..podem me ajudar.

Faça um programa que leia um numero natural n com quatro algarismos: x e o primeiro algarismo, y e o segundo algarismo, z e o terceiro algarismo e w e o quarto algarismo. Seu programa devera imprimir os valores de

i. wz + xy;

ii. xy ∗ ww + z.

use uma string para obter um número de quatro digitos;

char num[5];

onde se usuario digita 1053

nome[0] = '1', nome[1] = '0', nome[2] = '5', nome[3] = '3';

[1][0][5][3]

existe uma função no header stdlib.h chamada atoi(), que converte string para números

para um algoritmo que supra suas necessidades você precisa saber manipular bem strings, pois atoi() converte toda string(e não char) em numero.

Você precisará de quebrá-las e dividir em strings menores. á te dei uma dica, poste seu código e te ajudarei melhor.

Link to comment
Share on other sites

  • 0

se você opta por não usar string

int num; // numeros de 4 algarismos, de usar uma validação para que le tenha 4 algarismos

int x, y, z, w;

scanf("%d", num);

x = num/1000;

y = (num - x) / 100;

z = (num - (x+y))/10;

w =(num - (x+y+z);

testa aí. agora assim para calcular aquela parte vai requer alguns cálculos.

Link to comment
Share on other sites

  • 0

Então ainda não aprendi nas aulas da facul a utilizar string..hehehe

Usando o exemplo de codigo q me enviaste, não consegui o resultado esperado.

fiz o teste de mesa e apareceu valores diferentes do q estavo utilizando

Exemplo:

Se eu jogar o numero 3278 para num,

num=3278

o primeiro algarismo teria que ser: x=3

o segundo algarismo teria que ser: y=2

o terceiro algarismo teria que ser: z=7

o quarto algarismo teria que ser: w=8

x=num/1000;

x=3278/1000

x=3

y=(num -x)/100;

Y=(3278-X)/100;

Y=(3278-3)/100;

Y= 3275/100

Y=32

quando fizesse um printf com x,y

iria aparecer o numero: 332

sendo que o correto tem q ser 32

sendo o=x e o 2=y.

eu não consegui fazer é o:

iii. wz + xy;

iv. xy ∗ ww + z.

se você opta por não usar string

int num; // numeros de 4 algarismos, de usar uma validação para que le tenha 4 algarismos

int x, y, z, w;

scanf("%d", num);

x = num/1000;

y = (num - x) / 100;

z = (num - (x+y))/10;

w =(num - (x+y+z);

testa aí. agora assim para calcular aquela parte vai requer alguns cálculos.

Link to comment
Share on other sites

  • 0

vamos usar sua lógica depois de uma entrada de um usuário; 2365

x = 2;

y = 3;

z = 6;

w = 5;

xy teria o valor de 23;

então faça estas atribuições e crie algumas variáveis

xy = x * 10 + y;

wz = w * 10 + z;

ww = w * 10 + w;

seu programa ficará...

#include <stdio.h>
int 
main()
{
    int n, x, y, z, w, wz, xy, ww;
    scanf("%d", &n);
    x=n/1000;
    y=n%1000/100;
    z=n%100/10;
    w=n%10;
    //atribucoes especiais
    xy = x * 10 + y;
    wz = w * 10 + z;
    ww = w * 10 + w;

    printf("o valor de xy :%d%d\n",x,y);
    printf("o valor de xz :%d%d\n",x,z);
    printf("o valor de wz + xy: %d + %d = %d\n",wz,xy, wz+xy);
    printf("o valor de xy * ww + z: %d * %d + %d = %d\n", xy, ww, z, xy*ww+z);
    return 0;
}

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...