演算法競賽入門經典(第一版)第三章習題

2021-06-22 20:15:13 字數 2963 閱讀 2432

我自己也是個演算法初學者,以下都是自己寫的希望能幫助到有需要的朋友!

coding by losss

3.1任務1

#include int main();

int b[101]=;

int i,j;

int max=-1;

int flag=0;

while(scanf("%d",&i)==1)

//求出個數最多的項

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

} //判斷是否有相同多個數的項

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

//迴圈輸出

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

return 0;

}

任務2

#include int main();//第一行表示分數,第二行表示出現的次數

float b[101]=;

int i=0,j=0,k;

float max=-1;

float flag=0;

int flag1=0;

float temp;

//將資料錄入二維陣列中

while(scanf("%f",&temp)==1) }

//判斷是否有相同多個數的項

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

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

return 0;

}

3-2

#include int main()

sum++;

while((n=getchar())!=eof)

n=getchar();

if(n!=' ')

sum++;

} sum++;

} printf("count=%d\n",count);

printf("sum=%d\n",sum);

sum=(sum-count)/count;

printf("%d ",sum);

return 0;

}

3-3

#include#include#includeint main() 

else

} //獲取第二個數

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

if(flag==1)

b[k++]=a[i];

}

//相乘並輸出

num=atoi(a)*atoi(b);

num=num%1000;

printf("%d\n",num);

return 0;

}

3-4

#include#include#includeint main() 

else

} //獲取第乙個數

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

//獲取第二個數

k=0;

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

if(flag==1)

d[k++]=a[i];

}// printf("%d\n",atoi(d));

// printf("%d\n",atoi(b));

//計算

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

//輸出

printf("%d\n",num);

return 0;

}

3-5

#includeint main();

int i,j,x=0,y=0;

int count=0;

scanf("%d",&n);

//先給二維陣列賦值

for(i=0;i=0;j--)

} }printf("\n");

//列印原陣列

for(i=0;iint main();

int i=0;//迴圈變數

int temp=11;

int count=0;

scanf("%d",&b);

scanf("%d",&n);

while(n>=b)

a[i]=n;

//printf("%d ",count);

for(i=count;i>=0;i--)

printf("%d",a[i]);

printf("\n");

return 0;

}

3-7
#include int main();

int b;

int n;

int count=0;

int sum=0;

int i=0;

scanf("%d",&b);

scanf("%d",&n);

while(n>0)

printf("%d\n",count);

for(i=0;i3-8//仔細看還是有問題的比如我輸入t12,至於怎樣規避這種問題就留給機智的你了

#include int main();

int word=0,word1=0;//字元的ascii碼

int num;

int flag=0,flag1=0;

int count=0;//記錄字元個數

//將單個字元放入陣列中

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

else

} printf("%d\n",count);

/* for(i=0;i<50;i++)

*/ for(i=0;i96)

if(flag1==1)

if(flag1==0)

num--;

}}else

if(flag==1)

}printf("\n");

return 0;

}

演算法競賽入門經典 第三章

最長回文子串 當字串的長度比較小的時候 attention 最好把陣列開在外面,如果開在main外面並且陣列太大,就會異常退出的。最長回文子串 include include include define maxn 5000 10 char buf maxn s maxn int main prin...

《演算法競賽入門經典》第三章習題3 4

題目名稱 計算器 題目描述 編寫程式,讀入一行恰好包含乙個加號 減號或乘號的表示式,輸出它的值。這個運算子保證是二元運算子,且兩個運算子均不超過100的非負整數。運算子和運算子可以緊挨著,也可以用乙個或多個空格 tab隔開。行首末尾均可以有空格。樣例輸入 1 1 樣例輸出 2 樣例輸入 2 5 樣例...

演算法競賽入門經典第三章 學習總結

1.scanf s a 不加 讀入乙個字串,不能讀入空格,tab,回車。gets s 可以識別空格,tab,回車。以上的函式均在末尾加 0 include include includeusing namespace std int main 2.char strchr const char s,c...