9){p">

C语言程序设计优化(提速)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1对以下程序代码进行调整,提升程序的运行速度:

scanf("%c", &ch);

printf("%c", ch);

改:用getc har(),putchar();

2对以下程序代码进行调整,提升程序的运行速度:

if (m / n > 9)

{

printf("ok\n");

}

改:乘法运算比除法速度快

3对以下程序代码进行调整,提升程序的运行速度:

int n=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);

scanf("%d", &num6);

改:可写成一个:scanf(“%d%d%d…”, &…)

5对以下程序代码进行调整,提升程序的运行速度:

double x=2;

printf( "%.0f的4次方等于%.0f\n", x, pow(x, 4)); 改:将pow(x,4)改作:x*x*x*x;

6对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i

{

scanf("%d %d", &num1, &num2);

sum[i] = add(num1, num2);

}

int add(int n1, int n2)

{

return n1 + n2;

}

改:去掉函数调用,直接表达。

7对以下程序代码进行调整,提升程序的运行速度:

int i, n, sum, num;

n = 0;

sum = 0;

num = 0;

scanf("%d", &n);

for (i=1; i<=n; i++)

{

scanf("%d", &num);

sum += num;

}

改:去掉多余的赋值:n=0和num=0; sum=0写成初始化形式

8对以下程序代码进行调整,提升程序的运行速度:

if (num >= 0)

{

printf("num是大于或等于0的数\n");

}

if (num < 0)

{

printf("num是负数\n");

}

改:换成if()…else形式,效率更高

9对以下程序代码进行调整,提升程序的运行速度:

if (num > 0)

{

printf("num是正数\n");

}

if (0 == num)

{

printf("num的值为零\n");

}

if (num < 0)

{

printf("num是负数\n");

}

改:用if … else if … else形式

10对以下程序代码进行调整,减少程序中的比较次数,增加程序的可维护性:if (n1>=n2 && n1>=n3 && n1>=n4)

{

printf("最大值为%d\n", n1);

}

if (n2>=n1 && n2>=n3 && n2>=n4)

{

printf("最大值为%d\n", n2);

}

if (n3>=n1 && n3>=n2 && n3>=n4)

{

printf("最大值为%d\n", n3);

}

if (n4>=n1 && n4>=n2 && n4>=n3)

{

printf("最大值为%d\n", n4);

}

改:max = n1; if(); if(); if();

11对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i<5; i++)

{

scanf("%d"sz[i]);%

}

改:由于个数较少,可用一个scanf()完成

12对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i<5; i++)

{

printf("%4d", n+i);

}

改:不用循环,写成一个printf();

13对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i<4; i++)

{

for (j=0; j<5; j++)

{

printf("%4d", n + i + j);

}

putchar('\n');

}

改:内循环用一个scanf(“%4d%4d%4d…”, k, kk+1, kk +2, …),在内循环前添kk = nn+i

%4d

14对以下程序代码进行调整,提升程序的运行速度:

for (i=1; i<=3; i++)

{

for (j=1; j<=5; j++)

{

printf("*");

}

printf("\n");

}

改:三个printft(“*****\n”); 或写成一个printf(“*****\n*****\n…”)

15对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i

{

sum += num[i];

}

改:中间条件转为乘法,效率更高

16对以下程序代码进行调整,提升程序的运行速度:

for (i=2; i<=sqrt(m); i++)

{

if (m % i == 0)

{

printf("%d ", i);

}

}

改:在循环前添加kk = sqrt(m),再i<=sqrt(m)改成i

17对以下程序代码进行调整,提升程序的运行速度:

for (i=0; i

{

相关文档
最新文档