① 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不太好吧,太籠統了)大概就是這些