Größer als und kleiner als in der switch-Anweisung in C

Ich versuche, den code schreibt, hat eine Menge der Vergleich

Schreiben Sie ein Programm in “QUANT.C", die "quantifiziert" zahlen. Lesen Sie eine ganze Zahl "x" und testen Sie es, die Herstellung der 
folgende Ausgabe: 

x größer als oder gleich 1000 print "äußerst positiv" 
x von 999 bis 100 (100) print "sehr positiv" 
x zwischen 100 und 0 print "positiv" 
x genau 0 print "null" 
x zwischen 0 und -100 print "negative" 
x von -100 bis -999 (einschließlich -100) print "sehr negativ" 
x weniger als oder gleich -1000 print "äußerst negativ" 

Somit -10 drucken würde "negativ", -100 "sehr negativ" und 458 "sehr positiv". 

dann habe ich versucht, es zu lösen, mit Schalter, aber es hat nicht funktioniert, muss ich haben, um es zu lösen verwenden if-Anweisung oder es gibt eine Methode, es zu lösen mit Schalter?

#include <stdio.h> int main(void) { int a=0; printf("please enter a number : \n"); scanf("%i",&a); switch(a) { case (a>1000): printf("hugely positive"); break; case (a>=100 && a<999): printf("very positive"); break; case (a>=0 && a<100): printf("positive"); break; case 0: printf("zero"); break; case (a>-100 && a<0): printf("negative"); break; case (a<-100 && a>-999): printf("very negative"); break; case (a<=-1000): printf("hugely negative"); break; return 0; }
  • switch können nur exakte Vergleiche mit Konstante Integrale Werte. Du wirst if und else.
  • definieren didn't work
  • Sieben kompilieren Fehler haben sollte, sagte Sie etwas (und 1 Warnung: control reaches end of non-void function).
  • In Ihrer Problemstellung es wird nicht erwähnt, nutzen nur switch case. if -, else-Weg zu gehen!
InformationsquelleAutor Salahuddin | 2014-01-07
Schreibe einen Kommentar