输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。
标签:
输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以2输出。
输入一个以回车结束的字符串,长度不超过100,由数字和字母组成。
将转换后的整数乘以2输出,测试数据保证结果在int范围内。
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char a[110],b[110];
int lena,i,sum[200],k=0,g=199;
memset(sum,0,sizeof(sum));
cin>>a;
lena=strlen(a);
for(i=0;i<lena;i++)
{
if(a[i]>='0'&&a[i]<='9')
{
b[k++]=a[i];
}
}
b[k]='\0';
for(i=k-1;i>=0;i--)
{
sum[g]=sum[g]+(b[i]-'0')*2;
g--;
}
for(i=199;i>=1;i--)
{
if(sum[i]>=10)
{
sum[i-1]=sum[i-1]+sum[i]/10;
sum[i]=sum[i]%10;
}
}
int start=0;
while(!sum[start] && start<199)
{
start++;
}
for(i=start;i<=199;i++)
cout<<sum[i];
cout<<endl;
return 0;
}
/**************************************************************
Problem: 1134
User: CuiHuiling
Language: C++
Result: Accepted
Time:0 ms
Memory:1328 kb
****************************************************************/标签:
原文地址:http://blog.csdn.net/zuguodexiaoguoabc/article/details/45223869