C語言第三次博客作業---單層循環結構

一、PTA實驗作業。

題目1

1.實驗代碼

 int n,i;
double height1,height2;//1為輸入身高,2為輸出身高。
char sex;
//1<=height1<=3;
//N<=1;
scanf("%d",&n);
while(n--){getchar();scanf("%c%lf",&sex,&height1);switch(sex){case 'M':height2=height1/1.09;break;case 'F':height2=height1*1.09;break;}printf("%.2f\n",height2);
}return 0; 

2.設計思路

主要描述題目算法。可以用文字描述:

  • 第一步:定義height1為輸入身高,height2為輸出身高,sex為性別,n為人數。
  • 第二步:輸入人數。
  • 第三步:輸入性別和輸入身高,若性別男height2=height1/1.09;break;,若為女height2=height1*1.09;break;
  • 第四步:輸出height2的值。
  • 第五步:重復步驟三,知道n>0.

    3.本題調試過程碰到問題及解決辦法

  • (1)第一次輸出后需要一個回車,應用getchar讀掉回車,這點沒注意到。
  • (2)case后面的字符需要用‘’引出來 否則編譯錯誤。

    4.本題PTA實驗結果

    貼圖展示:
    1233807-20171025232719457-1373072848.png

題目2

1.實驗代碼

int i,a,n,s;
s=0;
scanf("%d %d",&a,&n);//輸入a,n
for(i=1;i<=n;i++)s=i*a+s*10;//計算公式printf("s = %d",s);

2 設計思路

  • (1)定義整型變量i,n,a,s存放計算結果
  • (2)輸入a,n
  • (3)計算s=ia+s10
  • (4)重復步驟3,直到i>n時結束循環
  • (5)輸出s

    3.本題調試過程碰到問題及解決辦法

  • 1.[](http://images2017.cnblogs.com/blog/1231997/201711/1231997-20171102182159060-643569876.png

)
看題目計算a+aa+aaa+...+aa..a的和以為是a*a的意思,所以就很疑惑為什么題目的例子會輸出246的答案。

  • 2.想了很久還是沒懂這個題,就求助了室友,才明白aa是22的意思。

    題目3

    1.實驗代碼

int i,number,min,n;
scanf("%d",&n);
scanf("%d",&number); //輸入number
min=number; //賦值min為number
for(i=1;i<n;i++){
scanf("%d",&number); //再次輸出number
if(min>number) //比較min和number的大小
min=number;
}
printf("min = %d",min); //輸出min

2 設計思路

  • (1)定義整型變量i,n,number表示輸入的數字,min代表最小值
  • (2)輸入n.number,賦值min=number
  • (3)再次輸入number,若number小于min,賦值min=number
  • (4)重復步驟3,直到i<n結束循環
  • (5)輸出min

    3.本題調試過程碰到問題及解決辦法

    [](http://images2017.cnblogs.com/blog/1231997/201711/1231997-20171102183202607-2020958412.png

)
通過調試發現忘了對min賦值,雖然對于這個題沒有影響,但有可能這種細節不注意,對于以后的編程有一定的影響。

題目4

1.實驗代碼

    int i,N,number,n;scanf("%d%d",&number,&N);//輸入電腦產生的數和循環次數for(i=1;i<=N;i++){scanf("%d",&n);//輸入玩家猜的數字if(n>number)//n大于numberprintf("Too big\n");else if(n<number&&n>0)//n大于0且小于numberprintf("Too small\n");else if(n==number&&i==1){//n等于number且i等于1printf("Bingo!\n");break;}else if(n==number&&i>1&&i<=3){//n等于number且i等于2或3printf("Lucky You!\n");break;}else if(n==number&&i>3&&i<=N){//n等于number且i大于3小于Nprintf("Good Guess!\n");break;}else if(n<0){//n小于0printf("Game Over");break;}}if(n!=number&&i>N)//n不等于number且i大于Nprintf("Game Over\n"); 

2 設計思路

  • (1)定義整型變量i,N為可以猜的次數,number為電腦隨機產生的數字,n為玩家輸入的數字
  • (2)輸入number,N
  • (3)輸入n為玩家輸入的數字
  • (4)當i<=N時,若n大于0小于number, 輸出Too small. 若n 大于number, 輸出Too big. 若i=1且n等于number 輸出Bingo!
    若i 等于1或2且n 等于number 時,輸出Lucky you! 若i 大于3小于等于N 且n 等于number 時輸出Good Guess! 若n 小于0時輸出Game Over
  • (5)當i>=N且n不等于number時輸出Game Over

    3.本題調試過程碰到問題及解決辦法

  • 1.[](http://images2017.cnblogs.com/blog/1231997/201711/1231997-20171102184432013-180433594.png

)
發現如果猜中后程序并沒有結束,通過調試想起來沒有加break語句跳出循環。

  • 2.對于輸出Too small的條件沒有嚴謹,忘記n大于0的條件,輸入負數的時候會輸出Too small的情況。

題目4.

1.實驗代碼

int main()
//60/120=1/2
{int number1,number2;
scanf("%d/%d",&number1,&number2);
int a,b,c;
a=number1,b=number2;//a=60,b=120
if(a%b==0||b%a==0){
while(c!=0){if(a<b){c=a%b;//c=60%120=60//c=60%60=0a=b;//a=120//a=60b=c;}//b=c=60//b=0else if(a>b){c=b%a;b=a;a=c;}
}
if(a<b){printf("%d/%d",number1/a,number2/a);
}
else{printf("%d/%d",number1/b,number2/b);
}}
else
{
printf("%d/%d",number1,number2);}
return 0;

2 設計思路

主要描述題目算法。可以用文字描述:

  • 第一步:定義number1存放分子,number2存放分母
  • 第二步:如果可化簡,a>b,則c=a%b,a=b,b=c
  • 第三步:循環2得到結果
  • 第四步:a<b,則c=b%a;b=a;a=c;
  • 第五步:循環4得到結果

3.本題調試過程碰到問題及解決辦法。

  • (1)運行發現無論輸入什么結果都為1/1,調試后發現是算法中有錯誤。
  • (2)運行發現當a大于b時不會進行化簡,調試發現else被鑲嵌在if里,也就是if{}的有漏

    4.本題PTA實驗結果。

    1233807-20171025234606973-462498634.png

二、截圖本周題目集的PTA提交列表及最后排名。(2分)

1.提交列表:1233807-20171025233339582-1314367686.png

1233807-20171025233428316-136642641.png
1233807-20171025233348098-493978452.png
1233807-20171025233354129-1922463411.png
1233807-20171025233406848-70700015.png
1233807-20171025233445348-886904268.png

2.最后排名:1233807-20171025233328035-1527668418.png

三、本周學習總結(1分)

1.你學會了什么?
我學會了循環結構的簡單用法
2.本周的內容,你還不會什么?
對于循環的算法還不是很了解,應學習更多算法。
3.你碰到什么困難,打算如何解決?
(1)多次出現編譯錯誤,解決方法為在Dev C++中運行,看看提示你除了什么錯誤,實在不行發群上問老師助教同學。
(2)格式錯誤(答案錯誤)是最常見的問題,解決方式為將輸出樣例復制粘貼下來,還是錯誤就向老師助教尋求幫助。
(3)部分正確是最難受的,說明你成功完成了大部分,但是還有部分沒完成,這時候應該靜下心來好好想想是什么地方出了問題,可以重新敲一次代碼,和原來進行核對

轉載于:https://www.cnblogs.com/linyipeng/p/7733057.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/454158.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/454158.shtml
英文地址,請注明出處:http://en.pswp.cn/news/454158.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

函數和函數式編程

python的過程就是函數&#xff0c;因為解釋器會隱式地返回默認值None。 實際編程中大部分偏函數更接近過程&#xff0c;不顯示地返回任何東西。 當沒有顯示地返回元素或者如果返回None時&#xff0c;python會返回一個None。 * 元組 ** 字典 def子句的剩余部分包括了一個雖…

清華大學《操作系統》(七):虛擬存儲、覆蓋、交換

接下來幾節都是對虛擬存儲的講解。虛擬存儲是非連續存儲管理的擴展。通過將內存中的數據暫存到外存的方式&#xff0c;為進程提供更大的內存空間。虛擬存儲出現的主要原因是因為程序規模的增長速度遠遠大于存儲器容量的增長速度&#xff0c;導致內存空間不夠用。其實針對內存空…

遵義大數據中心項目工程概況_市委書記張新文到曹州云都大數據中心等項目現場調研建設情況...

4月25日&#xff0c;市委書記張新文到曹縣調研重點項目建設情況&#xff0c;研究推進措施。市委常委、秘書長任仲義參加活動。張新文首先來到曹州云都大數據中心項目建設現場&#xff0c;查看項目推進情況。曹州云都大數據中心&#xff0c;是涵蓋云計算區、研發辦公區、公寓生活…

linux 可執行文件的分析(gcc GUN BUILEIN)

1、GCC The History of GCC 1984年&#xff0c;Richard Stallman發起了自由軟件運動&#xff0c;GNU (Gnus Not Unix)項目應運而生&#xff0c;3年后&#xff0c;最初版的GCC橫空出世&#xff0c;成為第一款可移植、可優化、支持ANSI C的開源C編譯器。GCC最初的全名是GNU C Com…

Cassandra 的數據存儲結構——本質是SortedMapRowKey, SortedMapColumnKey, ColumnValue

Cassandra 的數據存儲結構 Cassandra 的數據模型是基于列族&#xff08;Column Family&#xff09;的四維或五維模型。它借鑒了 Amazon 的 Dynamo 和 Googles BigTable 的數據結構和功能特點&#xff0c;采用 Memtable 和 SSTable 的方式進行存儲。在 Cassandra 寫入數據之前&a…

清華大學《操作系統》(八):置換算法

功能&#xff1a;置換算法是指當出現缺頁異常時&#xff0c;需要調入新頁面而內存已滿時&#xff0c;置換算法選擇被置換的物理頁面。 設計目標&#xff1a; 盡可能減少頁面的調入調出次數&#xff1b;把未來不再訪問或短期內不訪問的頁面調出。 頁面鎖定&#xff1a; 了解具…

python email模塊詳解_python模塊之email: 電子郵件編碼解碼 (一、解碼郵件)

python自帶的email模塊是個很有意思的東西&#xff0c;它可以對郵件編碼解碼&#xff0c;用來處理郵件非常好用。處理郵件是一個很細致的工作&#xff0c;尤其是解碼郵件&#xff0c;因為它的格式變化太多了&#xff0c;下面先看看一個郵件的源文件&#xff1a;Received: from …

爛泥:通過vsphere給esxi添加本地硬盤

公司ESXi服務器的硬盤空間不夠使用&#xff0c;現在新加了一塊硬盤在ESxi服務器上。在服務器上添加完硬盤后&#xff0c;在Vsphere上是看不到新加硬盤的。 下面我們來通過虛擬機模擬該情況&#xff0c;先添加一塊硬盤。如下圖&#xff1a; 在Esxi添加完硬盤后&#xff0c;現在通…

清華大學《操作系統》(九):進程和線程

進程 定義&#xff1a; 進程是指一個具有一定獨立功能的程序在一個數據集合上的一次動態執行的過程。 組成&#xff1a; 代碼數據狀態寄存器&#xff08;正在運行的一個程序的所有狀態信息&#xff09;&#xff1a;CPU狀態CP0、指令指針IP通用寄存器&#xff1a;AX、BX、CX…

開始Flask項目

1.新建Flask項目。2.設置調試模式。3.理解Flask項目主程序。4.使用裝飾器&#xff0c;設置路徑與函數之間的關系。5.使用Flask中render_template&#xff0c;用不同的路徑&#xff0c;返回首頁、登錄員、注冊頁。6.用視圖函數反轉得到URL&#xff0c;{{url_for(‘login’)}}&am…

gcc交叉編譯的實現

gcc支持多種不同的語言&#xff0c;也支持多種不同的CPU架構。在它的實現上&#xff0c;不同語言編譯的實現是通過conststruct lang_hooks lang_hooks LANG_HOOKS_INITIALIZER;這個結構體的不同定義來實現的。比如c語言的編譯器就通過gcc/c-lang.c指定了lang_hooks這個結構體的…

爛泥:mysql數據庫使用的基本命令

1、連接數據庫的格式 mysql -h IP -u用戶名 -p密碼; 1.1連接遠程數據庫 mysql -h 192.168.1.214 -uroot -p123456 也可寫成&#xff1a; mysql -h 192.168.1.214 -u root -p 123456 1.2連接本地數據庫 mysql -uroot -p123456 也可寫成&#xff1a; mysql -u root -p 123456 2、…

mse均方誤差計算公式_PCA的兩種解讀:方差最大與均方誤差最小的推導

這張圖片很關鍵&#xff0c;來自統計學習方法的PCA插圖又要考試了&#xff0c;推導一下方差最大化與均方差最小化&#xff0c;老師上課講了一些均方差最小化&#xff0c;推導的過程很詳細不過自己沒有記下來&#xff0c;復習的時候再推一遍加深印象。感謝 耳東陳 老師的精彩課件…

《操作系統》OS學習(十):進程控制

進程切換&#xff08;上下文切換&#xff09;&#xff1a; 定義&#xff1a;暫停當前運行進程&#xff0c;從運行狀態變成其他狀態&#xff0c;調度另一個進程從就緒狀態變成運行狀態要求&#xff1a;切換前&#xff0c;保存進程上下文&#xff1b;切換后&#xff0c;恢復進程…

日志管理

1、錯誤日志配置 錯誤日志屬于核心功能模塊的參數 worker_processes 1; error_log /data/logs/nginx/error.log error; #一般配置這一行即可 events {worker_connections 1024; }語法規則&#xff1a;error_log file level 錯誤的日志級別有[debug|info|notice|warn|err…

GCC 命令選項使用詳解

GCC 命令行詳解[轉帖] 1、gcc包含的c/c編譯器 gcc、cc、c、g gcc和cc是一樣的&#xff0c;c和g是一樣的&#xff0c;一般c程序就用gcc編譯&#xff0c;c程序就用g編譯 2、gcc的基本用法 gcc test.c這樣將編譯出一個名為a.out的程序 gcc test.c -o test這樣將編譯出一個名為t…

mvn 打包_Spark源碼打包編譯的過程

前言上篇文章介紹了下 安裝sbt環境 啟動scala項目安裝SBT環境運行Scala項目為什么要弄這個 因為我本來是想對spark源碼編譯部署spark是用scala語言編譯的spark源碼https://gitee.com/pingfanrenbiji/sparkspark提供的編譯方式編譯的前提是將所有的依賴包都下載下來而資源包管理…

審計日志功能監控

背景&#xff1a;公司的審計日志經常出現不記錄命令的情況&#xff0c;但是又無法監控到審計功能是否正常。所以我們思路是&#xff0c;每天從CMDB服務器 ssh登錄到每一臺主機。如果審計功能正常&#xff0c;則一定會在auditlog.info文件中有登錄的記錄。如果24小時內這個文件沒…

清華大學《操作系統》(十一):處理機調度

一、處理機調度概念 進程切換&#xff08;上下文切換&#xff09;&#xff1a;切換CPU的當前任務&#xff0c;從一個進程/線程到另一個&#xff0c;保存當前在PCB/TCB中的執行上下文&#xff0c;讀取下一個的上下文 CPU調度&#xff1a;從就緒隊列中挑選一個進程/線程作為CPU…

通過純css實現圖片居中的多種實現方式

html結構&#xff1a; 1 <div class"demo" style"width: 800px;height: 600px; border:1px solid #ddd"> 2 <img src"default.jpg" width"400" height"300"/> 3 </div> 實現img位于外層div的居中顯示…