第七周 字串練習題

2021-08-22 08:51:45 字數 3408 閱讀 7721

例題1:

//輸入一行字元,統計出其中數字字元的個數。

////輸入

//一行字串,總長度不超過255。

//輸出

//輸出為1行,輸出字串裡面數字字元的個數。

//樣例輸入

//peking university is set up at 1898.

//樣例輸出

//4#include

#include

#include

#include

#include

#include

using namespace std; 

int main()

printf("%d",k);

return 0;

} 例題2:

//給定乙個只包含小寫字母的字串,請你找到第乙個僅出現一次的字元。如果沒有,輸出no。

////輸入

//乙個字串,長度小於100000。

//輸出

//輸出第乙個僅出現一次的字元,若沒有則輸出no。

//樣例輸入

//abcabd

//樣例輸出

//c#include

#include

#include

#include

#include

#include

using namespace std;

int main()

for(i=0;i

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

(大小寫敏感)中。

//輸出

//輸出包括n行,每一行對應乙個勝利者(player1或者player2),或者遊戲出現平局,則輸出tie。

//樣例輸入

//3//rock scissors

//***** *****

//rock *****

//樣例輸出

//player1

//tie

//player2

//提示

//rock是石頭,scissors是剪刀,*****是布

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

else

index=0;}}

cout這裡前面又一次**出錯,原因在於else裡面的語句沒有將b[index]=0;結果如圖:

之所以出現亂碼是因為在定義b的時候也沒有初始化賦值。

例題5:

//在情報傳遞過程中,為了防止情報被截獲,往往需要對情報用一定的方式加密,簡單的加密演算法雖然不足以完全避免情報被破譯,但仍然能防止情報被輕易的識別。我們給出一種最簡的的加密方法,對給定的乙個字串,把其中從a-y,a-y的字母用其後繼字母替代,把z和z用a和a替代,其他非字母字元不變,則可得到乙個簡單的加密字串。

////輸入

//輸入一行,包含乙個字串,長度小於80個字元。

//輸出

//輸出每行字串的加密字串。

//樣例輸入

//hello! how are you!

//樣例輸出

//ifmmp! ipx bsf zpv!

#include

#include

#include

#include

#include

#include

using namespace std;

int main()

else

s[i]=s[i]+1;}}

cout例題6:

給定n行m列的影象各畫素點的灰度值,要求用如下方法對其進行模糊化處理:

1. 四周最外側的畫素點灰度值不變;

2. 中間各畫素點新灰度值為該畫素點及其上下左右相鄰四個畫素點原灰度值的平均(捨入到最接近的整數)。

輸入第一行包含兩個整數n和m,表示影象包含畫素點的行數和列數。1 <= n <= 100,1 <= m <= 100。

接下來n行,每行m個整數,表示影象的每個畫素點灰度。相鄰兩個整數之間用單個空格隔開,每個元素均在0~255之間。

輸出n行,每行m個整數,為模糊處理後的影象。相鄰兩個整數之間用單個空格隔開。

樣例輸入

4 5

100 0 100 0 50

50 100 200 0 0

50 50 100 100 200

100 100 50 50 100

樣例輸出

100 0 100 0 50

50 80 100 60 0

50 80 100 90 200

100 100 50 50 100

下面是我原本的**,能夠變異並卻執行,但是無法得到對應的輸出,原因出在那個題目要求「(捨入到最接近的整數)」以及直接改變a[i][j]賦值後導致後面的a值均值出錯,使用過一些函式後無解,故這一步確實不知道應該如何操作,所以參考其他**得到正確結果:

#include

#include

#include

#include

#include

using namespace std;

int main()

}for(i=0;i例題7:

//輸入乙個n行m列的矩陣a,輸出它的轉置at。

////輸入

//第一行包含兩個整數n和m,表示矩陣a的行數和列數。1 <= n <= 100,1 <= m <= 100。

//接下來n行,每行m個整數,表示矩陣a的元素。相鄰兩個整數之間用單個空格隔開,每個元素均在1~1000之間。

//輸出

//m行,每行n個整數,為矩陣a的轉置。相鄰兩個整數之間用單個空格隔開。

//樣例輸入

//3 3

//1 2 3

//4 5 6

//7 8 9

//樣例輸出

//1 4 7

//2 5 8

//3 6 9

#include

#include

#include

#include

#include

using namespace std;

const int mx = 100;

int a[mx][mx];

int b[mx][mx];

int main()

{int n,m,i,j;

scanf("%d %d",&n,&m);

for(i=0;i字串的讀入總結:

練習題3 字串解碼

原題目 給定乙個經過編碼的字串,返回它解碼後的字串。編碼規則為 k encoded string 表示其中方括號內部的 encoded string 正好重複 k 次。注意 k 保證為正整數。你可以認為輸入字串總是有效的 輸入字串中沒有額外的空格,且輸入的方括號總是符合格式要求的。此外,你可以認為原...

字串練習題

1.請編寫乙個c函式,該函式可以實現將乙個整數轉為任意進製的字串輸出 include include char ch 16 函式宣告 將整數轉換為任意進製的字串 charchar int2sys int num,int n,int move bit int main else if n 8 else...

字串練習題

變數名是否合法 1.變數名只能由字母 數字 下劃線組成 2.只能以字母或下劃線開頭 源 while true s input 變數名 if s exit print 歡迎下次使用 break if s 0 isalpha or s 0 for i in s 1 if not i.isalnum or...