freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

7-20xx上機:常用算法-常見錯誤(已修改)

2025-08-05 08:08 本頁面
 

【正文】 第一部分 簡單應用題(常用算法)希望閱讀上學期上機實驗手冊 中“常用算法總結”部分。1. 素數(質數) 算法總結3l 編一個函數用于判斷一個數是否是質數(素數)。 int isprime2(int x) { int k, i。 k=sqrt(x)。 for(i=2。 i=k。 i++) /* i=k 可改寫為 i=x/2 */ if(x%i==0) return(0)。 return(1)。}l 函數fun(int n) 完成的功能是將n分解為質數的積的形式。如 90=2335。簡54題講2. 因子l 函數fun(int n)計算所有n的因子(是約數,包括1但不包括自身)之和int fun(int n){ int sum=0。 for( int i=1。 in。 i++ ) if(n%i==0) sum+=n。 return sum。 }l 一個數恰好等于它的所有因子(不包括自身)之和,這個數就稱為“完數”,例如6=1+2+3。編程找出1000以內的所有完數。void main( ){ for( int i=1。 i1000。 i++ ) if( i==fun(i) ) coutiendl。 }l 函數fun(int m, int n) 判定兩個數是否是親和數。親和數的定義:如果n的所有因子之和(因子除掉自身)等于m。m的所有因子之和等于n,則判定m、n是互為親和數。l 求出x的所有約數,并調用函數寫入文件中。void f(int x){ for(int i=1。 i=x。 i++) if(x%i==0) WriteFile(i)。 //題目本身給出的函數用于輸出}3. 公約數、公倍數 算法總結5l 求兩個數的最大公約數和最小公倍數。 4. 多項式求和 算法總結2l 求sum(n) = 1! + 2! + 3! +…+ n! l 求Sn=1+1/1!+1/2!+1/3!+1/4!+ … +1/n!l 函數int fun(int number)返回Sn = 1/1 + 1/2 + 1/3 +…+ 1/numberl 函數fun(int n)計算在n范圍內,能被7或11整除的所有整數的倒數和。l 請編寫函數fun(),其功能是計算并輸出當x,直到∣SnSn1∣。Sn=1++() x2/2! +()() x3/3! + … ()()…(+1) xn/ n!5. 其他基本算法,輸出格式控制等l 函數int fun(int y, int m, int d)計算并返回某年某月某日是當年的第幾天。(特殊情況:若是閏年且月份大于3,則加一天)。編一個函數用于判斷一個年份是否是閏年。簡37題講l 請編寫一個函數 printdate(int year, int month, int day),該函數實現(xiàn)將輸入的3個數字轉換成英語數字紀年輸出的功能,如輸入1978 3 9,則輸出 March 9, 1978。 金牌第40題講解l 函數 bool fun(int i, int j, int k)判斷三個長度是否構成三角形。l 根據n的大小,輸出由*組成的圖形,如n=5,輸出:* * * ** ** *** *** *** ***** **** **** *** ***** ***** * 打印程序l 輸出99口訣,涉及輸出格式的控制。l 函數 int fun(int data, int m, int n)返回dada的二進制中m位與n位之間的數據。 涉及位運算例如:data=1258965 m=13 n=4則data的二進制為:0000 0000 0001 0011 0011 0101 1101 0101應返回:0000 0000 0000 0000 0000 0101 1101 0000即1488備注:最低位為第1位,最高位為第32位。 簡62題講6. 數制轉換l 將x的值轉換成二進制數輸出到屏幕。 簡8題講l 將八進制組成的字符串轉換成十進制值。如:“34”轉換結果為:28。int fun(char* str){ int n=0。 for(int i=0。 str[i]!=39。\039。 i++) n = n*8 + str[i]39。039。 //A return n。}l 將二進制組成的字符串轉換成十進制值。如:“11010”轉換結果為:26。解:將上題A行改為n = n*2 + str[i]39。039。l 函數void To8(char* des, char *str)的功能是將二進制數據轉換成八進制數據。如:1001010的八進制數據為112。 簡47題講 本題較難可跳過7. 數的分解合并 算法總結6, 7 l 函數 int fun(int m, int n)將m的個位和十位放到一個數字z的百位和千位中,然后n的百位和千位放到z的個位和十位中,最后由函數返回z。z = m%10*100 + m/10%10*1000 + n/100%10 + n/1000%10*10l 函數int fun(int n)實現(xiàn)求n的各個位上數字之和。l 給一個四位整數加密:方法是每位數字加上5后除以10的余數代替該數字,再將第一位和第四位交換,第二位和第三位交換,然后返回得到的密碼。l 補充函數fun(long s, long *t),使之從低位開始取出長整型變量s中偶數位上的數,依次構成一個新數放在t中。例如當s中的數為7654321時,t中的數為:642。(涉及數的分解與合并)。 簡36題講解 l 請編寫一個函數sortnum(int num),參數num是一個三位的整數,該函數將num的百位、十位和個位的數字進行重排,并返回由上述的三個數字組成的最大的三位數。 金牌28題講8. 迭代 算法總結4 l 函數 double fun(double number)通過迭代法返回number的平方根。迭代公式為Xn+1=(Xn+ number/Xn)。void main( ){ float a, x0, x1。 cina。 x1=a/2。 do { x0=x1。 x1=(x0+a/x0)/2。 }while(fabs(x1x0)=1e5)。 coutThe square root of a is x1endl。}l 函數double fun( ) 實現(xiàn)求cos(x)=x的一個解。 迭代公式為:xn+1=cos(xn) 程序采用迭代法,迭代法的實現(xiàn)思想如下:(1)設x1=0。(2)然后cos(x1)得到x2,;(3),則繼續(xù)迭代。9. 遞歸l 遞歸求階乘,非遞歸求階乘 123…nl 遞歸求累加和, 1+2+3+…+nl 遞歸求sum(n) = 1*1 + 2*2 + 3*3 + … + n*n遞歸公式:sum(n) = sum(n1) + n*n int sum(int n){ if(n==1) return( 1 )。 else return (sum(n1)+n*n) 。 }l 遞歸求Fib數列的第n項,遞歸公式F(n)=F(n1)+F(n2)l 用遞歸算法實現(xiàn)數組a[ ]的前n個元素之和。 解答00l 函數fun(double n, int k)實現(xiàn)的功能是求n的0~k次方的和。即 n0+n1+n2+n3+…+nk 例如:fun(2, 4) = 1+2+4+8+16 = 31要求:要用遞歸實現(xiàn)。提示:fun(n, k) = fun(n, k1) + n的k次方。[ 用到函數power(m, n) 求m的n次冪,即mn ]l 函數fun(int n, int k)利用遞歸算法實現(xiàn)從n個人中選擇k個人的不同組合情況。算法實現(xiàn):由n個人選擇k個人的組合數=由(n1)個人選擇k個人的組合數+由(n1)個人中選擇(k1)個人的組合。若n=k或k=0,則返回1。l age(int n)函數實現(xiàn)的功能是:在一起的n個人,問第n個人年齡是多少,他說比第n1個人大2歲,問第n1個人,說比第n2個人大2歲,依次類推,最后一個人剛會數數字,才2歲。問第n個人多大年齡。10. 窮舉法 l 水仙花數。(三重循環(huán))算法總結6 l 函數fun( )的功能是用4四個數字,組成互不相同且無重復數字的三位數,并將這些數輸出到屏幕,并且每輸出一個三位數字就換一行。 void fun( ) //紅、黃、藍、白、黑5種顏色的球 { //取出3種不同的球的可能取法 int i, j, k。 for(i=1。 i5。 i++) for(j=1。 j5。 j++) for(k=1。 k5。 k++) if(i!=j amp。amp。 i!=k amp。amp。 j!=k) coutijk39。 39。 coutendl。}l 函數fun(int N[4])的功能是用4個數字,組成互不相同且無重復數字的三位數,并將滿足所有條件的數字輸出到屏幕,并且每輸出一個三位數字就換一行。如果判定第一個數字是0則也去掉??商钤诎傥弧⑹?、個位的數字是0。組成所有的排列后再去掉不滿足條件的排列。如果判定第一個數字是0則也去掉。(三重循環(huán)) 簡23題講 (與上題差別,本題使用數組元素作為各位上的數字)。l 在某范圍內(如10萬以內),找出一個數,他加上100后是一個完全平方數,再加上268又是一個完全平方數。(單循環(huán))。 算術平方根是正整數的數叫做完全平方數,如25 11. 函數l 引用做參數,將三個參數重新排序,交換變量值。l 指針做參數,交換變量值。金牌第2題講解, 金牌第5題講解12. 函數模板l 函數T fun(T* p, int len) 用于返回數組中最大值的元素。金牌第42題講解13. 字符串操作l 統(tǒng)計字符串中數字字符 ’0’~’9’ 出現(xiàn)的總次數。int CalcDigital(char *str){ int t=0。 if(str==NULL) return 0。 for(int i=0。 str[i]!=39。\039。 i++) if(39。039。=str[i] amp。amp。 str[i]=39。939。) t++。 return t。}l 統(tǒng)計字符串中26個英文字母 ’a’~’z’ 分別出現(xiàn)的次數。即統(tǒng)計‘a’出現(xiàn)的次數,‘b’出現(xiàn)的次數,…….等。不區(qū)分大小寫,如認為‘a’和‘A’是同一字母。void Count(char *str){ int a[26]={0}。 if(str==NULL) return。 for( 。 *str。 str++) if(39。a39。=*str amp。amp。 *str=39。z39。) a[*str39。a39。]++。 else if(39。A39。=*str amp。amp。 *str=39。Z39。) a[*str39。A39。]++。 for(int i=0。 i26。 i++) coutchar(39。a39。+i)39。=39。a[i]endl。}void main( ){ Count(ABcabCz)。}l 將字符串中出現(xiàn)的數字轉換成數值存儲在整型數組a[ ]中,然后返回轉換的個數。例如:str= “12341454abcdefg234”;則:a[ ]中的值為1,2,3,4,1,4,5,4,2,3,4,返回11。int fun(char* str, int a[]){ int i,
點擊復制文檔內容
高考資料相關推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1