输入一个以回车结束的字符串,它由数字和字母组成,请过滤掉所有非数字字符,然后将数字字符串转换成十进制整数后乘以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