请问为什么我的代码输入单个数结果正确,利用for循环输入从a到b个运行不出来
题目:输入两个数a、b,要求变换从a到b内每个数字,输出变换结果,如:1234在a和b中间,变换成1 234 12 34 123 4 #include <stdio.h>
int j,i,n,n2,k,sum1=0,sum2=0,sum,mark1,mark2,a[100]={0},b[100]={0},c[100]={0};
int weishu(int n)
{
n2=n;
for(int j=1;n2>0;j++)
{
n2/=10;
sum=j;
}
for(int i=sum;i>=1;i--) { a[i]=n%10;n/=10; }
return sum;
}
int fenzu(int n)
{
weishu(n);
for(int i=2;i<=weishu(n);i++)
{
int sum1=0,sum2=0;
for(int j=1;j<i;j++)
{
sum1*=10;sum1+=a[j];mark1=j;
}
for(int t=1;t<=mark1;t++) b[t]=0;
for(k=i;k<=weishu(n);k++)
{
sum2*=10;sum2+=a[k];mark2=k;
}
for(int q=1;q<=mark2;q++) c[q]=0;
printf("%d %d\n",sum1,sum2); //if(sum1==sum2) printf("%d\n",n);
}
}
int main()
{
int a;
scanf("%d",a); //这个代码运行结果正确,但是如果把这两行代码换成 scanf("%d %d",a,b); for(int i=a;i<=b;i++) fenzu(i); 就运行不出来,请教大神这是为什么呢?
fenzu(a); //这个代码运行结果正确
return 0;
}
[此贴子已经被作者于2019-11-16 16:25编辑过]