c語言在switch中實現必須先輸入1,才繼續輸入2或者

2021-03-22 07:59:14 字數 6068 閱讀 9172

1樓:不退潮的海了

#include

void func1();

void func2();

int main()

case 2:

case 3:}}

return 0;

}void func1()

void func2()

c語言、switch語句問題,為什麼輸入到3的時候,後面的全部輸出?

2樓:匿名使用者

每個case語句後面要加個break才不會全部執行。不然都是從匹配處順序住下執行。比如你輸入1,所有的都會執行。

3樓:n等一個人咖啡

一看到程式設計 我頭就痛

c語言,有兩個整數a,b,由使用者輸入1,2或3.如輸入1,程式就給出ab中大者,輸入2就給出ab中

4樓:4747哦

用指向函式的指標作函式引數,書上例題

#include

main()

int max(int x,int y)

int min(int x,int y)

int add(int x,int y)

void fun(int x,int y,int (*p)(int,int))

5樓:匿名使用者

#include "stdio.h"

void main()}

c語言:定義輸入變數n,當且僅當n=1,2,3時,輸出依次為今年1,2,3月份的日曆

6樓:匿名使用者

#include

void main()

break;

case 2:

break;

case 3:break;

default :break;}}

7樓:匿名使用者

接受一個輸入,判斷是否符合要求

然後用switch去輸出日曆啊

這3個月的日曆分別是固定的,就分別是變數,按照合適的格式輸出啊。

c語言中用 switch 怎麼寫然後輸入一個分數根據分數段輸出 abcde。

8樓:匿名使用者

常用的方法 就是把分數除10

然後對結果進行switch

0 ~567

89 ~10

五個段。

9樓:大寶與瑩寶

常用的方法 就是把分數除10

然後對結果進行switch

事先編好程式,要求分別用if語句和switch語句實現。執行程式,並檢查結果是否正確。

② 再執行一次程式,輸入分數為負值(如-70),這顯然是輸入時出錯,不應給出等級。修改程式,使之能正確處理任何資料:當輸入資料大於100或小於0時,通知使用者「輸入資料錯」,程式結束。

90-100:a,80-89:b,。。0-59:e

#include

main(){

int v;

int f;

printf("input fenshu between 0 and 100 :");

scanf("%d",&f);

v = f / 10;

printf("the mark is: ");

switch(v){

case 10: case 9: printf("a\n");break;

case 8: printf("b\n");break;

case 7: printf("c\n");break;

case 6: printf("d\n");break;

default: printf("e\n");break;

10樓:金色潛鳥

假定輸入分數為整型,0-100

90-100:a,80-89:b,。。0-59:e#include

main()

return 0;}

11樓:匿名使用者

#include "stdio.h"

void main()

if( fenshu > 100 || fenshu < 0 )switch(fenshu/10)}}

12樓:鬥帝之上魂鬥羅

||int main()

if(score==100)

switch(score/10%10)

return 0;}

13樓:黨適縱真如

#include

int main()

return 0;}

c語言,輸入2473,輸出668977,我想請問一下,是先給c賦值為2,還是2473?

14樓:0揮不去的傷痛

#include

void main()

}printf("\n");

return 0;

}getchar僅僅讀取一個字元,寫在while語句的判斷條件裡,則每執行一遍迴圈就執行一遍getchar,即讀取一個字元。

輸入2,執行第一遍迴圈,c值2,執行switch(c-'2'),括號中的c-'2'返回值是0。執行case 0:case 1:

putchar(c+4); case 2:putchar(c+4); break; 就是輸出c+4所代表的字元,就是6,輸出兩遍6,然後遇到break跳出。

輸入4,執行第二遍迴圈,c值4,執行switch(c-'2'),括號中的c-'2'返回值是2。執行case 2:putchar(c+4); break; 就是輸出c+4所代表的字元,就是8,然後遇到break跳出。

輸入7,執行第三遍迴圈,c值7,執行switch(c-'2'),括號中的c-'2'返回值是5。沒有case對應,執行default: putchar(c+2); break; 就是輸出c+2所代表的字元,就是9,然後遇到break跳出。

輸入3,執行第四遍迴圈,c值3,執行switch(c-'2'),括號中的c-'2'返回值是1。執行case 1:putchar(c+4); case 2:

putchar(c+4); break; 就是輸出c+4所代表的字元,就是7,然後遇到break跳出。

最後輸出結果就是 66897

望採納~~~

15樓:匿名使用者

賦值為'2',getchar()是讀取一個字元

16樓:漆翔飛仙漾

c-'2'是指將字元c的ascii碼與字元'2'的ascii作差。

輸入為2,差的結果為0,執行case

0,沒有break,繼續執行case

1,輸出

c+4,因為c為2,所以輸出6;沒有break,繼續執行case2,輸出

c+4,還是6;遇到break,退出swith語句。

輸入為4,差的結果為2,執行case

2,輸出c+4,為8,遇到break,退出swith語句。

輸入為7,差的結果為5,執行default,輸出為c+2,即9,後面沒有語句了,即使沒有break,也退出switch語句。

輸入為3,

差的結果為1,執行case

1,輸出

c+4,即7,沒有break,繼續執行case2,輸出c+4,即7,遇到break,退出switch,輸入結束,退出while迴圈。

故此輸出為:668977

在控制檯上輸入一個整數,當輸入為1時,螢幕顯示a,輸入2,3時,螢幕顯示b,輸入4時,螢幕顯示c,

17樓:度木子木木

switch(console.readline())

這是c#實現方式,對於switch其他語言應該也差不多,只是接收與輸出不同而已

c語言 輸入1 2 3 4 5 0回車輸出結果為6566456我想問它一步步算的流程

18樓:匿名使用者

你輸入1 2 3 4 5 0,輸出結果為6566456

流程:1.輸入1時,程式進入case1中printf列印s+5=6;因為這個case語句沒有加break;所以繼續往下執行case2中,又列印s+4=5,遇到break退出switch語句.

2.輸入2時,程式進入case2中列印s+4=6,遇到break退出switch語句.

3.輸入3時,程式進入case3中列印s+3=6;沒有遇到break,順序往下執行default,s+1=4,遇到break退出switch語句.

4.輸入4時,switch語句中沒有相對應的case,所以執行default,結果s+1=5;

5.輸入5時,switch語句中沒有相對應的case,所以執行default,結果為s+1=6;

6.輸入0退出while迴圈,因為之前輸入數都大於0,所以會迴圈執行

scanf("%d",&s);

while(s>0)

scanf("%d",&s);}

19樓:匿名使用者

這道題目主要看switch() case 中的break的作用;

當輸入1時,程式實際執行到case1:printf(「%d」, s+5);列印出「6」的數字,注意,此句case沒有break語句,於是還會繼續執行下一條語句,case2:printf(「%d」, s+4);列印出「5」數字,接著執行break;跳出switch,重新判斷while(s >0)語句,再繼續執行switch 和case的**,以此類推,於是你看到的結果分別為:

輸入1--------------列印6和5;

輸入2--------------列印6;

輸入3--------------列印6和4;

輸入4--------------列印5;

輸入5--------------列印6;

輸入0--------------由於while(s>0)條件的判斷,因此不會列印;

所以你最後看到的結果就是輸入1 2 3 4 5 0,最後輸出 6 5 6 6 4 5 6的結果

20樓:匿名使用者

輸入1的時候。case1後面沒有加break;執行過後還會向下執行,執行過case2,遇到break停止。輸出6,5

輸入2的時候 case2執行過後,遇到break直接停止。輸出6

以下都是這個原理。case後面要加break。除了最後一條case或者default。如果不加,一直向下執行。

21樓:匿名使用者

輸入1 case1 1+5=6 ;(沒有break 繼續執行下一個case)

case2 1+4=5;(break 跳出switch)2:case2:s+4=6;跳出

3:case3:s+3=6;(沒有break 繼續執行下一個case)

default:s+1=4跳出

一下類似

……輸入0:0>0false 跳出while 執行結束

22樓:匿名使用者

當輸入大於0,輸出+5

c語言輸入數字顯示* 比如 輸入 1 2 3 4 顯示1.3.5.7個* 顯示 * *** ***** *******

23樓:金色潛鳥

#include

main ()

{int c,x,i;

while(1){

c=getchar();

if (c=='\n') break; else {ungetc(c,stdin);

if (scanf("%d",&x)!=1)break;

for(i=0;i輸入 1 2 3 4

輸出 * *** ***** *******輸入 4 2 6 1 1

輸出******* *** *********** * *

24樓:尼瑪坑弟啊

#include

using namespace std;

int main(int argc, const char * argv)

return 0;}

c語言中ifelse語句與switch語句區別

1 兩者本質的區別是 if else語句更適合於對區間 範圍 的判斷,而switch語句更適合於對離散值的判斷 2 示例 判斷65分到85分之間的學生有哪些適合用if else語句,因為 65,85 是區間 而判斷一個學生的班級是一班 二班還是三班適合用switch語句,因為一班 二班 三班是離散值...

c語言程式設計實現snaaaaaaaa

ls兄弟們考慮過沒有,如果a 10怎麼辦?我在csdn見過這題,lz如果需要a 10的解決辦法就補充一下問題,我寫給你,不用就算了。貌似這個好像是兩重迴圈就搞定了。long sum sum 0 int a,tmp a 1 tmp a for int i 0 i main printf ld sn c...

c語言中switch語句中case2如何引用case1中的變數

是e 1或者e 2的時候都為55的意思麼?如果是 那直接把case1最後的berak去掉就行了 c語言在switch中case2如何引用case1中輸出的數。比如 include menu main break case 2 break default return 0 c語言switch中case...