【求一段循環語句的C語言程序switch語句.A(90~100),B(80~89,C(70~
#include void main(){ int a; scanf("%d",&a); switch(a){ case 10: case 9: printf("(90~100)\n");break; case 8:printf("(80~89)\n");break; case 7:printf("(70~79)\n");break; case 6:printf("(60~69)\n");break; case 5: case 4: case 3: case 2: case 1: case 0:printf("(0~59)\n");break; default: printf("ERROR\n");break;}}。
C語言:switch語句用法
case (c>=90 && c<=100): case后面的必須是一個常量。
你這個可以先將成績除以10,再用switch #include "stdio.h" void main() { char c; /*這里別用char,改成:int c,d;*/ scanf("%c",&c); /*這一句也改成scanf("%d",&c);最好前面再加一句,printf("請輸入成績:"); 在這句后面加一句d=c/10;*/ switch(c) /*然后switch里面用d來判斷,switch(d)*/ { case (c>=90 && c<=100):printf("成績的等級為:A.\n"); break; /*改成: case (10): case (9):printf("成績的等級為:A.\n");break; case (c>=80 && c<=89):printf("成績的等級為:B.\n"); break; /*改成:case (8):printf("成績的等級為:B.\n"); break; } } 因為90到100之間的數經過除以10再取整以后就變成了9;100/10等于10,又因為case調用同一個語句的時候允許就在最后一個語句寫上那個語句,而將前面的那幾個省略掉,所以case (10):后面的就省掉了,當然寫上也不會錯。 你的補充的那個,你可以把它分開表示,就像我給你弄的那個case (c>=90 && c<=100):printf("成績的等級為:A.\n"); break; /*改成: case (10): case (9):printf("成績的等級為:A.\n");break; 雖然有點糾纏不清的感覺,但是希望對解決你的疑問有一定的幫助,呵呵。
c語言switch語句
執行case 2是因為在switch (x) 中x=1,所以執行case 1,然而case 1 這條語句沒有break,所以switch (x)在執行了case 1之后將繼續往下依次執行case語句,直到碰到break就跳出switch 循環。
對于“a的自加是先執行后在自加,當此程序a自加的時候沒有執行其他語句啊?????? ” 則是你沒看到程序中的語句a++,b++它自加完了以后把值任然是賦值給a,b本身的,而不是賦值給其他變量例如c=a++;z=b++。如果是這樣賦值給別的變量的話那么就很明確了c,z的值將和課本上說得一樣都是自加以前的值 。
也就是說這個程序當中最后printf輸出的是a,b的值,但是a,b在自加過程中值都變化了,就是說相當于語句a=a++,b=b++. 我將你的程序進行了更改,你將兩個程序都運行下然后再對照著看一下就明白為什么a,b的值最后是2和1了,程序如下#include
轉載請注明出處華閱文章網 » c語言switch語句