C語言程序設計第三次作業

(一)改錯題
計算f(x)的值:輸入實數x,計算并輸出下列分段函數f(x)的值,輸出時保留1位小數。

輸入輸出樣例1:
  Enterr x: 10.0
  f(10.0) = 0.1
輸入輸出樣例2:
  Enter x: 234
  f(234.0) = 234.0
源程序(有錯誤的程序)

  #include <stdio.h> int main(void){ double x,y;printf("Enter x: \n"); scanf("=%f", x);if(x = 10);{ y = 1 / x}else (x != 10){y = x;}printf("f(%.2f) = %.lf\n" x y); return 0; }

錯誤信息1:
1245552-20171028214500086-1859061742.png
錯誤原因:第九行的算式后面沒有加分號。
改正方法:在第九行的算式后面加上分號。
錯誤信息2:
1245552-20171028215733195-891838532.png
錯誤原因:第七行判斷語句后面多加了分號。
改正方法:刪去第七行后面的分號。
錯誤信息3:
1245552-20171028214737664-636025625.png
錯誤原因:第十一行else語句后面多了條件。
改正方法:刪去第十一行后面的條件。
錯誤信息4:
1245552-20171028215928445-1990237794.png
錯誤原因4:第十五行引號后面少了逗號。
改正方法:在第十五行引號后面加上逗號。
錯誤信息5:
1245552-20171028220128773-1983631564.png
錯誤原因:第十五行變量之間少了逗號。
改正方法:在第十五行變量之間加上逗號。
錯誤信息6:
1245552-20171028220505351-674934047.png
錯誤原因:第一個輸出語句多加了\n。
改正方法:刪去\n。
錯誤信息7:
1245552-20171028220802430-827689891.png
錯誤原因:最后的輸出語句x對應的值錯了。
改正方法:把第十五行的輸出語句中的變量 x 對應的 %.2f 改為 %.1f 。
錯誤信息8:
1245552-20171028221024226-611567926.png
錯誤原因:輸入語句后面沒有加取地址符。
改正方法:在輸入語句x前面加上取地址符。
錯誤信息9:
1245552-20171028221352305-505713586.png
錯誤原因:第十五行的輸出語句中變量 y 對應的為 %.lf 。
改正方法:把第十五行的輸出語句中的變量 y 對應的 %.lf 改為 %.1f 。
錯誤信息10:
1245552-20171028221529836-1099836244.png
錯誤原因:第六行的輸入語句中 &x 對應的為 =%f。
改正方法:把第六行的輸入語句中 &x 對應的 =%f 改為 %lf。
錯誤信息11:
1245552-20171028221650398-187523399.png
錯誤原因:判斷語句條件錯誤。
改正方法:條件中再加一個“=”號。

(二)學習總結
1.if(a)if(b) x=x+1;else y=y+1; 的確切含義是什么?這個else應該和哪個if配對?如何明確表達這種配對方法?將該段代碼按照規范化的格式進行書寫。
答:確切含義為若同時符合條件a,b則運行x=x+1;若不符合條件a,則運行y=y+1。
else和離它最近的第二個if配對。
代碼:

if(a)
{if(b){x=x+1;}
}
else
{y=y+1;
}

2.C語言的表達式 (-10< x <10)能夠表達x在區間(-10,10)嗎?為什么?如果不能,正確的表達式應該怎么寫?
答:不能。因為條件從左到右運行。
正確表達式應為:
if(x>-10 && x<10)

3.C語言中輸入數據時,如果遇到非法字符,則認為輸入結束。運行程序(1),輸入123a,看看輸出結果是什么?你能解釋是為什么嗎?,
程序(1)

#include <stdio.h>
int main()
{   int  a, b;scanf("%d %d", &a, &b);printf("a = %d, b = %d\n", a, b);return 0;
}

輸入123a后結果為:
1245552-20171028223125742-863889504.png
原因:遇到非法字符%d不能識別,所以輸出結果錯誤,有問題,123a為一個數據,相當于b沒有輸入數據,所以輸出為隨機數1。
scanf()函數的返回值是成功讀入數據的個數,如果沒有讀取任何數據,則返回0。運行程序(2),分別輸入123 45和123a,看看輸出結果是什么?為什么?
程序(二)

#include <stdio.h>
int main()
{   int  a, b,n;n = scanf("%d %d", &a, &b);printf("n = %d\n", n);return 0;
}

輸出結果:
1245552-20171028224133883-1407305134.png
當你成功輸入兩個變量的時候第一次兩個變量都合法,所以n讀出為2。當你輸入123a的時候含有非法字符,它不能讀取出來,所以n只能讀出一個整形常量,所以n=1。

修改程序(1),當輸入非法數據時,輸出“Input error!".樣例如下:

1245552-20171028224505258-925660012.png

4.對其他你認為需要進行總結的內容進行總結。
在用else if語句的時候要注意每個else和if的對應關系,每個else,if語句執行時要加上中括號。
注意else if后面不能加分號。
不能忘了在輸入語句后面的變量前面加取地址符。

(三)實驗總結

  1. (1)題目
    判斷一個5位數是不是回文數。例如12321是一個回文數,即它的個位與萬位相同,十位與千位相同。
    (2)流程圖
    1245552-20171028230542633-1568456772.png
    (3)源代碼

    # include<stdio.h>
    int main()
    {
    int n,w,q,s,g;
    scanf("%d",&n);
    w=n/10000;
    g=n%10;
    q=n/10%10;
    s=n%10000/1000;
    if(w==g && q==s )
    {
    printf("yes");
    }
    else
    printf("no");

    return 0;

    }

(4)測試數據及運行結果
1245552-20171028230919789-428733730.png
(5)實驗分析
問題1:一開始不會分離各個位數。
解決辦法:通過詢問老師會了。

  1. (1)題目
    本題要求根據火車的出發時間和達到時間,編寫程序計算整個旅途所用的時間。
    (2)流程圖
    1245552-20171028231328367-695657451.png
    (3)源代碼

    # include <stdio.h>
    int main()
    {
    int a,b,c,d,s,f,m,n;
    scanf("%d %d",&m,&n);
    a = m/100;
    b = n/100;
    c = m%100;
    d = n%100;
    f = (b-a)*60+(d-c);
    s = f/60;
    f = f%60;
    if(0<s<10)
    {
    if(0<f<10)
    {
    printf("%02d:%02d",s,f);
    }
    else
    {
    printf("%02d:%d",s,f);
    }
    }
    else
    {
    if(24>=s>=10)
    {
    if(0<f<10)
    {
    printf("%d:%02d",s,f);
    }
    else
    {
    printf("%d:%d",s,f);
    }
    }
    }

      return 0;

    }

(4)測試數據及運行結果
1245552-20171028231747930-213522459.png
(5)實驗分析
問題:一開始沒有考慮小于10分鐘的情況。
解決辦法:加了一個判斷條件。

  1. (1)題目
    中國有句俗語叫“三天打魚兩天曬網”。假設某人從某天起,開始“三天打魚兩天曬網”,問這個人在以后的第N天中是“打魚”還是“曬網”?
    (2)流程圖
    1245552-20171028232116680-1427192144.png
    (3)源代碼

    # include <stdio.h>
    int main()
    {
    int n,m;

      scanf("%d",&n);m = n%5;if (1000>=n>0);{if(m==0){printf("Drying in day %d",n);}else{if(m<=3){printf("Fishing in day %d",n);}else{printf("Drying in day %d",n);}}}return 0;

    }

(4)測試數據及實驗結果
1245552-20171028232409945-424100731.png
1245552-20171028232458180-1565960074.png

  1. (1)題目
    為了提倡居民節約用電,某省電力公司執行“階梯電價”,安裝一戶一表的居民用戶電價分為兩個“階梯”:月用電量50千瓦時(含50千瓦時)以內的,電價為0.53元/千瓦時;超過50千瓦時的,超出部分的用電量,電價上調0.05元/千瓦時。請編寫程序計算電費。
    (2)流程圖
    1245552-20171028232624945-1007547576.png
    (3)源代碼

    # include <stdio.h>
    int main()
    {
    int n;
    double m;
    scanf("%d",&n);
    if(n>=0)
    {
    if(n<=50)
    {
    m = n0.53;
    printf("cost = %.2f",m);
    }
    else
    {
    m = 50
    0.53+(n-50)*0.58;
    printf("cost = %.2f",m);
    }
    }
    else
    {
    printf("Invalid Value!");
    }
    return 0;
    }

(4)測試數據及運行結果
1245552-20171028233105539-1634675991.png
1245552-20171028233114586-84276328.png

(四)PTA提交列表
1245552-20171028233632883-539799040.png
1245552-20171028233643758-1657326358.png
1245552-20171028233654008-2109111992.png
1245552-20171028233709180-364818471.png

轉載于:https://www.cnblogs.com/lyw7777777/p/7748594.html

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

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

相關文章

mysql數據庫項目化教程鄭小蓉_MySQL數據庫項目化教程(高等職業教育“十三五”規劃教材(軟件技術專業))...

《MySQL數據庫項目化教程/高等職業教育十三五規劃教材(軟件技術專業)》是一本介紹MySQL數據庫基礎知識的入門教材&#xff0c;采用項目驅動方式循序漸進地介紹MySQL各個模塊的知識。主要內容包括&#xff1a;Windows下MySQL的安裝&#xff0c;MySQL服務的啟動與停止&#xff0c…

WPF-09 ManualResetEventSlim信號量

業務場景如下&#xff1a;WPF應用程序后臺有個定時任務在接收PLC硬件數據(該線程接收完數據之后, 會重新啟動一個新線程繼續接收.....)&#xff0c;當應用程序關閉時, 我們得確保接收PLC硬件數據的線程完成之后,再關閉應用程序&#xff0c;否則會造成數據丟失。上面的業務場景是…

【bzoj3033】太鼓達人 DFS歐拉圖

題目描述 給出一個整數K&#xff0c;求一個最大的M&#xff0c;使得存在一個每個位置都是0或1的圈&#xff0c;圈上所有連續K位構成的二進制數兩兩不同。輸出最大的M以及這種情況下字典序最小的方案。 輸入 一個整數K。 輸出 一個整數M和一個二進制串&#xff0c;由一個空格分隔…

Redis 集合處理

學習了列表之后&#xff0c;發現了Redis處理字符串的功能強大。 為了適應不同場景的需求&#xff0c;還有一個用的很多的就是集合。 Redis提供的集合支持的類型是字符串。并且集合中的元素值是唯一的&#xff0c;也就是說不能出現重復數據。 而且&#xff0c;集合的實現是通過哈…

fpga mysql_FPGA的一些瑣碎知識整理

1.生產FPGA的廠家有&#xff1a;ALTERAXILINXATCELLatticeps:Altera和Xilinx主要生產一般用途FPGA&#xff0c;其主要產品采用SRAM工藝Actel主要提供非易失性FPGA&#xff0c;產品主要基于反熔絲工藝和FLASH工藝ps: 熔絲&#xff0c;顧名思義&#xff1a;把絲熔掉&#xff0c;反…

使用增量備份修復DG中的GAP

問題描述 oracle中DG出現主備不同步現象&#xff0c;alert日志報警有gap信息&#xff0c;但是v$archive_gap視圖查不到任何信息。同時主庫上的對應歸檔已經刪除且沒有備份 解決方案 1.查詢備庫的scn SQL> select current_scn from v$database; 這時有可能出來的scn是以科學計…

C# 反射類Assembly用法舉例

概述程序運行時&#xff0c;通過反射可以得到其它程序集或者自己程序集代碼的各種信息&#xff0c;包括類、函數、變量等來實例化它們&#xff0c;執行它們&#xff0c;操作它們&#xff0c;實際上就是獲取程序在內存中的映像&#xff0c;然后基于這個映像進行各種操作。Assemb…

團隊作業

團隊&組員&#xff1a; 沒有組名&#xff0c;大概是因為我們組雖然有10個人&#xff0c;但是好像只起到人多的地方就容易開車搞笑&#xff0c;沒有內涵&#xff0c;取出來的都是秋名山吳彥組這樣的開車組名&#xff0c;在大家的的強烈建議和玩笑中&#xff0c;決定了沒有組…

算法系列【希爾排序】篇

常見的內部排序算法有&#xff1a;插入排序、希爾排序、選擇排序、冒泡排序、歸并排序、快速排序、堆排序、基數排序等。用一張圖概括&#xff1a;關于時間復雜度&#xff1a;1. 平方階 (O(n2)) 排序各類簡單排序&#xff1a;直接插入、直接選擇和冒泡排序。2. 線性對數…

sql查詢索引語句_sql優化總結--基于sql語句優化和索引優化

概述最近做查詢&#xff0c;統計和匯總。由于數據量比較龐大&#xff0c;大部分表數據上百萬&#xff0c;甚至有的表數據上千萬。所以在系統中做sql優化比較多&#xff0c;特此寫一篇文章總結一下關于sql優化方面的經驗。導致查詢緩慢的原因1、數據量過大2、表設計不合理3、sql…

電商行業運維實踐

電商行業運維實踐&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;&#xff0d;…

數據結構小總結(成都磨子橋技工學校數據結構前12題)

[pixiv] https://www.pixiv.net/member_illust.php?modemedium&illust_id34352147 暑假的作業&#xff0c;頹頹的我總算是寫完了 線段樹 線段樹是一個高級玩意&#xff0c;不僅可以求區間和&#xff0c;區間最大等等的簡單問題&#xff0c;靈活運用還有好多變種。自從學…

【九章算法免費講座第一期】轉專業找CS工作的“打狗棒法”

講座時間&#xff1a; 美西時間6月5日18&#xff1a;30-20&#xff1a;00&#xff08;周五&#xff09; 北京時間6月6日09&#xff1a;30-11&#xff1a;00&#xff08;周六a.m&#xff09; 講座安排&#xff1a; 免費在線直播講座 報名網址&#xff1a; http://t.cn/R2XgMSH&a…

golang mysql 防注入_Go,Gorm 和 Mysql 是如何防止 SQL 注入的

Go&#xff0c;Gorm 和 Mysql 是如何防止 SQL 注入的SQL 注入和 SQL 預編譯技術什么是 SQL 注入所謂SQL注入(sql inject)&#xff0c;就是通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串&#xff0c;最終達到欺騙服務器執行惡意的SQL命令。具體來說&#xff…

wav2midi 音樂旋律提取算法 附可執行demo

前面提及過&#xff0c;音頻指紋算法的思路。 也梳理開源了兩個比較經典的算法。 https://github.com/cpuimage/shazam https://github.com/cpuimage/AudioFingerprinter 后來一段時間&#xff0c;稍微看了下這兩個算法&#xff0c;還有不少可以精簡優化的空間。 例如抗噪&…

全新升級的AOP框架Dora.Interception[5]: 實現任意的攔截器注冊方式

Dora.Interception提供了兩種攔截器注冊方式&#xff0c;一種是利用標注在目標類型、屬性和方法上的InterceptorAttribute特性&#xff0c;另一種采用基于目標方法或者屬性的調用表達式。通過提供的擴展點&#xff0c;我們可以任何我們希望的攔截器注冊方式。目錄一、IIntercep…

SCAU 算法課的題

8594 有重復元素的排列問題&#xff08;優先做&#xff09; 時間限制:1000MS 內存限制:1000K提交次數:1610 通過次數:656 題型: 編程題 語言: G;GCC;VC Description 設集合R{r1,r2,...,rn}是要進行排列的n個元素&#xff0c;其中r1,r2,...,rn可能相同。 試著設計一個算法&am…

react 數組新增_React 新特性 Hooks 講解及實例(二)

本文是 React 新特性系列的第二篇&#xff0c;第一篇請點擊這里&#xff1a;React 新特性講解及實例什么是 HooksHook 是 React 16.8 的新增特性。它可以讓你在不編寫 類組件 的情況下使用 state以及其他的 React 特性。類組件的不足狀態邏輯復用難缺少復用機制渲染屬性和高階組…

智課雅思詞匯---二十二、-al即是名詞性后綴又是形容詞后綴

智課雅思詞匯---二十二、-al即是名詞性后綴又是形容詞后綴 一、總結 一句話總結&#xff1a; 后綴&#xff1a;-al ②[名詞后綴] 1、構成抽象名詞&#xff0c;表示行為、狀況、事情 refusal 拒絕 proposal 提議 withdrawal 撤退 1、名詞性后綴acy是什么意思&#xff1f; 后綴&a…

javascript事件處理程序

javascript 事件處理程序 1、普通事件處理程序 <input type"button" value"click me" οnclick"showMessage()" /> function showMessage(){alert("clicked");} 2、DOMO 級事件處理程序 <span style"white-space:pre&…