从键盘输入正整数n和0~9范围内的一个数字m,判断m是否存在于n中,如不存在则输出“m不存在于n中”字样(m,n以具体输入的值代替);如存在则删除n中的数字m,构成一个新数k(高位为原高位,低位为原低位),并求出原数n是新数k的倍数(保留2位小数),然后依次输出新数k和倍数,中间以一个逗号分隔。
样例输入1:
12345 2
样例输出1:
1345, 9.18
样例说明:输入n为12345,m为2;删除2后的新数k为1345,n是k的9.18倍。
#include
#include
#define N 81
int main()
{
int m,n,i,j,t,b,flag=0,a[N],s[N],x;
double num=0,k;
scanf("%d%d",&m,&n);
for(i=0;n;i++)
{a[i]=n%10;
n=n/10;}
x=strlen(a);
for(i=0;iif(m==a[i])
{
b=i;
flag=1;
break;
}
}
if(flag==0)
printf("NO");
else
{
for(j=0;jfor(j=b;jfor(i=0;inum=num*10+s[i];
}
k=num/n;
printf("%.0f,%.2f",num,k);
return 0;
}
输出来乱码了,而且感觉我把问题复杂化了,求一个简单的解法