Codeup字符處理

字符處理

1008: ASCII碼

http://codeup.cn/problem.php?id=1008

題目描述
相信大家一定都知道大名鼎鼎的ASCII碼,這次給你的任務是輸入數字(表示ASCII碼),輸出相對應的字符信息。
輸入
第一行爲一個整數T1<=T<=1000)。
接下來包括T個正整數,由空白符分割。(空白符包括空格、換行、製表符)
這些整數不會小於32。
輸出
在一行內輸出相應的字符信息。(注意不要輸出任何多餘的字符)
樣例輸入 Copy
13
72 101 108 108 111 44
32 119 111 114 108 100 33
樣例輸出	Copy
Hello, world!
//1008: ASCII碼
#include <iostream>
#include <cmath>
#include <cstdio>
#include <cstring>
using namespace std;

int main(){
	int T;
	cin>>T;
	int num[1010];
	string str[1010];
	int i;
	for(i=0;i<T;i++){
		cin>>num[i];//輸入ASCII數字形式
	}
	for(i=0;i<T;i++){
		str[i] = num[i];//將ASCII碼數字形式轉換爲字符串形式
		cout<<str[i];//輸出字符串
	}
	return 0;
}

1009: 財務管理

題目描述
小明畢業一年了,並且找到了一份好工作。這一年裏他賺了很多錢,現在他想知道他這一年裏的平均月薪是多少,請你寫一個程序幫他計算。
輸入
輸入包括12行。第i行爲第i個月的實際月薪。(i=1,2,3...)
輸出
輸出小明的平均月薪,保留兩位小數,並且最前面輸出一個¥符號。
樣例輸入 Copy
100.00 
489.12 
12454.12 
1234.10 
823.05 
109.20 
5.27 
1542.25 
839.18 
83.99 
1295.01 
1.75
//1009: 財務管理
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main(){
	double sum = 0,ave = 0,money_i;
	for(int i=0;i < 12;i++){
		cin>>money_i;
		sum += money_i;
	}
	ave = sum / 12;
	cout<<"¥";
	printf("%.2lf",ave);//注意保留兩位小數,格式化輸出
	return 0;
}

1010: 平均績點

題目描述
每門課的成績分爲ABCDF五個等級,爲了計算平均績點,規定ABCDF分別代表4分、3分、2分、1分、0分。
輸入
有多組測試樣例。每組輸入數據佔一行,由一個或多個大寫字母組成,字母之間由空格分隔。
輸出
每組輸出結果佔一行。如果輸入的大寫字母都在集合{A,B,C,D,F}中,則輸出對應的平均績點,結果保留兩位小數。否則,輸出“Unknown”。
樣例輸入 Copy
A B C D F
B F F C C A
D C E F
樣例輸出	Copy
2.00
1.83
Unknown
//1010: 平均績點
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;

int main(){
	double sum;
	int num;
	char cha[105];
	while(gets(cha)){//注意gets()用法,接收所有的字符,包括空格 
		sum=0;
		num = 0;
		int len = strlen(cha);
		bool flag = 1;
		for(int i=0;i < len;i++){
			switch(cha[i]){
				case 'A':
					sum += 4;
					break;
				case 'B':
					sum += 3;
					break;
				case 'C':
					sum += 2;
					break;
				case 'D':
					sum += 1;
					break;
				case 'F':
					sum += 0;
					break;
				default:
					if(cha[i] == ' ')
						break;
					else{//除了空格其餘非法字符 
						flag=0;break;
					}
			}
		}
		num = (len+1)/2;//gets()包括字符串中的空字符,+1是換行符,所以成績爲一半 
		if(flag){
			printf("%.2lf\n",sum/num);
		}
		else
			cout<<"Unknown"<<endl;
	}
	return 0;
}



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章