由键盘输入一个奇数 P(P<100,000,000)

由键盘输入一个奇数 P(P<100,000,000) ,其个位数字不是 5,求一个整数 S,使 P×S=1111...1( 在给定的条件下,解 s 必存在) 。要求在屏幕上依次输出以下结果:

 (1) S 的全部数字。除最后一行外,每行输出 50 位数字。

 (2) 乘积的数字位数。 

例 1:输入 P=13,由于 13*8547=111111,则应输出 (1) 8547 ,(2) 6 

例 2:输入 P=147,则输出结果应为 (1) 755857898715041572184429327286470143613 (2) 42 ,即 等式的右端有 42个 1。 

程序:

#include<stdio.h>
int main()
 { 
   long p,a,b,c,t,n;
   int bl;
   while(1) 
   { 
      printf(" 输入 p, 最后一位为 1 或 3 或 7 或 9:\n");
      scanf("%ld",&p); 
      if((p%2!=0)&&(p%5!=0)) /* 如果输入的数符合要求,结束循环 */ 
        ______⑥______; 
   }
 a=0; n=0; 
   while(a<p); 
   {
      a=a*10+1;n++;/*变量a存放部分右端项,n为右端项的位数*/
   }
   t=0;
   do
   {
      b=a/p;
      printf("%1ld",b);
      t++;
      if(___________⑦__________)
         printf("\n");
       c=_________⑧_________;a=________⑨______;n++;
   }while(c>0);
   printf("\nn=%ld\n".__________⑩_______);
}


答案
第1空:break
第2空:t%50==0
第3空:a-p*b
第4空:c*10+1
第5空:n-1

题目信息

题号:6486
题型:填空题
难度:普通