① c语言怎么提高运行速度
这个程序有多组输入,而这多组输入的运算都是相同的,所以可以利用数组f之前计算过的信息。
在你的code里做的修改,如果有疑问,欢迎交流
#include<stdio.h>
intmain()
{
inta,b,n,c;
intpre_max_idx=2;
intf[100];
f[1]=1;
f[2]=1;
while(scanf("%d%d%d",&a,&b,&n)!=EOF)
{
if(n<=pre_max_idx){//如果之前计算过就直接返回
printf("%d ",f[n]);
continue;
}
if(n<=0)
continue;
for(c=n+1,n=pre_max_idx+1;n!=c;n++)//这里从pre_max_idx开始
f[n]=(a*f[n-1]+b*f[n-2])&7;
pre_max_idx=n-1;//修改当前的最大
printf("%d ",f[n-1]);
}
return0;
}
② C语言如何控制程序运行的时间
利用定时器计数,
在程序中判断,如果超过指定时间,退出。
比如:
定时器设置1秒计数一次。
第一个程序,计数达到60秒,退出。
③ 如何缩短c语言程序的运行时间
参考完数优化算法,优化后代码如下:
#include<stdio.h>
#include<math.h>
voidmain()
{
intt,i,j,s,q;
inta;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
s=1;
scanf("%d",&a);
for(j=2,q=(int)sqrt(a);j<=q;j++)
{
if(a%j==0)
{
s+=j;
s+=a/j;
}
}
printf("%d ",s);
}
}
④ 怎样设置才可以在c语言设置中看到程序的运行速度
#include<stdio.h>
int main()
{
while(1) //设置一个死知循环,使程序重复运行道
{
system("cls"); //清屏,清除窗口上之前的输出专
int a,b;
printf("请输入两个加数:");
scanf("%d%d",&a,&b);
printf("两数之和属为%d",a+b);
getch(); //按任意键从头开始
}
}
⑤ C语言 怎么改下代码,加快下面程序的执行速度。。。
单独从代码上看,没多少可改的,唯一可以增加效率的地方是
for(k=2;k<=sqrt(n);k++)
{
if(n%k==0)
{loop=1; break;}
}
在这里加一个break,避免多余的运算
不过看你这个程序的功能,似乎是求2000000以内的素数,如果是的话,可以用素数筛
比这个快很多
⑥ C语言如何控制文字输出速度
显示一行是和快的,至少肉眼感觉是这样的。
在显示完一行后,适当延时(延时方法可用循环语句来完成,时长通过改变循环终值来控制),再输出下一行。
⑦ 请优化下面的c语言代码,让这个程序的执行时间在30ms以内,
同学,你是刚学C语言吗?如果是的话,这样写就很不错了,因为你知识还不全。可优化的地方确实还有,比如,当你学过数组后,可以用数组储存你的不同年限的利率,这样方便调用,编程的时候也不容易错。你的5个函数形成的功能是类似的,可以合写成一个函数。doubleaction(doublec,doubleyear)//C是本金,year是存几年{c=c*(1+year*r[year]);returnc;}这样的话,你的5年,可写为sum=cap;sum=action(sum,5);先3,后2写为sum=cap;sum=action(action(sum,3),2);存活期比较特殊,你可以再写一个这样的话,能省下不小代码量,还有你的计算活期的action5有点毛病for(i=1;i<=4;i++)a=(1+r6/4);这个a是不是不该这么算.改写为a=1;for(i=1;i<=4;i++)a=a*(1+r6/4);才对吧。还有编程风格(你起的函数名用action不太好吧,太笼统了)大概就是这些