【文章內(nèi)容簡介】
printf(%d = ,m)。 for(i=2。im。i++) { if(p%IsPerfect(i)==0amp。amp。p/IsPerfect(i)!=1amp。amp。IsPerfect(i)!=1) printf(%d * ,i)。 else if(p%IsPerfect(i)==0amp。amp。p/IsPerfect(i)==1amp。amp。IsPerfect(i)!=1) { printf(%d,i)。 break。 } elsecontinue。 p=p/i。 while(p%i==0) { if(p/i!=1) { printf(%d * ,i)。 p=p/i。 } else{ printf(%d,i)。 break。 } } } } return 0。 } int Fun(int m) { int i, result。 result = 1。 if (m != 2) { for (i = 2。 i m。 i++) { if (m % i == 0) { result = 0。 break。 } } } return result。 } int IsPerfect(int m) { int i, result。 result=1。 if (m != 2) { for (i = 2。 i = m。 i++) { if (m % i == 0) break。 else if(m%i!=1amp。amp。m/i!=1) continue。 elseresult=m。 } } elseresult=2。 return result。 }窗體底端窗體頂端Q198.(10分)第7章實(shí)驗任務(wù)5如果一個正整數(shù)m的所有小于m的不同因子(包括1)加起來正好等于m本身,那么就被稱它為完全數(shù)。它是指這樣的一些特殊的自然數(shù),它所有的真因子(即除了自身以外的約數(shù))的和,恰好等于它本身。注意:1沒有真因子,所以不是完全數(shù)。例如,6就是一個完全數(shù),是因為6 = 1 + 2 + 3。請編寫一個判斷完全數(shù)的函數(shù)IsPerfect(),然后判斷從鍵盤輸入的整數(shù)是否是完全數(shù)。要求:按如下原型編寫判斷完全數(shù)的函數(shù),若函數(shù)返回0,則代表不是完全數(shù),若返回1,則代表是完全數(shù)。int IsPerfect(int x)。**要求輸入提示信息為: Input m:\n**要求輸入格式為: %d**要求輸出格式為 %d is a perfect number\n%d is not a perfect number\n注:不能使用指針、結(jié)構(gòu)體、共用體、文件、goto、枚舉類型進(jìn)行編程,主函數(shù)不能使用int main和return 0。include int IsPerfect(int m)。 main() { int a。 printf(Input m:\n)。 scanf(%d, amp。a)。 if (IsPerfect(a) == 1) printf(%d is a perfect number\n, a)。 elseprintf(%d is not a perfect number\n, a)。 } int IsPerfect(int m) { int i, s, find。 s = 0。 for (i = 1。 i m。 i++) { if (m % i == 0) s = s + i。 elsecontinue。 } if (s == m) find = 1。 elsefind = 0。 return find。 }窗體底端窗體頂端Q3168.(10分)編程從鍵盤輸入一個小寫英文字母,將其轉(zhuǎn)換為大寫英文字母,并將轉(zhuǎn)換后的大寫英文字母及其十進(jìn)制的ASCII碼值顯示到屏幕上。**輸入提示信息**:Please input a lowcase letter from keyboard:**輸入數(shù)據(jù)格式**:%c**輸出數(shù)據(jù)格式**:The capital letter and its ASCII value are:%c and %d.提示:從鍵盤輸入一個字符可用scanf也可用getcharinclude main() { char a。 printf(Please input a lowcase letter from keyboard:)。 a = getchar()。 a = a 32。 printf(The capital letter and its ASCII value are:%c and %d., a, a)。 }窗體底端窗體頂端Q3241.(10分)實(shí)驗三(2016春劉秉權(quán)C語言課):已知公式e = 1 + 1/1! + 1/2! + 1/3! + ... +1/n!, 編程計算e的近似值,直到最后一項的絕對值小于1e7時為止,輸入e的值并統(tǒng)計累加的項數(shù)。要求:按順序輸出每一個e值,小數(shù)點(diǎn)后保留8位有效數(shù)字,輸出格式形如:e = , count = 4(回車換行,count為累加的項數(shù))include double fun(int n)。 main() { int i, c。 double e。 c = 0。 e = 0。 for (i = 0。 i=11。 i++) { e = e + fun(i)。 c++。 printf(e = %.8lf, count = %d\n, e, c)。 } } double fun(int n) { double result。 int i。 i = 1。 result = 1。 do{ result = result * i。 i++。 } while (i = n)。 result = / result。 return result。 }窗體底端窗體頂端Q1710.(10分)第7章實(shí)驗任務(wù)4:任意輸入一個整數(shù)m,若m不是素數(shù),則輸出其所有不包括1和自身的因子;否則輸出“沒有因子,是素數(shù)”的相關(guān)提示信息。輸入提示信息:Please enter a number:輸入格式:%d輸出格式:有因子時:%d\n無因子時:It is a prime divisor!\n輸入為1,0,1時:It is not a prime divisor!\ninclude include int Fun(int m)。 main() { int a, i。 printf(Please enter a number:)。 scanf(%d, amp。a)。 if (Fun(fabs(a)) == 1) printf(It is a prime divisor!\n)。 else{ for (i = 2。 i fabs(a)。 i++) { if ( a % i == 0) printf(%d\n, i)。 } } } int Fun(int m) { int i, result。 result = 1。 if (m != 2 amp。amp。 m != 1) { for (i = 2。 i m。 i++) { if (m % i == 0) 160