小斐和他的计算器
时间: 1ms 内存:128M
描述:
最近小斐的手机手机坏掉了,看着其他小伙伴们一起用手机玩游戏,他只能拿着不知道从哪里找来的计算器玩了。
无聊的他开始数那些数字的笔画,他想知道每一个数字,横着竖着分别有多少笔画?(输入中只有0-9)
输入:
数据的第一行为一个数字T,表示数据的组数。
每组数据有一个数字(长度小于100)
输出:
每组数据需要你计算两个数据,分别是横着有几画,竖着有几画。
示例输入:
2
123
456
示例输出:
6 6
7 8
提示:
参考答案(内存最优[1092]):
#include <stdio.h>
int main()
{
int t,i;
int x,y;
char str[105];
scanf("%d",&t);
while(t--)
{
x=0,y=0,i=0;
scanf("%s",&str);
while(str[i]!='\0')
{
switch(str[i])
{
case '0':
x=x+2;
y=y+4;
break;
case '1':
y=y+2;
break;
case '2':
x=x+3;
y=y+2;
break;
case '3':
x=x+3;
y=y+2;
break;
case '4':
x=x+1;
y=y+3;
break;
case '5':
x=x+3;
y=y+2;
break;
case '6':
x=x+3;
y=y+3;
break;
case '7':
x=x+1;
y=y+2;
break;
case '8':
x=x+3;
y=y+4;
break;
case '9':
x=x+3;
y=y+3;
break;
case '+':
x=x+1;
y=y+1;
break;
case '-':
x=x+1;
break;
case '=':
x=x+2;
break;
default :
break;
}
i++;
}
printf("%d %d\n",x,y);
}
return 0;
}
参考答案(时间最优[0]):
#include <stdio.h>
int main()
{
int t,i;
int x,y;
char str[105];
scanf("%d",&t);
while(t--)
{
x=0,y=0,i=0;
scanf("%s",&str);
while(str[i]!='\0')
{
switch(str[i])
{
case '0':
x=x+2;
y=y+4;
break;
case '1':
y=y+2;
break;
case '2':
x=x+3;
y=y+2;
break;
case '3':
x=x+3;
y=y+2;
break;
case '4':
x=x+1;
y=y+3;
break;
case '5':
x=x+3;
y=y+2;
break;
case '6':
x=x+3;
y=y+3;
break;
case '7':
x=x+1;
y=y+2;
break;
case '8':
x=x+3;
y=y+4;
break;
case '9':
x=x+3;
y=y+3;
break;
case '+':
x=x+1;
y=y+1;
break;
case '-':
x=x+1;
break;
case '=':
x=x+2;
break;
default :
break;
}
i++;
}
printf("%d %d\n",x,y);
}
return 0;
}
题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。