C語(yǔ)言程序設(shè)計(jì)優(yōu)化(提速)_第1頁(yè)
C語(yǔ)言程序設(shè)計(jì)優(yōu)化(提速)_第2頁(yè)
C語(yǔ)言程序設(shè)計(jì)優(yōu)化(提速)_第3頁(yè)
C語(yǔ)言程序設(shè)計(jì)優(yōu)化(提速)_第4頁(yè)
C語(yǔ)言程序設(shè)計(jì)優(yōu)化(提速)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上1對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:scanf("%c", &ch);printf("%c", ch);改:用getchar(),putchar();2對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:if (m / n  >  9)        printf("okn");改:乘法運(yùn)算比除法速度快3對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度

2、:int n=5, m=6;        n = n + 1;m = m - 1;改:n+; m更快4對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:scanf("%d", &num1);scanf("%d", &num2);scanf("%d", &num3);scanf("%d",&

3、#160;&num4);scanf("%d", &num5);scanf("%d", &num6);改:可寫成一個(gè):scanf(“%d%d%d”, &)5對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:double x=2;   printf( "%.0f的4次方等于 %.0fn",  x, pow(x, 4);改:將pow(x,4)改作:x*x*x*x;6對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序

4、的運(yùn)行速度:for (i=0;  i<n;  i+)        scanf("%d %d", &num1, &num2);        sumi = add(num1, num2);int add(int n1, int n2) &

5、#160;      return n1 + n2;改:去掉函數(shù)調(diào)用,直接表達(dá)。7對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:int i, n, sum, num;n = 0;sum = 0;num = 0;scanf("%d", &n);for (i=1;  i<=n;  i+)   

6、;     scanf("%d", &num);        sum += num;改:去掉多余的賦值:n=0和num=0; sum=0寫成初始化形式8對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:if (num >= 0)        printf("num是大于或等于0的數(shù)n&q

7、uot;);if (num < 0)        printf("num是負(fù)數(shù)n");改:換成if()else形式,效率更高9對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:if (num > 0)        printf("num是正數(shù)n");if (0 = num)  &

8、#160;     printf("num的值為零n");if (num < 0)        printf("num是負(fù)數(shù)n");改:用if else if else形式10對(duì)以下程序代碼進(jìn)行調(diào)整,減少程序中的比較次數(shù),增加程序的可維護(hù)性:if (n1>=n2 && n1>=n3 && n1&g

9、t;=n4)        printf("最大值為%dn", n1);if (n2>=n1 && n2>=n3 && n2>=n4)        printf("最大值為%dn", n2);if (n3>=n1 && n3&

10、gt;=n2 && n3>=n4)        printf("最大值為%dn", n3);if (n4>=n1 && n4>=n2 && n4>=n3)        printf("最大值為%dn", n4);改:max = n1;

11、 if(); if(); if();11對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<5; i+)        scanf("%d"szi);%改:由于個(gè)數(shù)較少,可用一個(gè)scanf()完成12對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<5; i+)        printf("%4d&q

12、uot;, n+i);改:不用循環(huán),寫成一個(gè)printf();13對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<4; i+)        for (j=0; j<5; j+)                    

13、    printf("%4d", n + i + j);                putchar('n');改:內(nèi)循環(huán)用一個(gè)scanf(“%4d%4d%4d”, k, kk+1, kk +2, ),在內(nèi)循環(huán)前添kk = nn+i%4d14對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=

14、1; i<=3; i+)        for (j=1; j<=5; j+)                        printf("*");    

15、            printf("n");改:三個(gè)printft(“*n”); 或?qū)懗梢粋€(gè)printf(“*n*n”)15對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<n/5; i+)        sum += numi;改:中間條件轉(zhuǎn)為乘法,效率更高16對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行

16、速度:for (i=2; i<=sqrt(m); i+)        if (m % i = 0)                        printf("%d &q

17、uot;, i);        改:在循環(huán)前添加kk = sqrt(m),再i<=sqrt(m)改成i<kk,可減少函數(shù)調(diào)用次數(shù)17對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<n; i+)        sum += (numi * 300.0 / (100 * 25)

18、60;* 2;改:循環(huán)前加語(yǔ)句:kk = 300.0 / (100 * 25) * 2;簡(jiǎn)化sum += (numi * 300.0 / (100 * 25) * 2為sum += (numi * kk18對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<m; i+)      

19、60; for (j=0; j<n; j+)                        printf("%4d", m*n + 2*i + j);        

20、;        printf("n");改:將kk = m*n放到循環(huán)前,在內(nèi)循環(huán)前添語(yǔ)句:ss =kk + 2 *i, printf("%4d", m*n + 2*i + j)改為printf("%4d", ss + j);19對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<n; i+)  

21、0; if (0 = dataType)            sum += num1i;        else            sum += num2i;   

22、 改:將判斷條件外置,可減少運(yùn)算次數(shù)20對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0, count=0; i<n; i+)        if (9 = numi)                     &

23、#160;  count+;        if (count > 0)        printf("數(shù)組num中,存在值為9的數(shù)n");改:循環(huán)中的判斷改為:count = 1; break; 減少不必要的運(yùn)算21對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:maxVal = Sz0;for (i=0; i<n;&

24、#160;i+)        if (Szi >= maxVal)                        maxVal = Szi;       

25、; 改:循環(huán)控制變量初值可為1,減少處理次數(shù)22對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=1, sum=0;  i<=n;  i+)        scanf("%d", &num);        sum += num;     

26、0;  avg = sum / n;改:把語(yǔ)句avg = sum / n;放到循環(huán)之后,減少運(yùn)算23對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0, count=0;  i<n;  i+)        scanf("%d", &numi);     

27、   if (-1 =  numi)                        break;                c

28、ount+;printf("一共讀入了 %d 個(gè)數(shù)n", count);改:去掉count+;改在循環(huán)外寫成:count = i;24對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=1, sum=0;  i<=n;  i+)        scanf("%d", &num);      

29、0; sum += num;        *pSum = sum;改:將*pSum = sum;移至循環(huán)之后。25對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; i<n; i+)                  &

30、#160;     if (numi >= 0)                        zhengShu += numi;          &#

31、160;      else                        fuShu += numi;              

32、0; sum += numi;改:將sum += numi;移至循環(huán)之后。26對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度(約定n是>=1的數(shù)):for (i=0; i<n; i+)        if (i < n-1)              &#

33、160;         printf("%d, ", numi);                else                 

34、;       printf("%dn", numi);        改:將i<n改為i<n-1,循環(huán)體中只留printf("%d, ", numi),循環(huán)之后再添上語(yǔ)句:printf("%dn", numn-1);27對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度(約定n是>=1的數(shù)):for (i=0; i&

35、lt;n; i+)        if (0 = i)                        printf("*n");       

36、0;        else                        printf("*n");        改:將0=i時(shí)的語(yǔ)句移至循環(huán)之前,28對(duì)以下程序代碼進(jìn)行調(diào)整,

37、提升程序的運(yùn)行速度(約定n是>=6的數(shù)):for (i=0; i<n; i+)        if (i < 5)                        printf("%d 

38、;", numi);                else                        printf("%dn", numi);&

39、#160;       改:先處理前5個(gè)(用一個(gè)printf),再進(jìn)行循環(huán)29對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:i = 0;do        scanf("%d", &arri);        if (0=i | arri > arri-1)

40、                        i+;         while (i < 10);改: i = 0;scanf("%d", &arri);i+;while&

41、#160;(i < 10)scanf("%d", &arri);   if (arri > arri-1)         i+;    30對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (row=0; row<10000; row+)    for

42、0;(col=0; col<50; col+)            sum += arowcol;    改:改變內(nèi)外位置,可使運(yùn)算減少31以下函數(shù)isPrime的功能是判斷m是否為素?cái)?shù),是則返回1、否則返回0,請(qǐng)對(duì)程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:int isPrime(int m)       

43、; int i;        for (i=2; i<m; i+)                        if (m % i  =  0)

44、60;                                       return 0;        &

45、#160;                       return 1;改:循環(huán)前添加語(yǔ)句:kk= sqrt(m); 將i<m改為i<kk32對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; stri!='0' i+)     

46、0;  if ('A'=stri | 'a'=stri)                        count0+;             &

47、#160;  if ('B'=stri | 'b'=stri)                        count1+;            

48、0;   if ('C'=stri | 'c'=stri)                        count2+;            &

49、#160;   if ('D'=stri | 'd'=stri)                        count3+;           

50、0;    if ('E'=stri | 'e'=stri)                        count4+;           &

51、#160;    if ('F'=stri | 'f'=stri)                        count5+;          

52、0;     if ('G'=stri | 'g'=stri)                        count6+;          &

53、#160;     if ('H'=stri | 'h'=stri)                        count7+;        改:利用密碼原則:s

54、tri> countstri A 或stri> countstri a33對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; stri!='0' i+)        if ('1'=stri)                   &

55、#160;    sum += 1;                if ('2'=stri)                     

56、0;  sum += 2;                if ('3'=stri)                        s

57、um += 3;                if ('4'=stri)                        sum += 

58、;4;                if ('5'=stri)                        sum += 5;  

59、              if ('6'=stri)                        sum += 6;    

60、60;           if ('7'=stri)                        sum += 7;       

61、         if ('8'=stri)                        sum += 8;         

62、60;      if ('9'=stri)                        sum += 9;        改:密碼原則:stri èstri 0

63、;for (i=0; stri!='0' i+)        if (stri>= 1&&stri <= 9)                        sum += s

64、tri 0;        34對(duì)以下程序代碼進(jìn)行調(diào)整,提升程序的運(yùn)行速度:for (i=0; stri!='0' i+)        if ('A'=stri)                        putchar('1');     

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論