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");
}
字符串数字转换与乘积计算
本文介绍了一种使用 C/C++ 实现的方法,该方法能够从字符串中提取所有数字字符,并将这些数字字符转换为整数进行乘积运算。最终结果会取模输出以减少数值大小。
11万+

被折叠的 条评论
为什么被折叠?



