输入若干个整数(可以是整数、负数、或者零),输出它们的乘积的末三位。这些整数会混入一些由大写字母组成的字符串,你的程序应当忽略它们。
这题的难点无非就是数字的提取了,用getchar()函数一个个判断即可。
#include <cstdlib>
#include <iostream>
#include <time.h>
using namespace std;
int main(int argc, char *argv[])
{
system("color 0a");
int s=1;
int x=0 , m=0 , n=0 ;
bool flag;
char a='0';
while( a != EOF )
{
flag=0;
while( (a=getchar()) != '\n' && a != EOF)
{
if( isdigit(a) )
{
flag=1;
x*=10;
x+=(int)(a-'0');
}
}
if( flag )
{
s*=x%1000;
s%=1000;
x=0;
}
}
printf("最后三位数:%03d\n",s);
system("PAUSE");
return EXIT_SUCCESS;
}