任意四位数中间插入乘号 C语言
发布网友
发布时间:2022-05-01 00:35
我来回答
共1个回答
热心网友
时间:2022-06-21 10:31
试试这个, 5931 (a*b*cd) , 找到结果, 自己再加工一下输出
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int a,b,c,d;
int data,newdata;
char s[5]={"\0"};
int i;
for(i=1000;i<=9999;i++)
{
memset(s,'\0',5);
sprintf(s,"%d",i);
a=s[0]-48;
b=s[1]-48;
c=s[2]-48;
d=s[3]-48;
newdata=d*1000+c*100+b*10+a;
if(a*(b*100+c*10+d)==newdata) //1 a*bcd
{
printf("\n%s 1",s);
}
else if((a*10+b)*(c*10+d)==newdata) //2 ab*cd
{
printf("\n%s 2",s);
}
else if((a*100+b*10+c)*d==newdata) //3 abc*d
{
printf("\n%s 3",s);
}
else if(a*b*(c*10+d)==newdata) //4 a*b*cd; 5931
{
printf("\n%s 4",s);
}
else if(a*(b*10+c)*d==newdata) //5 a*bc*d
{
printf("\n%s 5",s);
}
else if(a*b*c*d==newdata) //6 a*b*c*d
{
printf("\n%s 6",s);
}
}
printf("\nend");
return 0;
}