isdigit只能一个一个的转换字符格式,sscanf也不能转化位置个数的字符,所以输入时就还是一个一个的输入,
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#pragma warning(disable:4996)
using namespace std;
void main()
{
char s[100],t[100];
int i,j=0,n=0,result=1;
int a[1000];
int len;
//fgets(s,sizeof(s),stdin);
while(scanf("%s",s)!=EOF)
{
// getchar();
n=0;
memset(t,0,sizeof(t));
len=strlen(s);
for(i=0;i<len;i++)
{
if(isdigit(s[i]))
t[n++]=s[i];
}
a[j]=atoi(t);
j++;
}
for(i=0;i<j;i++)
result*=a[i];
result%=1000;
printf("%d",result);
system("pause");
}