C語言部落格作業--結構體

來源:互聯網
上載者:User

標籤:info   結構體   訪問   int   union   --   china   設計   不同的   

一、PTA實驗作業題目1:6-1 計算兩個複數之積1. 本題PTA提交列表

2. 設計思路
struct complex multiply(struct complex x, struct complex y){     struct complex product;用於存放結果     執行運算        product.real=x.real*y.real-x.imag*y.imag;    product.imag=x.imag*y.real+x.real*y.imag;以得出結果的實部和虛部        返回product
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。

題目2:7-1 計算職工工資1. 本題PTA提交列表

2. 設計思路
struct man{    char name[10];    float j,f,z;//分別為 基本工資 浮動工資 支出 實發工資    float s;};//該結構體表示人員,基本工資,浮動工資,支出,實發工資     輸入N表示N個人    for i=0 to i=n-1{  輸入名字 基本工資 浮動工資 支出  op[i].s執行運算op[i].j+op[i].f-op[i].z}   for i=0 to i=n-1{  輸出名字和實發工資}
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。

man op[]一開始寫的100000無法運行,改小後可以運行;起初 基本工資 浮動工資 支出都定義為了int型,答案錯誤;輸出的時候也沒有迴圈多次輸出。

題目3:7-5 有理數比較1. 本題PTA提交列表

2. 設計思路
struct fraction{    int m,n;//m為分母,n為分子 }; //該結構體表示分母和分子  struct fraction a,b;定義兩個數  double x;//用於計算兩分數相減   char ch;//用於輸出符號  輸入ab兩個數的分母和分子  x執行運算a.n*1.0/a.m-b.n*1.0/b.m;if x>0  則a>bif x<0  則a<bif x==0 則a=b輸出
3.代碼

4.本題調試過程碰到問題及PTA提交列表情況說明。

x=a.n1.0/a.m-b.n1.0/b.m;起初沒有*1.0結果一直輸出“=”

二、本周題目集的PTA最後排名。

三、閱讀代碼

某習題

struct country { int num; char name[10]; }x[5]={1,"China",2,"USA",3,"France",4, "England",5, "Spanish"}; struct country *p; p=x+2; printf("%d,%c",p->num,(*p).name[2]);

p是指向結構體的指標,p = x + 2 就相當於:p = x[0 + 2] = x[2];p->num中->是指標訪問它的變數的運算子,(*p)就是相當於把p指向的記憶體取出裡面的資料,“.”運算子訪問它的變數name數組,x[2].name為"France",第一個F下標是0,那麼下標為2的字母是a
某習題

把高於等於平均分的學生資料放在b所指的數組中,高於等於平均分的學生人數通過形參n傳回,平均分通過函數值返回。

四、本周學習總結1.總結本周學習內容
  • 1.結構體
    struct 結構體名
    {
    成員表列
    } 變數表列;
    例:

    struct data{int a;char b;double c;} s1;
  • 2.共用體
    union 共用體名
    {
    成員表列
    } 變數表列;
    列:

    union data{int i;char ch;float f;} a, b, c;
  • 3.結構體與共用體
    結構體:結構體和數組一樣都是構造型資料類型,和數組不同的是,結構體可以處理不同類型的資料。
    共用體:共用體是一種多變數共用儲存空間的構造類型,它允許幾種不同的變數共用同一儲存空間。
  • 4.函數的嵌套調用,在主函數main()中調用函數cal()

    2.羅列本周一些錯題。


    答案d是錯誤的,因為調用函數中的實在參數為一個是整型變數n,一個是指標變數a[9]的地址,即為指標變數。因為函數的實在參數與形式參數應該類型相同,個數相同。而答案d中的兩個參數均為整型變數,所以d是錯誤答案。答案a中的m為整型變數,x是一個數群組類型的變數,而數組名代表數組的首地址,所以與形式參數類型相同。答案b與答案a原因相同。而答案c中的變數p為整型變數,變數s為指標類型的變數。

    變數會被放在程式的全域儲存區中,這樣可以在下一次調用的時候還可以保持原來的賦值。這一點是它與堆棧變數和堆變數的區別。變數用static告知編譯器,自己僅僅在變數的作用範圍內可見。這一點是它與全域變數的區別。

C語言部落格作業--結構體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.