《C语言程序设计优化(提速)(共12页).docx》由会员分享,可在线阅读,更多相关《C语言程序设计优化(提速)(共12页).docx(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上1对以下程序代码进行调整,提升程序的运行速度:scanf(%c, &ch);printf(%c, ch);改:用getchar(),putchar();2对以下程序代码进行调整,提升程序的运行速度:if(m/n9)printf(okn);改:乘法运算比除法速度快3对以下程序代码进行调整,提升程序的运行速度:intn=5,m=6;n=n+1;m=m-1;改:n+; m更快4对以下程序代码进行调整,提升程序的运行速度:scanf(%d,&num1);scanf(%d,&num2);scanf(%d,&num3);scanf(%d,&num4);scanf(%d,&num5
2、);scanf(%d,&num6);改:可写成一个:scanf(“%d%d%d”, &)5对以下程序代码进行调整,提升程序的运行速度:doublex=2;printf(%.0f的4次方等于%.0fn,x,pow(x,4);改:将pow(x,4)改作:x*x*x*x;6对以下程序代码进行调整,提升程序的运行速度:for(i=0;in;i+)scanf(%d%d,&num1,&num2);sumi=add(num1,num2);intadd(intn1,intn2)returnn1+n2;改:去掉函数调用,直接表达。7对以下程序代码进行调整,提升程序的运行速度:inti,n,sum,num;n=0
3、;sum=0;num=0;scanf(%d,&n);for(i=1;i=0)printf(num是大于或等于0的数n);if(num0)printf(num是正数n);if(0=num)printf(num的值为零n);if(num=n2&n1=n3&n1=n4)printf(最大值为%dn,n1);if(n2=n1&n2=n3&n2=n4)printf(最大值为%dn,n2);if(n3=n1&n3=n2&n3=n4)printf(最大值为%dn,n3);if(n4=n1&n4=n2&n4=n3)printf(最大值为%dn,n4);改:max = n1; if(); if(); if();
4、11对以下程序代码进行调整,提升程序的运行速度:for(i=0;i5;i+)scanf(%dszi);%改:由于个数较少,可用一个scanf()完成12对以下程序代码进行调整,提升程序的运行速度:for(i=0;i5;i+)printf(%4d,n+i);改:不用循环,写成一个printf();13对以下程序代码进行调整,提升程序的运行速度:for(i=0;i4;i+)for(j=0;j5;j+)printf(%4d,n+i+j);putchar(n);改:内循环用一个scanf(“%4d%4d%4d”, k, kk+1, kk +2, ),在内循环前添kk = nn+i%4d14对以下程序代
5、码进行调整,提升程序的运行速度:for(i=1;i=3;i+)for(j=1;j=5;j+)printf(*);printf(n);改:三个printft(“*n”); 或写成一个printf(“*n*n”)15对以下程序代码进行调整,提升程序的运行速度:for(i=0;in/5;i+)sum+=numi;改:中间条件转为乘法,效率更高16对以下程序代码进行调整,提升程序的运行速度:for(i=2;i=sqrt(m);i+)if(m%i=0)printf(%d,i);改:在循环前添加kk = sqrt(m),再i=sqrt(m)改成ikk,可减少函数调用次数17对以下程序代码进行调整,提升程序
6、的运行速度:for(i=0;in;i+)sum+=(numi*300.0/(100*25)*2;改:循环前加语句:kk = 300.0/(100*25)*2;简化sum+=(numi*300.0/(100*25)*2为sum+=(numi* kk18对以下程序代码进行调整,提升程序的运行速度:for(i=0;im;i+)for(j=0;jn;j+)printf(%4d,m*n+2*i+j);printf(n);改:将kk = m*n放到循环前,在内循环前添语句:ss =kk + 2 *i, printf(%4d,m*n+2*i+j)改为printf(%4d,ss+j);19对以下程序代码进行调
7、整,提升程序的运行速度:for(i=0;in;i+)if(0=dataType)sum+=num1i;elsesum+=num2i;改:将判断条件外置,可减少运算次数20对以下程序代码进行调整,提升程序的运行速度:for(i=0,count=0;i0)printf(数组num中,存在值为9的数n);改:循环中的判断改为:count = 1; break; 减少不必要的运算21对以下程序代码进行调整,提升程序的运行速度:maxVal=Sz0;for(i=0;i=maxVal)maxVal=Szi;改:循环控制变量初值可为1,减少处理次数22对以下程序代码进行调整,提升程序的运行速度:for(i=
8、1,sum=0;i=n;i+)scanf(%d,&num);sum+=num;avg=sum/n;改:把语句avg=sum/n;放到循环之后,减少运算23对以下程序代码进行调整,提升程序的运行速度:for(i=0,count=0;in;i+)scanf(%d,&numi);if(-1=numi)break;count+;printf(一共读入了%d个数n,count);改:去掉count+;改在循环外写成:count = i;24对以下程序代码进行调整,提升程序的运行速度:for(i=1,sum=0;i=n;i+)scanf(%d,&num);sum+=num;*pSum=sum;改:将*pS
9、um=sum;移至循环之后。25对以下程序代码进行调整,提升程序的运行速度:for(i=0;i=0)zhengShu+=numi;elsefuShu+=numi;sum+=numi;改:将sum+=numi;移至循环之后。26对以下程序代码进行调整,提升程序的运行速度(约定n是=1的数):for(i=0;in;i+)if(in-1)printf(%d,numi);elseprintf(%dn,numi);改:将in改为i=1的数):for(i=0;i=6的数):for(i=0;in;i+)if(iarri-1)i+;while(i10);改: i=0;scanf(%d,&arri);i+;wh
10、ile(iarri-1)i+;30对以下程序代码进行调整,提升程序的运行速度:for(row=0;row10000;row+)for(col=0;col50;col+)sum+=arowcol;改:改变内外位置,可使运算减少31以下函数isPrime的功能是判断m是否为素数,是则返回1、否则返回0,请对程序代码进行调整,提升程序的运行速度:intisPrime(intm)inti;for(i=2;im;i+)if(m%i=0)return0;return1;改:循环前添加语句:kk= sqrt(m); 将im改为i countstri A 或stri countstri a33对以下程序代码进
11、行调整,提升程序的运行速度:for(i=0;stri!=0;i+)if(1=stri)sum+=1;if(2=stri)sum+=2;if(3=stri)sum+=3;if(4=stri)sum+=4;if(5=stri)sum+=5;if(6=stri)sum+=6;if(7=stri)sum+=7;if(8=stri)sum+=8;if(9=stri)sum+=9;改:密码原则:stri stri 0;for(i=0;stri!=0;i+)if(stri= 1&stri = 9)sum+=stri 0;34对以下程序代码进行调整,提升程序的运行速度:for(i=0;stri!=0;i+)if(A=stri)putchar(1);if(B=stri)putchar(x);if(C=stri)putchar(m);if(D=stri)putchar(y);if(E=stri)putchar(c);if(F=stri)putchar(K);if(G=stri)putchar(9);改:循环前先给语句如:kk = “1xmycK9”,再用密码原则,即改为:charss = “lxmyck9”;for(i=0;stri!=0;i+)if(stri)= A&stri = G)putchar(ssstri A);专心-专注-专业
限制150内