首页 > ACM题库 > HDU-杭电 > HDU 4716-A Computer Graphics Problem-字符串-[解题报告]HOJ
2015
09-17

HDU 4716-A Computer Graphics Problem-字符串-[解题报告]HOJ

A Computer Graphics Problem

问题描述 :

In this problem we talk about the study of Computer Graphics. Of course, this is very, very hard.
We have designed a new mobile phone, your task is to write a interface to display battery powers.
Here we use ‘.’ as empty grids.
When the battery is empty, the interface will look like this:
*------------*
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
*------------*

When the battery is 60% full, the interface will look like this:

*------------*
|............|
|............|
|............|
|............|
|------------|
|------------|
|------------|
|------------|
|------------|
|------------|
*------------*

Each line there are 14 characters.
Given the battery power the mobile phone left, say x%, your task is to output the corresponding interface. Here x will always be a multiple of 10, and never exceeds 100.

输入:

The first line has a number T (T < 10) , indicating the number of test cases.
For each test case there is a single line with a number x. (0 < x < 100, x is a multiple of 10)

输出:

The first line has a number T (T < 10) , indicating the number of test cases.
For each test case there is a single line with a number x. (0 < x < 100, x is a multiple of 10)

样例输入:

2
0
60

样例输出:

Case #1:
*------------*
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
|............|
*------------*
Case #2:
*------------*
|............|
|............|
|............|
|............|
|------------|
|------------|
|------------|
|------------|
|------------|
|------------|
*------------*

字符串处理  

AC代码:

#include <cstdio>
#include <cstring>


int main() {
    int t,flag = 0;
    scanf("%d", &t);
    while(t--) {
        int x;
        scanf("%d", &x);
        printf("Case #%d:\n", ++flag);
        if(x==0) {
            puts("*------------*");
            for(int i=0; i<10; i++)
                puts("|............|");
            puts("*------------*");
        }
        else {
            int p = x/10;
            puts("*------------*");
            for(int i=0; i<(10-p); i++) {
                puts("|............|");
            }
            for(int i=0; i<p; i++) {
                puts("|------------|");
            }
            puts("*------------*");
        }
    }
    return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

参考:http://blog.csdn.net/chuck_0430/article/details/11578115