日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

实验3 分支语句和循环语句(1)

發(fā)布時(shí)間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 实验3 分支语句和循环语句(1) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

實(shí)驗(yàn)三?

PART 1 驗(yàn)證性?xún)?nèi)容

§1?從鍵盤(pán)上輸入3個(gè)數(shù),讓它們代表3條線段的長(zhǎng)度,編寫(xiě)一個(gè)c程序判斷這3條線段組成的三角形屬于什么類(lèi)

(一般三角形、等腰三角形、等邊三角形或不構(gòu)成三角形)。程序源碼(demo1)如下↓

#include <stdio.h> int main() {double a,b,c;scanf("%lf %lf %lf", &a, &b, &c);if(a+b>c && a+c>b && b+c>a) {if(a==b && a==c)printf("構(gòu)成等邊三角形\n");else if(a==b || a==c || b==c)printf("構(gòu)成等腰三角形\n");elseprintf("構(gòu)成一般三角形\n");}elseprintf("不能構(gòu)成三角形\n");return 0; }

?運(yùn)行結(jié)果↓

?

???思考:?把嵌套使用的if語(yǔ)句部分在軟件環(huán)境中,替換demo1中的if部分,然后運(yùn)行程序,輸入不同邊長(zhǎng)數(shù)據(jù)進(jìn)行測(cè)試驗(yàn)證,目前運(yùn)行正常。

嵌套使用if語(yǔ)句時(shí)注意:C語(yǔ)言對(duì)if語(yǔ)句的規(guī)定是else總是與最近的一個(gè)沒(méi)有被else匹配的if相配對(duì),這里就要關(guān)注{}的準(zhǔn)確使用,以免混亂邏輯順序。

程序源碼(demo1.1)如下↓

#include <stdio.h> int main() {double a,b,c;scanf("%lf %lf %lf", &a, &b, &c);if(a+b>c && a+c>b && b+c>a){if(a==b || a==c || b==c){if (a==b && a==c)printf("構(gòu)成等邊三角形\n");elseprintf("構(gòu)成等腰三角形\n");}elseprintf("構(gòu)成一般三角形\n");}elseprintf("不能構(gòu)成三角形\n");return 0;}

?運(yùn)行結(jié)果↓

?

???拓展 :把 demo 1中輸入三邊長(zhǎng)并且判斷三角形類(lèi)型的代碼放到while循環(huán)里,運(yùn)行程序,觀察結(jié)果,程序源碼(demo 2)如下↓

/*這是在demo1.cpp的基礎(chǔ)上行,增加了一小部分代碼,可以循環(huán)判斷多組數(shù)據(jù) 要終止輸入和判斷:按組合鍵Ctrl+D(同時(shí)按下Ctrl和D鍵),然后按回車(chē)鍵結(jié)束 */ #include <stdio.h> int main() {double a,b,c;printf("輸入三角形三邊:\n");while(scanf("%lf%lf%lf",&a,&b,&c)) {if(a+b>c && a+c>b && b+c>a) {if(a==b && a==c)printf("構(gòu)成等邊三角形\n");else if(a==b || a==c || b==c)printf("構(gòu)成等腰三角形\n");elseprintf("構(gòu)成一般三角形\n");}elseprintf("不能構(gòu)成三角形\n");printf("\n輸入三角形三邊:\n");}return 0; }

運(yùn)行結(jié)果↓ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 右圖是我在“按組合鍵Ctrl+D(同時(shí)按下Ctrl和D鍵),然后按回車(chē)鍵結(jié)束”之后出現(xiàn)的結(jié)果,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?這樣的結(jié)果會(huì)無(wú)限重復(fù)循環(huán),只能強(qiáng)制結(jié)束程序,不是很明白要怎么終止程序ˉ\_(ツ)_/ˉ

?

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

?

右圖是我在“0+回車(chē)鍵”或者“按組合鍵Ctrl+D(同時(shí)按下Ctrl和D鍵),然后按回車(chē)鍵結(jié)束”之后出現(xiàn)的結(jié)果,無(wú)限重復(fù)循環(huán),只能強(qiáng)制結(jié)束程序,就不是很明白要怎么終止程序。

組合使用while和if結(jié)構(gòu)可以連續(xù)輸出這樣真的很便捷,可以不斷輸入不斷判斷運(yùn)行結(jié)果,可是不知道如何終止程序,甚至讓它無(wú)限循環(huán)下去這樣的結(jié)果真的不是很好_(:_」∠)_...

(我還是需要再多了解一些結(jié)束程序這一塊的內(nèi)容,繼續(xù)摸索一下這個(gè)軟件)

之后參照以下程序進(jìn)行更改后還是沒(méi)有結(jié)束程序,這里就很叫人困惑,求助(編程軟件Xcode)

?

int x; while(scanf("%d",&x) != 0) { // 等價(jià)于while( scanf("%d",&x) != EOF )// 也等價(jià)于while( scanf("%d", &x) ) //... }?

對(duì)于以下的更改,我認(rèn)為是限定輸入,如果輸入不足三個(gè)數(shù)字那么在這里既可判定其不可構(gòu)成三角形,簡(jiǎn)化程序運(yùn)行。

while(scanf("%ld", &a) && scanf("%ld", &b) && scanf("%ld", &c) ){// ... }?

§2?用scanf()函數(shù)輸入一個(gè)百分制成績(jī)(整型量),要求輸出成績(jī)等級(jí)A,B,C,D,E。

其中,90~100分為A,80~89分為B, 70~79分為C, 60~69分為D,60分以下為E。程序源碼( demo3 )如下↓

/*《C語(yǔ)言程序設(shè)計(jì)教程學(xué)習(xí)指導(dǎo)》p122實(shí)驗(yàn)內(nèi)容(2):輸入百分制分?jǐn)?shù),測(cè)算并輸出等級(jí)制分?jǐn)?shù)這是一個(gè)綜合使用while語(yǔ)句、多分支if語(yǔ)句和continue、break實(shí)現(xiàn)分?jǐn)?shù)段判斷的示例 運(yùn)行程序,輸入不同分?jǐn)?shù)值進(jìn)行測(cè)試,理解和鞏固這些控制語(yǔ)句的用法 按下組合鍵Ctrl+D(同時(shí)按下Ctrl和D)結(jié)束判斷*/ #include <stdio.h> int main() {int score; // 用于存放百分制分?jǐn)?shù)char grade; // 用于存放等級(jí)制分?jǐn)?shù)(取值'A', 'B','C','D', 'E')while(1) {printf("輸入學(xué)生成績(jī): ");if(scanf("%d",&score) == 0) // 如果檢測(cè)到?jīng)]有成績(jī)輸入,則結(jié)束整個(gè)循環(huán)break;if(score<0 || score > 100) {printf("輸入成績(jī)有誤!\n\n");continue; // 結(jié)束本次循環(huán),開(kāi)始下一次循環(huán) }else if(score>=90 && score<=100)grade = 'A';else if(score>=80 && score<=89)grade = 'B';else if(score>=70 && score<=79)grade = 'C';else if(score>=60 && score <=69)grade = 'D';elsegrade = 'E';printf("等級(jí)為: %c\n\n", grade);}return 0; }

運(yùn)行結(jié)果↓

在此次運(yùn)行中很偶然的發(fā)現(xiàn)了退出運(yùn)行的方法,只要輸入的不是數(shù)字就可以退出運(yùn)行ˉ\_(ツ)_/ˉ ?這樣的退出方法不確定是程序還是軟件設(shè)定,求助

?

回答問(wèn)題:

1.結(jié)合程序demo5_1.cpp和demo5_2.cpp運(yùn)行結(jié)果對(duì)比,總結(jié)在循環(huán)中使用控制語(yǔ)句continue和break, 其功能區(qū)別是什么?

答:“break” 不管是 for 循環(huán),還是 while 循環(huán),或者是 do…while 循環(huán),都可以用 break 跳出來(lái),但是 break 只能跳出一層循環(huán)。

當(dāng)有多層循環(huán)嵌套的時(shí)候,break只能跳出“包裹”它的最里面的那一層循環(huán),無(wú)法一次跳出所有循環(huán)。同樣,在多層 switch 嵌套的程序中,

break 也只能跳出其所在的距離它最近的 switch。

“continue” ?作用為結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面尚未執(zhí)行的語(yǔ)句,然后進(jìn)行下一次是否執(zhí)行循環(huán)的判定。continue 不能在 switch 中使用,

除非 switch 在循環(huán)體中。此時(shí) continue 表示的也是結(jié)束循環(huán)體的本次循環(huán),跟 switch 也沒(méi)有關(guān)系。

continue 語(yǔ)句和 break 語(yǔ)句的區(qū)別是:

continue 語(yǔ)句只結(jié)束本次循環(huán),而不是終止整個(gè)循環(huán)。break 語(yǔ)句則是結(jié)束整個(gè)循環(huán)過(guò)程,不再判斷執(zhí)行循環(huán)的條件是否成立。

而且,continue 只能在循環(huán)語(yǔ)句中使用,即只能在 for、while 和 do…while 中使用,除此之外 continue 不能在任何語(yǔ)句中使用。

2.結(jié)合程序demo6_1.cpp和demo6_2.cpp運(yùn)行結(jié)果對(duì)比,回答:

在兩層嵌套循環(huán)中,內(nèi)層循環(huán)中如果出現(xiàn)continue,是否影響外層循環(huán)?

答:不影響

在兩層嵌套循環(huán)中,內(nèi)層循環(huán)中如果出現(xiàn)break,是否影響外層循環(huán)?

答:不影響

?

PART 2?補(bǔ)足程序,使得程序運(yùn)行

編程找出5個(gè)整數(shù)中的最大數(shù)和最小數(shù),并輸出找出的最大數(shù)和最小數(shù)。

/*編程找出5個(gè)整數(shù)的最大數(shù)和最小數(shù) 《C語(yǔ)言程序設(shè)計(jì)教程學(xué)習(xí)指導(dǎo)》p122實(shí)驗(yàn)內(nèi)容(3) */ #include <stdio.h> int main() {int number, max, min, n;n=1;printf("輸入第%d個(gè)數(shù): ", n);scanf("%d", &number);max = number;min = number;while(n < 5 ) { n++;printf("輸入第%d個(gè)數(shù): ", n);scanf("%d", &number);if(number > max )max = number;else if(number < min )min = number;}printf("最大數(shù)為: %d\n", max);printf("最小數(shù)為: %d\n", min);return 0; }

運(yùn)行結(jié)果↓

改寫(xiě)for語(yǔ)句,程序源碼如下↓

/*用for語(yǔ)句實(shí)現(xiàn)編程*/ #include<stdio.h> int main() {int number, max, min, n ;
n = 1 ;printf (
"輸入第%d個(gè)數(shù): ", n );scanf ("%d", &number );max = number;min = number;for ( n = 1; n < 5;){n++;printf ("輸入第%d個(gè)數(shù): ",n );scanf ("%d", &number);if (number > max )max = number;else if (number < min )min = number;}printf ("最大數(shù)為: %d\n", max);printf ("最小數(shù)為: %d\n", min);return 0; }

?運(yùn)行結(jié)果↓

以下是用do...whlie語(yǔ)句實(shí)現(xiàn)編程,程序源碼如下↓?

/*用do...while語(yǔ)句實(shí)現(xiàn)編程*/ #include<stdio.h> int main() {int number, max, min, n;n = 1;printf ("輸入第%d個(gè)數(shù): ", n );scanf ("%d", &number );max = number;min = number;do{n++;printf ("輸入第%d個(gè)數(shù): ",n );scanf ("%d", &number );if ( number > max )max = number;else if ( number < min )min = number;}while ( n < 5 );printf ("最大數(shù)為: %d\n", max );printf ("最小數(shù)為: %d\n", min );return 0; }

運(yùn)行結(jié)果↓

這里是一個(gè)講解while和do while的網(wǎng)頁(yè)http://c.biancheng.net/c/while/

這里是一個(gè)講解for循環(huán)的網(wǎng)頁(yè)http://c.biancheng.net/view/308.html

總的網(wǎng)頁(yè)還是在C語(yǔ)言中文網(wǎng)(好像我在每一篇實(shí)驗(yàn)里都推薦了這個(gè)網(wǎng)頁(yè)(///▽///)真的有很多干貨)

?

?PART 3 編程練習(xí)

θ ?編程輸出101~200之間所有素?cái)?shù),并輸出這一區(qū)間內(nèi)素?cái)?shù)個(gè)數(shù),程序源碼如下↓

#include <stdio.h> #include <math.h> int main() {int i , n , x ;x = 0 ;for(i = 101 ; i < 201 ; i++){for(n = 2 ; n < sqrt(i) ; n+=1){if(i%n == 0 )break;}if(n > sqrt(i)){printf("%4d",i);x+=1;}}printf("\n101~200之間共有%d個(gè)素?cái)?shù)",x) ;return 0; }

運(yùn)行結(jié)果↓

附錯(cuò)誤的運(yùn)行結(jié)果:

是在條件判斷這里不同而造成結(jié)果的不同(?_?)

?

θ?編程打印輸出如下圖案,程序源碼如下↓

#include<stdio.h> int main(){int line , star , blank , a , b ;for(line = 1 ; line <= 5 ; line+=1 ){star = 5 - line ;blank = 2 * line - 1 ;for (a = 1 ; a <= star ; a++ )printf (" ");for (b = 1 ; b <= blank ; b++ )printf("*");printf("\n");}return 0; }

運(yùn)行結(jié)果如下↓

?這里是一個(gè)倒置金字塔的程序源碼↓

#include<stdio.h> int main () {int i ,j ;for ( i = 0 ; i < 5 ; i++ ){for ( j = 0;j < i ; j++ )printf(" ");for ( j = 0;j < (4-i) * 2 + 1 ; j++ )printf("*");printf("\n");}return 0 ; }

運(yùn)行結(jié)果如下↓

附幾個(gè)奇奇怪怪的星星:

(就是在for語(yǔ)句的不同位置加了個(gè)“;”(●°u°●)? 」)

?

?

實(shí)驗(yàn)總結(jié)與體會(huì)

這次試驗(yàn)最后兩個(gè)程序是完全需要自己編寫(xiě)的,每次上課聽(tīng)老師講流程都感覺(jué)很簡(jiǎn)單,但到自己分析的時(shí)候就感覺(jué)怎么也順不下來(lái),

自己的流程圖總是不可以很順利的用C語(yǔ)言語(yǔ)句實(shí)現(xiàn),需要找很多程序?qū)嵗齾⒖加嘘P(guān)程序?qū)懛?#xff0c;不斷運(yùn)行之后從運(yùn)行結(jié)果里面分析自己是哪里寫(xiě)出了問(wèn)題?T^T...

然后漸漸糾正最終做出一個(gè)程序,過(guò)程中也暴露出自己對(duì)do while語(yǔ)句還不熟很熟悉,對(duì)循環(huán)的判斷條件分析還欠妥,日后多多練習(xí),不斷糾正。

在這次實(shí)驗(yàn)的輸入過(guò)程中我誤關(guān)“我的隨筆”這個(gè)頁(yè)面好多次...真的十分感謝網(wǎng)頁(yè)自動(dòng)保存的功能,不用擔(dān)心一下的手滑讓辛辛苦苦的實(shí)驗(yàn)內(nèi)容全丟掉了。

(每手滑關(guān)掉一次就會(huì)恢復(fù)一次,所以最后的我文末就出現(xiàn)了這么多次記錄(⊙_⊙)真的恢復(fù)了好多好多次...)

最后感謝舍友耐心講解才寫(xiě)出來(lái)素?cái)?shù)的程序,感謝? ??????~

(之后的一周內(nèi)我將進(jìn)行互評(píng)環(huán)節(jié),鏈接會(huì)以評(píng)論的形式附在這篇實(shí)驗(yàn)后,如果我在后期可以順利的更新本篇實(shí)驗(yàn)的話就會(huì)直接加鏈接在最后面的(。・ω・。)

轉(zhuǎn)載于:https://www.cnblogs.com/Anna0708/p/10720688.html

總結(jié)

以上是生活随笔為你收集整理的实验3 分支语句和循环语句(1)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久窝窝| 国产成人综合在线视频 | 苏晴忘穿内裤坐公交车被揉到视频 | 男人靠女人免费视频网站 | 四虎影视黄色 | 国产综合亚洲精品一区二 | 日韩色av | 男ji大巴进入女人的视频 | 超碰77 | 欧美一区二区三区久久成人精品 | 自拍视频网址 | 成年人午夜网站 | 国产精品jizz在线观看老狼 | 久久亚洲AV无码 | 欧美亚洲色图视频 | 国产又大又黄又爽 | 欧美性网站| 自拍偷拍20p | 久久精品欧美日韩精品 | 青草视频在线免费观看 | av在线免费观看网站 | 国产免费一级视频 | 两个人看的www视频免费完整版 | 少妇高潮网站 | 爱爱视频网址 | 久久久久亚洲av成人毛片韩 | 韩日产理伦片在线观看 | 色涩综合 | 亚欧洲精品视频在线观看 | 中国女人毛片 | 在线免费黄 | 欧美噜噜噜 | 欧美一区二区在线观看 | 麻豆电影网站 | jzzjzzjzz亚洲成熟少妇 | 国产欧美一区二区三区在线看 | 色婷婷综合久久久久中文字幕 | 日韩aⅴ在线观看 | 精品人妻无码一区二区色欲产成人 | 国产精品人人 | 久久久资源网 | a级片一区二区 | 狠狠看 | 成人app在线 | 特黄网站| 精品播放 | 99精品免费在线观看 | 国产一区二区不卡视频 | 日韩av影音先锋 | 国产美女久久 | 美国av大片| 色婷婷久久五月综合成人 | 亚洲国产不卡 | 天美麻花果冻视频大全英文版 | 成人啪啪18免费游戏链接 | 日韩精品免费电影 | 日韩色小说 | 国产美女精品人人做人人爽 | 激情久久一区 | 一区二区影院 | 亚洲女优一区 | 最新中文字幕 | 欧美激情18p| 久久久96人妻无码精品 | 黄色三级网 | 国产色诱视频 | 精品久久久久一区二区国产 | 国产精品一级二级 | 牛人盗摄一区二区三区视频 | 成人h动漫精品一区二区无码 | 一区二区三区国产在线观看 | 蜜臀久久99精品久久久无需会员 | 国产一区,二区 | 久草视 | 免费成人美女在线观看. | 青青草97国产精品免费观看 | 日韩毛片免费观看 | 中国黄色一级视频 | 国产精品国产av | 国产精品精品久久久久久 | 国产乱国产乱 | 91高清视频在线观看 | 国产又粗又猛又爽又黄 | 久久久久久一区 | 成人爱爱网站 | 中文字幕一区二区三区波野结 | 9久久精品 | 一级成人黄色片 | 在线视频一区二区三区四区 | av成人在线电影 | www青青草 | 天天干国产 | 无码人妻久久一区二区三区蜜桃 | www.日韩av| 成人免费在线观看网站 | 成人免费大片黄在线播放 | 黄色91在线观看 | 嫩草影院懂你的影院 | 先锋影音色 |