Jump to content
JLFR

Como receber uma sigla e printar resultados na ordem em que foi solicitada

Recommended Posts

Neste programa eu recebo as siglas para cada operação, como eu poderia  printar  conforme eu as solicitei com, o programa se encerra quando OOO é digitado.

exemplos de entrada

18 12

MOD

MDC

OOO

saida

MDC(18,12) = 6

MOD(18,12) = 6

 

***código abaixo

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

int MDC(int n1, int n2);

int MOD(int n1, int n2);

int POT(int n1, int n2);

int main(){
    char x[100];
    int n1=0, n2=0 , rmdc = 0, rmod = 0, rpot = 0;
    
    scanf("%d",&n1);
	scanf("%d",&n2);
    
    rmdc = MDC(n1,n2);
       
    rmod = MOD(n1,n2);

    rpot = POT(n1,n2);
    
    
    do{
        scanf("%s", x);
        if(strcmp(x,"MDC") == 0){
            printf("MDC(%d,%d) = %d\n", n1, n2, rmdc);
        }
        else if(strcmp(x,"MOD") == 0){
            printf("MOD(%d,%d) = %d\n", n1, n2, rmod);
        }
        else if(strcmp(x,"POT") == 0){
            printf("POT(%d,%d) = %d\n", n1, n2, rpot);
        }
        else if(strcmp(x,"OOO") == 0){
            break;
        }
    } while (strcmp(x,"OOO") != 0);
    
	return 0;
}
        

int MDC(int n1, int n2){
    if (n2==0) return n1;
    return  MDC(n2, n1 % n2);
  }
    
int MOD(int n1, int n2){
    int res;
    res = n1 % n2;
    return res;
    
    }
    
int POT(int n1, int n2)
{
    if(n2 == 0)
        return 1;
    else if(n2 > 0)
        return n1 * POT(n1, n2-1);
		}

 

Share this post


Link to post
Share on other sites

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

  • Similar Content

    • By Nwband
      programar um determinado programa pf
       
      Preciso de um programa em C que seja capaz de ler uma frase com ate 100 caracteres e imprimi-la, conseguir identificar quantas letras maiusculas e minusculas tem na frase e escreve-la ao contrario
    • By Auface
      Pessoal estou iniciando na programaçaoem C e tenho este trabalho para fazer.
       
      Ajudem por favor , programação em C, e não tenho a minima ideia de como fazer, o enunciado é em inglês e está, neste link, é o exercício B(building a field).
      http://maratona.ime.usp.br/hist/2018/resultados18/contest_onesided.pdf
      Por enquanto eu fiz isso, mas não tenho certeza se começo assim.eu acho também que tenho que fazer este exercício a partir de um arquivo e lendo ele, mas também n sei como fazer.
       
      #include <stdio.h> int main() {     float x1,y1,x2,y2;     printf("Ponto 1: \n");     scanf("%f %f",&x1,&y1);     printf("Pont 2: \n");     scanf("%f %f",&x2,&y2);     printf("%.4f\n",(sqrt(pow(x2-x1,2)+pow(y2-y1,2))));     return 0; }
    • By eduardobraz
      Corrigir dois erros:
       
      entrada:
      10 4
      -93 -86 49 -62 -90 -63 40 72 11 67
       
      Saída
      NAO
      6
      5
      4
      2
      1
       
      Mais com esse está assim
      NAO
      1
      3
      4
      5
       
       
      #include <stdio.h>
      int main(){
          int n, k, i, j, cont, vetor[1000], aux, po;
          while (1){
              
              scanf("%d %d", &n, &k);
              
              if(n <= 1000 && n >= 0 && k <= 1000 && k >= 0){
                  
                  break;
                  
              }
          }
          for(i = 0; i < n; i++){
              
              scanf("%d", &vetor);
              
          }
          for(i = 0; i < n; i++){
          
              if(vetor <= 0){
                  cont++;
              }
          }
          if(cont >= k){
              printf("NAO\n");
              for(i=1; i<n; i++){
                  if (vetor <= 0){
                      aux = vetor;
                      po=i;                 
                      printf("%d\n", po);
                  }
              }
          }
          else{
              printf("SIM\n");
          }
      }
    • By soaresgusta
      Boa tarde, exercício pede a seguinte questão:

      Faça um programa que leia um valor x qualquer e calcule:
      Y = ( x+1)+(x+2)+(x+3)+(x+4)+(x+5)+...(x+100).

      Eu não estou conseguindo criar uma função Y na linguagem que some de 1 a 100.

      #include <stdio.h>
      #include <stdlib.h>

      int main ()
      {
      int Y=0, x, i=1;

      for (i=1;i<=100;i++);
      {
      Y= (x+i);
      printf("Digite um numero inteiro qualquer: \n");
      scanf ("%d", x);

      printf("Y = %d \n", Y);
      i++;

      }
      return (0);
      }

      Pela lógica, i varia de 1 a 100, mas quando eu executo o programa ele não soma. Alguém pode me ajudar?
    • By Leonard123456789
      fazer um programa  que pede ao usuário que entre com os valores de 0 a 10. Não pode ser maior que 10 e nem menor que 0 é não pode ter números repetidos e nem iguais
       
      var v,cont,igual:inteiro inicio cont <- 0 enquanto (cont <= 5) faca escreva("Digite os valores de 0 a 5: ") leia(v) se (v >5) entao escreval("Número errado!") fimse cont <- cont + 1 fimenquanto fimalgoritmo  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.