uva1605 - Building for UN 入门经典II 第八章例题8-2

来源:互联网 发布:苹果5是否支持4g网络 编辑:程序博客网 时间:2024/06/07 04:58

题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=825&page=show_problem&problem=4480


分析:按照刘汝佳的思路写的,一共有俩层,每层n行n列,第一层每行相同,第二层每列相同。


举例说明:下面是4个国家 、5个国家的情况。



自己敲的:

#include<cstdio>#include<iostream>using namespace std;int main(){    int n;    while(cin >> n){        printf("2 %d %d\n",n,n);        for(int i=0;i<n;i++){            for(int j=0;j<n;j++){                if(i<26) printf("%c",'a'+i);                else printf("%c",'A'+i-26);            }            printf("\n");        }        cout << endl;        for(int i=0;i<n;i++){            for(int j=0;j<n;j++){                if(j<26) printf("%c",'a'+j);                else printf("%c",'A'+j-26);            }            printf("\n");        }    }}


汝佳提供的代码:

// UVa1605 Building for UN// Rujia Liu#include<cstdio>using namespace std;char country(int i) {  if(i < 26) return 'A' + i;  return 'a' + i - 26;}int main() {  int n;  while(scanf("%d", &n) == 1) {    printf("2 %d %d\n", n, n);    for(int i = 0; i < n; i++) {      for(int j = 0; j < n; j++) printf("%c", country(i));      printf("\n");    }    printf("\n");    for(int i = 0; i < n; i++) {      for(int j = 0; j < n; j++) printf("%c", country(j));      printf("\n");    }  }  return 0;}


0 0
原创粉丝点击