第二次作業

2022-08-22 10:39:11 字數 1857 閱讀 5557

1、main:在此函式中,選擇輸入的進製數並輸入該數,若輸入的進製數不是二進位制、八進位制、十進位制中的乙個,直接輸出error,若是,先判斷該數是否合法,不合法,直接輸出error,合法則選擇要轉化的進製數,呼叫相應函式

2、two(int x):將十進位制轉化為二進位制

int two(int x)

for(i=count;i>=0;i--)

printf("%d",a[i]);

}

3、eight(int x):將十進位制轉化為八進位制

int eight(int x)

for(i=count;i>=0;i--)

printf("%d",a[i]);

}

4、to_ten(int x):將二進位制或八進位制轉為十進位制

int to_ten(int x)

return sum;

}//二進位制轉十進位制

if(choice==8)

return sum;

}//八進位制轉十進位制

}

5、pow函式:在轉十進位制中發揮作用,與for迴圈配合,將每位的數字轉為十進位制的表達形式,逐步相加,得到它的十進位制數;將數字字元型轉化為整型1、int choice:使輸入的進製在所有函式中都起作用,在呼叫to_ten(int x)函式轉十進位制時可直接判斷執行哪個操作

2、int a[1000]:使陣列在two(int x)函式和eight(int x)函式中都可以用,無需定義兩次,讓**更簡潔,且利於逆序輸出

int main()

}while(y!=0);//判斷輸入是否合法

if(flag==0)else

} case 8:

}while(y!=0);

if(flag==0)else

} case 10:

else

}//判斷輸入是否合法

if(flag==0)else

else if (a[i] >= 'a' && a[i] <= 'f')

sum = sum * b + num;

}return sum;

}

1、楊同學直接呼叫庫函式中的strlen求字元長度,**更簡潔;而我用for語句算出最後乙個字元的下標

2、楊同學用字串輸入,用了乙個函式就可以完成任意進製轉為十進位制;而我在這裡沒用字串,而是對輸入的數進行取餘、相加、除法計算,且無法進行十六進製制的轉化

1、收穫:熟悉了進製的轉化;在需要逆序輸出數字時,選擇陣列會方便一些;了解了字元型和整型之間的轉化

2、函式理解:函式可提高**的可讀性;可在乙個函式中呼叫其他的函式;若是兩個函式之間有共同的變數,可以將該變數定義為全域性變數,更方便簡潔

第二次作業

execise02 1.查詢85年以後出生的學生姓名 性別和出生日期 2.列表顯示所有可能的學生選課組合 學號 課程號 3.查詢1 2 4班中陳姓同學的資訊 4.查詢所有及格的學生姓名 所選課程名及所得分數 5.統計各門課程的及格人數 課程編號 課程名 及格人數 6.統計各門課程的總人數 及格人數和...

第二次作業

第一題 p1 1 遞迴寫法,效率低 include 1.寫乙個函式返回引數值為1的個數 比如 15 0000 1111 4個1 程式原型 int count one bits unsigned int value int fuc int x else return 0 void mainp1 p1 ...

第二次作業

檔名稱 516.cpp 作 者 闕文榮 完成日期 2016 年 3 月 11 日 版 本 號 v1.1 對任務及求解方法的描述部分 用while語句控制輸出 輸入描述 略 問題描述 現在北京有一套房子,200萬,假設房價每年 10 乙個軟體工程師每年固定能賺40萬。他想買這套房子,多大的 率能夠忍受...