| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 428 人关注过本帖
标题:一道ACM题,帮忙看一下问题出在哪,老提交不上去??
只看楼主 加入收藏
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
结帖率:94.74%
收藏
已结贴  问题点数:2 回复次数:3 
一道ACM题,帮忙看一下问题出在哪,老提交不上去??
程序代码:
#include<stdio.h>
#include<string.h>
int del(char x)
{
    if(x=='a'||x=='b'||x=='c')
      return 2;
    if(x=='d'||x=='e'||x=='f')
      return 3;
    if(x=='g'||x=='h'||x=='i')
      return 4;
    if(x=='j'||x=='k'||x=='l')
      return 5;
    if(x=='m'||x=='n'||x=='o')
      return 6;
    if(x=='p'||x=='q'||x=='r'||x=='s')
      return 7;
    if(x=='t'||x=='u'||x=='v')
      return 8;
    if(x=='w'||x=='x'||x=='y'||x=='z')
      return 9;
}
int main()
{
  int t,i,b[200],count=0;
  char a[12];
  scanf("%d",&t);
  getchar();
  while(t--)
  {
    gets(a);
    for(i=0;i<11;i++)
    {
       b[count]=del(a[i]);
       count++;
    }
  }
  for(i=0;i<count;i++)
  {
    if(i%11==0&&i!=0)
      printf("\n");
    printf("%d",b[i]);
  }
  return 0;
}
*****************************
************************************
描述
小明最近接到了一个棘手的任务,他们公司有一个电话簿.但是这是一个奇怪的电话簿,因为它不是用数字记录电话号码,而是用数字键上所对应的字母来记录电话号码(2-abc,3-def,4-ghi,5-jkl,6-mno,7-pqrs,8-tuv,9-wxyz),电话号码只有11位。现在你的任务就是帮小明写一个程序来把这些字母的电话号码转化成数字的电话号码。
输入
第一行输入一个正整数T(0<T<=100),表示测试数据的组数
每组测试数据只有一行,输入一串字符(字符长度为11);
输出
每组输出占一行,输出数字的电话号码
样例输入
3
phqghumeayl
nlfdxfircvs
cxggbwkfnqd
样例输出
74744863295
65339347287
29442953673
2011-12-20 19:49
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
看了老长时间没有看出哪错了
2011-12-20 19:57
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:2 
b数组太小

同时建议,可以每次读取后直接处理输出,没必要存起来
2011-12-20 20:02
天天涯涯
Rank: 4
等 级:业余侠客
帖 子:215
专家分:267
注 册:2011-10-17
收藏
得分:0 
噢,确实是b数组太小了,最小应该定义到1100。非常感谢谢。
2011-12-20 20:17
快速回复:一道ACM题,帮忙看一下问题出在哪,老提交不上去??
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015902 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved