LHL算法入门经典 习题3-3 乘积的末3位

习题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;
}

发布了33 篇原创文章 · 获赞 14 · 访问量 630

猜你喜欢

转载自blog.csdn.net/Simple_questions/article/details/104983535
3-3