2076 Problem F Quick Brown Fox

题目描述

A pangram is a phrase that includes at least one occurrence of each of the 26 letters, ‘a’. . .‘z’. You’re probably familiar with this one: “The quick brown fox jumps over the lazy dog.”
Your job is to recognize pangrams. For phrases that don’t contain every letter, report what letters are missing. We’ll say that a particular letter occurs in the phrase if it occurs as either upper case or lower case.

输入

Input starts with a line containing an integer 1 ≤ N ≤ 50. The next N lines are each a single phrase,possibly containing upper and lower case letters, spaces, decimal digits and punctuation characters ‘.’,‘,’, ‘?’, ‘!’, ‘’’ and ‘"’. Each phrase contains at least one and no more than 100 characters.

输出

For each input phrase, output “pangram” if it qualifies as a pangram. Otherwise, output the word “missing” followed by a space and then the list of letters that didn’t occur in the phrase. The list of missing letters should be reported in lower case and should be sorted alphabetically.

样例输入

3
The quick brown fox jumps over the lazy dog.
ZYXW, vu TSR Ponm lkj ihgfd CBA.
.,?!’" 92384 abcde FGHIJ

样例输出

pangram
missing eq
missing klmnopqrstuvwxyz

解题心得:
  题目的意思是,输入一行字符(大小写皆可),判断是否为“全字母短句”,是则输出pangram,否则输出missing 加缺少的字母;
  此题为水题,但是我却做了很久,主要原因是写完后一直在找错,结果最后发现输出错了。
  老是犯些低级错误,丢三落四结果导致白白付出很多时间。
代码:
 1 #include <iostream>
 2 #include <cstring>
 3 #include <cstdio>
 4 using namespace std;
 5 int b[30];
 6 
 7 void is(char a_z[],char a){
 8     int ii;
 9     for(ii=0;ii<26;ii++){
10         if(a==a_z[ii]||a==a_z[ii]-32){
11             b[ii]=1;
12         }
13     }
14 }
15 
16 int main()
17 {
18     int n;
19     int j=0;
20     char a[105];
21     char a_z[26];
22     strcpy(a_z,"abcdefghijklmnopqrstuvwxyz");
23     memset(b,0,30*sizeof(int));
24     scanf("%d",&n);
25     getchar();
26     for(int i=0;i<n;i++){
27         j=0;
28         memset(a,'\0',105*sizeof(char));
29         gets(a);
30         for(int i2=0;a[i2]!='\0';i2++){
31             is(a_z,a[i2]);
32         }
33         for(int i3=0;i3<26;i3++){
34             if(b[i3]==0){
35                 j++;
36             }
37         }
38         if(j==0){
39             printf("pangram\n");
40         }
41         else{
42             printf("missing ");
43             for(int j1=0;j1<26;j1++){
44                 if(b[j1]==0){
45                     printf("%c",a_z[j1]); //我把a_z写成了a,结果好久好久都没找出错误来!!
46                 }
47             }
48             printf("\n");
49         }
50         memset(b,0,30*sizeof(int));
51 
52     }
53     int ab;
54     cin>>ab;
55     return 0;
56 }

 

全部评论

相关推荐

11-28 17:58
门头沟学院 Java
美团 JAVA开发 n×15.5
牛客786276759号:百度现在晋升很难的 而且云这块的业务没美团好 你看百度股价都跌成啥样了
点赞 评论 收藏
分享
11-09 14:54
已编辑
华南农业大学 产品经理
大拿老师:这个简历,连手机号码和照片都没打码,那为什么关键要素求职职位就不写呢? 从上往下看,都没看出自己到底是产品经理的简历,还是电子硬件的简历? 这是一个大问题,当然,更大的问题是实习经历的描述是不对的 不要只是去写实习流程,陈平,怎么去开会?怎么去讨论? 面试问的是你的产品功能点,是怎么设计的?也就是要写项目的亮点,有什么功能?这个功能有什么难处?怎么去解决的? 实习流程大家都一样,没什么优势,也没有提问点,没有提问,你就不得分 另外,你要明确你投的是什么职位,如果投的是产品职位,你的项目经历写的全都是跟产品无关的,那你的简历就没用 你的面试官必然是一个资深的产品经理,他不会去问那些计算机类的编程项目 所以这种四不像的简历,在校招是大忌
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
11-26 18:54
说等下个版本吧的发呆爱好者很贪睡:佬最后去了哪家呀
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务