2013年計(jì)算機(jī)復(fù)試題
1001 水仙花數(shù)
#pragma warning(disable:4996)
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main(){
int a, b;
while (scanf("%d%d", &a, &b) == 2) {
int first = 1;
int i;
for ( i = a; i <= b; i++) {
int m1, m2, m3;
m1 = i % 10;
m2 = i / 10 % 10;
m3 = i / 100;
if (i == m1 * m1 * m1 + m2 * m2 * m2 + m3 * m3 * m3) {
if (first == 1) {
printf("%d", i);
first = 0;
}
else {
printf(" %d", i);
}
}
}
if (first == 0) {
printf("\n");
}
if (first == 1) {
printf("no\n");
}
}
return 0;
}
1002:安全密碼
網(wǎng)絡(luò)上各類(lèi)交易活動(dòng)越來(lái)越普及,為了能夠安安心心地上網(wǎng),經(jīng)常需要設(shè)置一個(gè)安全的密碼。一般來(lái)說(shuō)一個(gè)比較安全的密碼至少應(yīng)該滿(mǎn)足下面兩個(gè)條件:
(1)密碼長(zhǎng)度大于等于8。
(2)密碼中的字符應(yīng)該來(lái)自下面“字符類(lèi)別”中四組中的至少三組。
這四個(gè)字符類(lèi)別分別為:
(1)大寫(xiě)字母:A,B,C...Z;
(2)小寫(xiě)字母:a,b,c...z;
(3)數(shù)字:0,1,2...9;
(4)特殊符號(hào):~,!,@,#,$,%,^;
給你一個(gè)密碼,你的任務(wù)就是判斷它是不是一個(gè)安全的密碼。
#pragma warning(disable:4996)
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define max 100
int main(){
char s[max];
while (scanf("%s", s) !=EOF) {
if (strlen(s) < 8) {
printf("NO\n");
}
else {
int count1=0, count2=0, count3=0, count4=0;
for (int i = 0; i <= strlen(s) - 1; i++) {
if ('0'<=s[i]&&s[i]<='9') {
count1 = 1;
//數(shù)字ASCII判斷
}
if ('A' <= s[i]&&s[i] <= 'Z') {
count2 = 1;
}
if ('a' <= s[i]&&s[i] <= 'z') {
count3 = 1;
}
if ((s[i] == '~') ||( s[i] == '!' )||( s[i] == '@') ||( s[i] == '#' )||( s[i] == '$' )|| (s[i] == '%' )||( s[i] == '^')) {
count4 = 1;
}
}
int m = 0;
m = count1 + count2 + count3 + count4;
if (m >= 3) {
printf("YES\n");
}
else {
printf("NO\n");
}
}
}
return 0;
}
1003: 最少錢(qián)幣數(shù)
作為A公司的職員,最盼望的日子就是每月的8號(hào)了,因?yàn)檫@一天是發(fā)工資的日子,養(yǎng)家糊口就靠它了。但是對(duì)于公司財(cái)務(wù)處的工作人員來(lái)說(shuō),這一天則是很忙碌的一天,財(cái)務(wù)處的小胡最近就在考慮一個(gè)問(wèn)題:如果每個(gè)員工的工資額都知道,最少需要準(zhǔn)備多少?gòu)埲嗣駧?,才能在給每位職員發(fā)工資的時(shí)候都不用老師找零呢?這里假設(shè)員工的工資都是正整數(shù),單位元,人民幣一共有100元、50元、10元、5元、2元和1元六種。
#pragma warning(disable:4996)
#include<stdio.h>
#include<string.h>
#include<ctype.h>
#define max 102
int main(){
int n;
while (scanf("%d", &n) != EOF) {//老師個(gè)數(shù)
int sum=0;//總數(shù)
for (int i = 0; i < n; i++) {
int total = 0;
int num;//每個(gè)老師的錢(qián)數(shù)
scanf("%d", &num);
//人民幣一共有100元、50元、10元、5元、2元和1元六種
int num100, num50, num10, num5, num2, num1;
num100 = num / 100;
num50 = (num % 100) / 50;
num10 = (num % 50) / 10;
num5 = (num % 10 )/ 5;
num2 = (num % 5) / 2;
num1 = (num%5)%2;//這里很容易出錯(cuò),錢(qián)幣1的數(shù)額不能安裝上邊的規(guī)律來(lái),如2356,%2為0;但事實(shí)上6的組成是5+1,而不是3*2;
//printf("%d 匹配結(jié)果為 : 100: %d, 50: %d, 10: %d, 5: %d, 2: %d, 1: %d...",num, num100, num50, num10, num5, num2, num1);
total = num100 + num50 + num10 + num2 + num1+num5;
sum = sum + total;
}
printf("%d\n", sum);
}
return 0;
}