中南大學計算機復試題目

2013年計算機復試題

1001 水仙花數

#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:安全密碼

網絡上各類交易活動越來越普及,為了能夠安安心心地上網,經常需要設置一個安全的密碼。一般來說一個比較安全的密碼至少應該滿足下面兩個條件:
(1)密碼長度大于等于8。
(2)密碼中的字符應該來自下面“字符類別”中四組中的至少三組。
這四個字符類別分別為:
(1)大寫字母:A,B,C...Z;
(2)小寫字母:a,b,c...z;
(3)數字:0,1,2...9;
(4)特殊符號:~,!,@,#,$,%,^;
給你一個密碼,你的任務就是判斷它是不是一個安全的密碼。

#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;
                     //數字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: 最少錢幣數

作為A公司的職員,最盼望的日子就是每月的8號了,因為這一天是發工資的日子,養家糊口就靠它了。但是對于公司財務處的工作人員來說,這一天則是很忙碌的一天,財務處的小胡最近就在考慮一個問題:如果每個員工的工資額都知道,最少需要準備多少張人民幣,才能在給每位職員發工資的時候都不用老師找零呢?這里假設員工的工資都是正整數,單位元,人民幣一共有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) {//老師個數
         int sum=0;//總數
         for (int i = 0; i < n; i++) {
             int total = 0;
             int num;//每個老師的錢數
             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;//這里很容易出錯,錢幣1的數額不能安裝上邊的規律來,如2356,%2為0;但事實上6的組成是5+1,而不是3*2;
             //printf("%d 匹配結果為 :   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;
}



最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容