【字符串】贝贝的图形

问题 D: 【字符串】贝贝的图形

时间限制: 1 Sec  内存限制: 128 MB
提交: 16  解决: 6
[提交] [状态] [讨论版] [命题人:外部导入]
题目描述
贝贝最近玩起了字符游戏,规则是这样的:读入四行字符串,其中的字母都是大写的,乐乐想打印一个柱状图显示每个大写字母的频率。你能帮助他吗?

 

输入
 输入共有4行:每行为一串字符,不超过72个字符。

 

输出
与样例的格式保持严格一致。

 

样例输入
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!

 

样例输出
                            *
                            *
        *                   *
        *                   *     *   *
        *                   *     *   *
*       *     *             *     *   *
*       *     * *     * *   *     * * *
*       *   * * *     * *   * *   * * * *
*     * * * * * *     * * * * *   * * * *     * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

 

提示

1.输出的相邻字符间有一个空格。
2.最后一行的26个大写字母每次必须输出。
3.大写字母A所在的第一列前没有空格。

 1 #include <iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 using namespace std;
 6 char s[4][100];
 7 bool isCaps(char ch)
 8 {
 9     if(ch>='A'&&ch<='Z')
10         return true;
11     else
12         return false;
13 }
14 int cnt[26];
15 int main()
16 {
17     for(int i=0;i<4;i++)
18         gets(s[i]);
19     for(int i=0;i<4;i++)
20     {
21         for(int j=0;s[i][j]!='\0';j++)
22         {
23             if(!isCaps(s[i][j]))    continue;
24             cnt[s[i][j]-'A']++;
25         }
26     }
27     int maxn=-1;
28     for(int i=0;i<26;i++)
29     {
30         maxn=max(maxn,cnt[i]);
31     }
32     for(int i=0;i<maxn;i++)
33     {
34         for(int j=0;j<51;j++)
35         {
36  
37             if(j%2!=0)
38             {
39                 cout<<" ";
40                 continue;
41             }
42             if(i+cnt[j/2]<maxn)
43             {
44                 cout<<" ";
45                 continue;
46             }
47             cout<<"*";
48         }
49             cout<<endl;
50     }
51     for(int i=0;i<51;i++)
52     {
53         if(i%2!=0)  cout<<" ";
54         else
55             cout<<char(i/2+65);
56     }
57     cout<<endl;
58     return 0;
59 }
View Code

 

转载于:https://www.cnblogs.com/scott527407973/p/9314619.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 如果你想从字符串进入图形化界面,你可以使用一些编程语言或框架来实现。其中,一些流行的选项包括: 1. Python:Python有许多GUI工具包可供选择,例如Tkinter、PyQt和wxPython。你可以使用这些工具包中的任何一个来创建图形化界面。 2. Java:Java也有许多GUI工具包可供选择,例如Swing、JavaFX和AWT。同样,你可以使用这些工具包中的任何一个来创建图形化界面。 3. C++:C++也有一些GUI框架可供选择,例如Qt和wxWidgets。你可以使用这些框架中的任何一个来创建图形化界面。 无论你选择哪种编程语言或框架,你需要学习如何使用它们来创建图形化界面。这可能需要一些时间和精力,但是一旦你掌握了这些技能,你就可以创建自己的图形化界面了。 ### 回答2: 如果从字符串进入图形化界面,意味着由原始的命令行界面转变为更具可视化的用户界面。这种转变主要是为了提供更好的用户体验和交互性。 首先,从字符串进入图形化界面可以更直观地展示信息和数据。传统的命令行界面主要通过文字和命令来进行交互,对于非技术人员来说可能不太友好。而图形化界面可以通过图标、按钮、菜单等更直观的方式来展示信息和进行操作,提高了用户的理解和使用效率。 其次,图形化界面提供了更多的功能和操作选项。相对于字符串界面的有限命令和选项,图形化界面可以展示更多的功能和操作选项,丰富了用户的选择和体验。用户可以通过简单的鼠标点击来完成复杂的操作,而不需要记忆和输入特定的命令。 此外,图形化界面还可以提供更丰富的交互性和可视化效果。用户可以通过拖拽、放大缩小、拖动等操作来与界面进行互动,实现更直观的交互效果。同时,图形化界面还可以通过图表、图像等方式来展示数据,使信息更加生动鲜活。 总结来说,从字符串进入图形化界面可以为用户带来更好的体验和可视化效果,提供更多的功能和操作选项,提高用户的理解和使用效率。这种转变可以满足不同用户的需求,促进软件和系统的普及和使用。 ### 回答3: 如果从字符串进入图形化界面,即从命令行界面转换到图形界面的过程,可以通过以下几个步骤实现。 首先,需要选择合适的图形化界面工具或框架,例如常见的GUI工具包括Tkinter、Qt、wxPython等。根据具体需求和开发技术选择合适的工具。 接下来,需要将原有的命令行程序中的代码进行修改和调整,以适应图形化界面的需求。通常,命令行程序的代码以处理逻辑和业务为主,而图形界面则需要添加界面元素、响应用户交互等代码。 然后,需要根据图形化界面的布局设计,添加相应的界面元素,例如按钮、文本框、标签等。这些界面元素可以通过GUI工具包提供的API进行创建和添加。 在界面元素添加完毕后,还需要为这些元素绑定相应的事件处理函数,以响应用户的操作。例如,为按钮添加点击事件处理函数,为文本框添加文本变化事件处理函数等。这些事件处理函数可以在原有的命令行程序中编写,也可以新建函数来处理。 最后,需要将原有的命令行程序打包成可执行的图形化界面程序。根据所选的GUI工具包不同,打包的方式也有所区别。一般来说,可以将原有的命令行程序嵌入到图形界面的主函数中,并设置其为程序的入口。 通过以上步骤,就可以将从字符串进入图形化界面的转换完成。用户可以通过图形界面进行操作,与程序进行交互,而无需直接输入命令行指令。这样可以提升用户体验,并使程序更加直观和易用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值