习题3-3 乘积的末3位
输入若干个整数(可以是正数、负数或者零),输出它们的乘积的末3位。这些整数中会混入一些由大写字母组成的字符串,你的程序应当忽略它们。提示:试试看,在执行scanf(“%d”)时输入一个字符串会怎样?
#include<string.h>
#include <iostream>
#include <string>
#include <ctype.h>
#define MAXN 100
char s[10000];
char buf[10000];
int main()
{
int i,m=0,n=0,sum=1;
char ch;
while(1)
{
scanf("%c",&ch);
if(ch==EOF||ch=='\n') break;
else s[m++]=ch;
}
for(i=0;i<m;i++)
{
if(isdigit(s[i]))
buf[n++]=s[i]-'0';
}
for(i=0;i<n;i++)
sum=sum*buf[i];
printf("%d\n",sum%1000);
return 0;
}