2017-09-29 6 views
0

organigramme:Conversion d'un organigramme à un programme en langage C (je suis nouveau à la programmation et besoin d'aide)

enter image description here

Ma tentative de résoudre:

#include <stdio.h> 
int main() 
{ 
    int n; 
    int m; 
    printf("enter two numbers:"); 
    scanf("%d%d", &n, &m); 
    if (n > 0 || n-m>0) { 
    puts("A"); 
    } 
    else { 
    puts("C"); 
    } 
    if (n-m < 0 || n <= 13){ 
    puts ("B"); 
    } 
} 

le programme se exécute mais je voulais un conseil sur si oui ou non je l'ai fait comme je suis un débutant ... Merci!

Répondre

1

Donc, un peu de votre || s devrait être & & s, puisque vous voulez vous assurer que les deux conditions s'appliquent. Deuxièmement, votre dernière instruction if devrait être un sinon si, sinon vous pouvez obtenir plusieurs sorties.

De même que votre premier conditionnel a le n-m comme>, devrait être <.

Par exemple, si l'entrée sont -5 et -10 vous répondez AB, mais la réponse correcte devrait être C.

#include <stdio.h> 
int main() 
{ 
    int n; 
    int m; 
    printf("enter two numbers:"); 
    scanf("%d%d", &n, &m); 
    if (n > 0 && n-m<0) { 
    puts("A"); 
    } 
    else if (n-m < 0 && n <= 13){ 
    puts ("B"); 
    } 
    else if (n <= 0){ 
    puts("C"); 
    } 

} 

Cependant, il peut être bénéfique et lisible pour nicher les conditionals pour correspondre plus étroitement le diagramme:

#include <stdio.h> 
int main() 
{ 
    int n; 
    int m; 
    printf("enter two numbers:"); 
    scanf("%d%d", &n, &m); 
    if (n > 0) { 
    if(n - m < 0){ 
     puts("A"); 
    } 
    else if (n <= 13){ 
     puts("B"); 
    } 
    } 
    else{ 
    puts("C"); 
    } 

}