c語言程序運行為什麼時間超限
㈠ C語言超出時限怎麼改
#include<stdio.h>
int main(){
long n;
while(scanf("%ld",&n)!=EOF){
if(n%2==0||n%5==0||(n-5)%2==0)printf("yes ");
//如果時間要求太緊,這一行也可以改成
////if(n!=1&&n!=3)printf("yes ");
//在程序要求的輸入中,既符合要求,又省時間
else printf("no
");
}
return 0;}
//這樣改才符合題意,所有能用2元5元支付的價格不是2的倍數(偶數)就是5的倍數(一部分奇數),
//不過還有減去5後能被2整除的數
//(另一些奇數,與前面的5的倍數可以覆蓋幾乎所有奇數),
//比5小的數與5的差再被2整除只能得負數,一定不為0
//一定要多動腦筋呀,加油樓主
//等等我附個測試結果過來 編譯器gcc
尾部的數據計算結果與實際一致
㈡ C語言OJ時間超限是什麼原因造成
不好意思,不想看代碼.
我的想法是,
輸入一個數,控制輸入的行數比如while(a--){......}
然後嵌套循環,
每行輸入一個數,控制輸入的單詞個數,以空格結束while(b--){......}
然後輸入每個單詞,一個一個字元讀入,while((c=getchar())!='
'){.......}
第三個循環里判斷每個字元,比如第一個字元是'_'還是字母,第二第三個字元.....
當然,實現起來也麻煩,但值得一試,不是嗎?至少可以不用數組了吧,你覺得呢
㈢ c語言,這個代碼運行和調試正確,提交就說時間超限,如圖,謝謝
oj是吧?這個題目考的就是時間效率問題,要用kpm字元串匹配,直接雙循環一定會超時
㈣ C語言程序運行,為什麼時間超限
這樣改改試試
#include <stdio.h>
void main( )
{
char str[1000];
int i;
gets(str);
for(i = 0; str[i]; i++)
{
if(str[i] >= 'A' && str[i] <= 'Z')
str[i] += 32;
}
puts(str);
}
㈤ c語言時間超限
n 太大耗時太多,需要改小
去掉 gets();
增加一個 int k; 用來判斷scanf輸入成功.
while( (k=scanf("%d", &n))!=EOF) {
if(k==1 && n>12 && n<=1300000) {}
㈥ c語言程序,時間超限,怎麼解決
將scanf輸入換成從文件讀取數據,使用fopen, fread, fwrite之類的函數,不要從終端上直接輸入。或者使用重定向<從文件讀取數據。
如果效率還是不行,再將printf改成輸出到文件中。
㈦ 我想問一下我這個c語言程序為什麼運行超時!需要怎麼樣修改呢
#include<stdio.h>
#include<stdlib.h>
/*
Name:
Copyright:
Author:
Date:28/01/1421:12
Description:
有n個格子,從左到右放成一排,編號為1-n。
共有m次操作,有3種操作類型:
1.修改一個格子的權值,
2.求連續一段格子權值和,
3.求連續一段格子的最大值。
對於每個2、3操作輸出你所求出的結果。
輸入格式
第一行2個整數n,m。
接下來一行n個整數表示n個格子的初始權值。
接下來m行,每行3個整數p,x,y,p表示操作類型,p=1時表示修改格子x的權值為y,p=2時表示求區間[x,y]內格子權值和,p=3時表示求區間[x,y]內格子最大的權值。
輸出格式
有若干行,行數等於p=2或3的操作總數。
每行1個整數,對應了每個p=2或3操作的結果。
樣例輸入
43
1234
213
143
314
樣例輸出
6
3
數據規模與約定
對於20%的數據n<=100,m<=200。
對於50%的數據n<=5000,m<=5000。
對於100%的數據1<=n<=100000,m<=100000,0<=格子權值<=10000。
*/
typedefstructm0
{
intp;
intx;
inty;
}h;
intmain()
{
intn,m,i,*q=NULL,j,sum;
h*mm=NULL;
printf("輸入第一組參數:nm
n表示有多少個數據
m表示接下來m行的輸入參數pxy。 ");
scanf("%d%d",&n,&m);
q=(int*)malloc(sizeof(int)*n);//hanson--為初始數據分配單元
if(q==NULL){
printf("memoryallocateerror. ");
}
//加入判斷
mm=(h*)malloc(sizeof(h)*m);//hanson--為m行的輸入數據分配單元
//加入判斷
if(mm==NULL){
printf("memoryallocateerror. ");
}
for(i=0;i<n;i++){
printf("輸入第%d個數: ",i+1);
scanf("%d",&q[i]);
}
//debug
for(i=0;i<n;i++){
printf("%10d",q[i]);
if((i+1)%5==0){
printf(" ");
}
}
//debugend
printf(" 命令格式:pxy
p:1修改數據,x數據是y
2求xy之間的和
3求xy之間的最大值 ");
printf(" 共有%d條命令 ",m);
for(i=0;i<m;i++){
printf("輸入第%d條命令 ",i+1);
scanf("%d%d%d",&(mm[i].p),&(mm[i].x),&(mm[i].y));
}
for(i=0;i<m;i++)
{
sum=0;
switch(mm[i].p)//hanson--命令
{
case1:
q[mm[i].x-1]=mm[i].y;
break;
case2:
//sum清零==在這里清零==而不是上面
sum=0;//hanson
for(j=mm[i].x-1;j<=mm[i].y-1;j++)
sum+=q[j];
printf("%d ",sum);
break;
case3:
sum=q[mm[i].x-1];
for(j=mm[i].x-1;j<=mm[i].y-1;j++)
if(sum<q[j])
sum=q[j];
printf("%d ",sum);
break;
}
}
getchar();
getchar();
return0;
}
1、有幾個小問題,幫你修改了,你看下。有注釋
2、哪裡超時?==調試內容是什麼?
㈧ 我這個c語言為什麼說時間超時
程序運行時間與你的輸入數值有關。
如果你輸入
2 6
0 0
它就馬上結束了。
㈨ 為什麼這個C語言程序會運行超時,怎麼改進
今天的風好大,是冬天的號角吧。突然就明白了,這就是我們現在的處境。
冬天,埋在土裡的任性而韌性的種子,生命的脈動讓我們沸騰,可外表依然是一片的死寂。
小時候特別喜歡把人生比喻成四季,因為春天是充滿希望飽含生命力且躁動的,夏天是絢爛茂盛高昂的,秋天是博大寬厚穩重豐盈的,冬天看起來是安詳寂靜的。春夏秋冬,從出生到駕鶴西去?可總是感覺著不對。人生好像並不這么簡單得如一條直線,有的人出生時就春暖花開,而有的人出生時卻寒風料峭,但不管如何,我們都來自同一個本源。
古人說得好,「萬物土裡生」。所以說啊,我們的起初,都是從土裡開始的。人生的春花秋草,其實原本都隱含於冬天的土裡,冬,春,夏,秋,時序好像應該這樣排列。
只是我們選擇了不同的地點。那些亦步亦趨的乖孩子,是溫室里的花朵。我們卻選擇了原野與自然。
只是溫室里的冬天,感覺不到寒冷,依然像夏天,依然五彩斑斕而已。
冬天,寒風凜冽。
可是,你發現了嗎?
噓——!
聽到了嗎?泥土下的私語。即使寒風呼嘯,可是你聽,他們在溫吞地講述他們的理想,他們在沉默中展示自己的頑強。
突然,我就感到了一陣前所未有的激動,一種想要爆發的力量!
那些,都是積蓄已久的能量!
三特別喜歡梭羅的一段話:
「我步入叢林,因為我希望生活的有意義,我希望獲得深刻,汲取生命中所有的精華,把非生命的一切都擊潰。以免,讓我在生命終結時,發現自己從來沒有活過。」
是的,它反射出了我的心,冥冥之中,明明之中。
四春天就要來了!
可是不要忘記,那些比別人多付出的代價,不是彎路,不是歧途,更不是以後想要入就能「誤入」的。那些經歷,那些痛苦,都會變成風景,變成溫室花朵永遠也擁有不了的獨一無二的絕美的風景。
而那些風景,不是我們旅遊時帶不走的或者照下來的,那是生命的風景,就長在你身上!
五記住,春天就要來了,只是,現在還是冬天。
記住,只是冬天而已!
是誰說過,冬天來了,春天還會遠嗎