第二次上機

2021-10-11 18:30:34 字數 3662 閱讀 2742

題目 1、已知乙個矩陣,儲存在乙個二維陣列中。將矩陣中和值為最大的那一行

元素與首行對換。

利用陣列進行操作

#include

#include

using

namespace std;

intmain()

;//乙個4*4的矩陣

cout <<

"請輸入:"

; vector<

int>

s(n)

;//儲存和

int m;

//和值最大的行

for(

int i =

0; i <

4; i++

) s[i]

= sum;

}int max = s[0]

;for

(int i =

0; i <

4; i++)}

for(

int i =

0; i <

4; i++

) cout << endl;}if

(i == m)

cout << endl;}if

(i !=

0&& i != m)

cout << endl;}}

return0;

}

利用容器進行操作

#include

#include

using

namespace std;

intmain()

}for

(int i =

0; i < r; i++)}

vector<

int>

o(c)

;for

(int i =

0; i < c; i++

)for

(int i =

0; i < r; i++

) cout << endl;

}return0;

}

題目 2、已知乙個方陣,儲存在乙個二維陣列中。用指標訪問陣列元素的方法,

計算方陣中上三角所有元素的和、下三角所有元素的和,以及主對角線上的所有

元素和。

#include

using

namespace std;

intmain()

}int fs, fx, dj;

//所求三個和

int(

*p)[4]

= a;

fs =

*p[0]+

*(p[0]

+1)+

*(p[0]

+2)+

*(p[0]

+3)+

*p[1]+

*(p[1]

+1)+

*(p[1]

+2)+

*p[2]+

*(p[2]

+1)+

*p[3];

fx =

*p[0]+

*p[1]+

*(p[1]

+1)+

*p[2]+

*(p[2]

+1)+

*(p[2]

+2)+

*p[3]+

*(p[3]

+1)+

*(p[3]

+2)+

*(p[3+

]+3)

; dj =

*p[0]+

*(p[0]

+3)+

*(p[1]

+1)+

*(p[1]

+2)+

*(p[2]

+1)+

*(p[2]

+2)+

*p[3]+

*(p[3]

+3);

cout <<

"上三角所有元素的和"

<< fs << endl <<

"下三角所有元素的和"

<< fx << endl <<"主對角線上的所有

元素和"<< dj;

return0;

}

利用容器

#include

#include

using

namespace std;

intmain()

} sum1 =0;

for(n =

0, m =

0; n < r && m < r;

++n,

++m)

}for

(i =

0, sum3 =

0; i < r;

++i)

sum2 = sum4 - sum1 + sum3;

cout <<

"上三角和:"

<< sum1 << endl;

cout <<

"下三角和:"

<< sum2 << endl;

cout <<

"主對角線和:"

<< sum3 << endl;

return0;

}

題目 3、判斷字串是否是「回文」。所謂「回文」是指順讀和逆讀都是一樣的串,

例如串 12321 和 madam 都是回文。

要求:重新定義回文為:慮去所有非字母字元(包括空格)後,不考慮字母的

大小寫,從左向右和從右向左讀都相同的詞或短語。如「madam,i』m adam」和

「golf,no sir, prefer prison flog!」。改寫上面程式,用string來代替字元陣列來完

成相同操作。

#include

#include

using

namespace std;

intmain()

elseif(

(carray[i]

<=90)

&&(carray[i]

>=65)

)}int len = c1.

size()

;for

(int i =

0; i < len /

2; i++)}

if(is_palindrome)

cout <<

"the string is a palindrome"

<< endl;

else

cout <<

"the string is not a palindrome"

<< endl;

return0;

}

#include

#include

using

namespace std;

intmain()

for(a =

0; a < n -1;

++a)

if(vi[i]==1

)}if(i >= n)

while

(vi[i]==0

)}if(vi[i]==1

)}for(c =

0; c < n;

++c)

}return0;

}

第二次c 上機

檔名稱 求三個整數中的最大數 作 者 範俊濤 完成日期 2016 年3 月10 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 任意輸入三個整數 問題描述 略 程式輸出 最大的整數 問題分析 略 演算法設計 多個if else語句應用 初步了解了多個if else 語句的使用法,中間...

第二次上機實驗

檔名稱 ex1 2.cpp 作 者 莫洋 完成日期 2016 年 3 月 14 日 版 本 號 v1.0 對任務及求解方法的描述部分 輸入描述 無 問題描述 運用函式 程式輸出 略 問題分析 略 演算法設計 略 include includeint ispalindrome int int reve...

第二次上機作業

已知乙個矩陣,儲存在乙個二維陣列中。將矩陣中和值為最大的那一行 元素與首行對換。include using namespace std void swap int a,int b intmain int max 0,t 0 for int i 0 i 3 i int sum 0 for int j ...