程序功能:从键盘输入正整数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倍。
样例输入2:
12045 0
样例输出2:
1245,9.67
样例说明:输入n为12045,m为0;删除0后的新数k为1245,n是k的9.67倍。
样例输入2:
12045 0
样例输出2:
1245,9.67
样例说明:输入n为12045,m为0;删除0后的新数k为1245,n是k的9.67倍。
#include <stdio.h>
#include<string.h>
int main()
{
char s[10];
int a,i=0,y,y1,y2,flag=0,b[10];
// gets(s);
scanf("%s",s);
y=strlen(s);
y1=atoi(s);
scanf("%d",&a);
for(i=0;i<y;i++)
if(s[i]==a+'0')
{
flag=1;
break;}
if(flag==0) printf("%d不存在于%s中\n",a,s);
else {
do{
s[i]=s[i+1];
i++;
} while(i!=y);
y2=atoi(s);
printf("%s,%.2f",s,y1*1.0/y2);}
return 0;
}
#include <stdio.h>
//判该位是否存在
int isExist(int n,int m)
{
while(n)
{
if(m==n%10)
return 1;
n/=10;
}
return 0;
}
int main()
{
int n,nbk,m,k=0,t,p=1;
scanf("%d%d",&n,&m);
nbk=n;
if(isExist(n,m)){
while(n){
t=n%10;
if(t!=m){
k+=t*p;
p*=10;
}
n/=10;
}
printf("%d,%.2f\n",k,nbk*1.0/k);
}
else
printf("%d不存在于%d中\n",m,n);
return 0;
}