国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

[Coursera 計算導論與C語言基礎] 第十周作業(上)

2019-11-08 02:28:09
字體:
來源:轉載
供稿:網友

最近在利用空閑時間跟Coursera上北京大學的程序設計與算法專項課程,一共7門課程,這是第一門課計算導論與C語言基礎。

編程題#1:求字母的個數

來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)注意: 總時間限制: 1000ms 內存限制: 65536kB描述在一個字符串中找出元音字母a,e,i,o,u出現的次數。輸入輸入一行字符串(字符串中可能有空格,請用cin.getline(s,counts)方法把一行字符串輸入到字符數組s中,其中counts是s的最大長度,這道題里面可以直接寫80。),字符串長度小于80個字符。輸出

輸出一行,依次輸出a,e,i,o,u在輸入字符串中出現的次數,整數之間用空格分隔。

//第十周//編程題#1:求字母的個數#include <iostream>using namespace std;int main(){	char s[80] = { 0 };	int num_a, num_e, num_i, num_o, num_u;	num_a=num_e= num_i= num_o= num_u=0;	cin.getline(s, 80);	for (int i = 0; i < 80; i++)	{		if (s[i] == 'a') num_a++;		if (s[i] == 'e') num_e++;		if (s[i] == 'i') num_i++;		if (s[i] == 'o') num_o++;		if (s[i] == 'u') num_u++;	}	cout << num_a << ' ' << num_e << ' '<<num_i << ' '<<num_o << ' '<<num_u << endl;	return 0;}編程題#2:忽略大小寫比較字符串大小來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)注意: 總時間限制: 1000ms 內存限制: 65536kB描述一般我們用strcmp可比較兩個字符串的大小,比較方法為對兩個字符串從前往后逐個字符相比較(按ASCII碼值大小比較),直到出現不同的字符或遇到'/0'為止。如果全部字符都相同,則認為相同;如果出現不相同的字符,則以第一個不相同的字符的比較結果為準。但在有些時候,我們比較字符串的大小時,希望忽略字母的大小,例如"Hello"和"hello"在忽略字母大小寫時是相等的。請寫一個程序,實現對兩個字符串進行忽略字母大小寫的大小比較。輸入輸入為兩行,每行一個字符串,共兩個字符串。(請用cin.getline(s,80)錄入每行字符串)(每個字符串長度都小于80)輸出如果第一個字符串比第二個字符串小,輸出一個字符"<"如果第一個字符串比第二個字符串大,輸出一個字符">"如果兩個字符串相等,輸出一個字符"="

//編程題#2:忽略大小寫比較字符串大小//題意是忽略全部的大小寫,即同一化成小寫或統一化成大寫來比較#include <iostream>using namespace std;int main(){	char s1[80] = { 0 };	char s2[80] = { 0 };	cin.getline(s1,80);	cin.getline(s2, 80);	char result = 0; //用0表示等于,-1表示s1小于s2,1表示s1大于s2	for (int i = 0;i<80;i++)	{		//先同一將大寫化成小寫		if (s1[i] >= 'A' && s1[i] <= 'Z') s1[i] += ('a' - 'A');		if (s2[i] >= 'A' && s2[i] <= 'Z') s2[i] += ('a' - 'A');		if (s1[i] == s2[i])		{			result = '=';			continue;		}		else if (s1[i]>s2[i])		{			result = '>';			break;		}		else		{			result = '<';			break;		}	}	cout << result << endl;	return 0;}

編程題#3:最長單詞2來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)注意: 總時間限制: 1000ms 內存限制: 65536kB描述一個以'.'結尾的簡單英文句子,單詞之間用空格分隔,沒有縮寫形式和其它特殊形式輸入一個以'.'結尾的簡單英文句子(長度不超過500),單詞之間用空格分隔,沒有縮寫形式和其它特殊形式輸出該句子中最長的單詞。如果多于一個,則輸出第一個

這一題自己沒想出來,參考的網上答案才想出來,注意一下

//編程題#3:最長單詞2#include <iostream>using namespace std;int main(){	char s[500] = { 0 };	cin.getline(s, 500);	int count = 0;       //count用來記錄單詞的長度	int count_max = 0;   //count_max用來記錄最長單詞的長度	int end = 0;   	int i = 0;//end用來記錄最長單詞的末尾位置	while (i<500)    	{		if (s[i] != ' '&& s[i] != '.' && s[i] != '/0')		{			count++;			if (count > count_max)			{				count_max = count;				end = i;			}			i++;		}		if (s[i] == ' ')		{			count = 0;			i++;		}		if (s[i] == '.' || s[i] == '/0')		{			break;		}	}	for (int i = end-count_max+1; i < end+1; i++)	{		cout << s[i];	}	cout << endl;}編程題#4:矩陣交換行來源: POJ (Coursera聲明:在POJ上完成的習題將不會計入Coursera的最后成績。)注意: 總時間限制: 1000ms 內存限制: 65536kB描述在main函數中, 生成一個5*5的矩陣,輸入矩陣數據,并輸入n,m的值。判斷n,m是否在數組范圍內,如果不在,則輸出error;如果在范圍內,則將n行和m行交換,輸出交換n,m后的新矩陣。輸入5*5矩陣的數據,以及n和m的值。輸出如果不可交換,則輸出error如果可交換,則輸出新矩陣

提示輸出error格式如下:cout<< "error" << endl;輸出矩陣格式如下:cout<< setw(4)<< num;輸出矩陣一行后要輸出cout<< endl;setw是iomanip庫里定義的格式控制操作符,需要#include <iomanip> 包含這個頭文件。

這題需要注意的是:1.二維數組作為函數形參的寫法;2.cout的格式化輸出。

1.一維數組作為函數形參:

void add(int arr[10]) {}

void add(int arr[]) {}

void add(int* arr) {}

二維數組作為函數形參:

void PRint(int (*matrix)[10]) {}    //*matrix兩端的括號必不可少。指向含有10個整數的數組的指針

void print(int matrix[][10]) {}     //等價定義

錯誤:

void print(int *matrix[10]) {}      //10個指針構成的數組

//編程題#4:矩陣交換行#include <iostream>using namespace std;#include <iomanip>bool change(int a[5][5], int n, int m){	bool flag = true;	if ((n >= 0 && n <= 4) && (m >= 0 && m <= 4))	{		int  line_change[5] = { 0 };		for (int i = 0; i < 5;i++) line_change[i] = a[n][i];		for (int i = 0; i < 5; i++) a[n][i] = a[m][i];		for (int i = 0; i < 5; i++) a[m][i] = line_change[i];	}	else	{		flag= false;	}	return flag;}int main(){	int matrix[5][5] = { 0 };	int m, n;	m = n = 0;	for (int i = 0; i < 5; i++)		for (int j = 0; j < 5; j++)		{		cin >> matrix[i][j];		}	cin >> n >> m;	bool flag = change(matrix, n, m);	if (flag)	{		for (int i = 0; i < 5; i++)		{			for (int j = 0; j < 5; j++)			{				cout << setw(4) << matrix[i][j];			}			cout << endl;		}	}	else	{		cout << "error" << endl;	}	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 钟山县| 四平市| 江川县| 平原县| 永登县| 双牌县| 牡丹江市| 香港| 沅陵县| 济阳县| 嘉鱼县| 博乐市| 科技| 盖州市| 辽阳市| 华坪县| 汶川县| 苍梧县| 修水县| 东丰县| 谷城县| 务川| 苗栗市| 昌图县| 临澧县| 天水市| 深泽县| 当涂县| 乌鲁木齐县| 房山区| 竹北市| 宣汉县| 长顺县| 遂溪县| 武清区| 南靖县| 天柱县| 沁源县| 衡东县| 绵竹市| 特克斯县|