#include<stdio.h> static int i,b,yin1,yin2,yin3,yin4,yin5,yin6,yin7,yin8,yin9,me,panduan;//me待求最小因数,yin1,yin2,yin3等是me的因数 int y() { yin3=yin2=yin1=yin4=yin5=yin6=yin7=yin8=yin9=1;//初始化因数 if(i==1) { yin1=1; return 0; } for(b=2; b<me; b++) { if(me%b==0&&yin1!=1&&yin2!=1&&yin3==1) { yin3=b; continue; } if(me%b==0&&yin1!=1&&yin2==1&&yin3==1) { yin2=b; continue; } if(me%b==0&&yin1==1&&yin2==1&&yin3==1) { yin1=b; continue; } if(me%b==0&&yin3!=1&&yin4==1) { yin4=b; continue; } if(me%b==0&&yin4!=1&&yin5==1) { yin5=b; continue; } if(me%b==0&&yin5!=1&&yin6==1) { yin6=b; continue; } if(me%b==0&&yin6!=1&&yin7==1) { yin7=b; continue; } if(me%b==0&&yin7!=1&&yin8==1) { yin8=b; continue; } if(me%b==0&&yin8!=1&&yin9==1) { yin9=b; continue; } } } int main(void) { printf("请输入一个整数,求以它为分母的最简分数:"); scanf("%d",&me);//输入待求因数 y(); printf("以%d为分母的最简分数有:",me);//提示 for(i=1; i<me; i++) { panduan=1; if(i%yin1==0) { panduan=0; } if(i%yin2==0&&yin2!=1) { panduan=0; } if(i%yin3==0&&yin3!=1) { panduan=0; } if(i%yin4==0&&yin4!=1) { panduan=0; } if(i%yin5==0&&yin5!=1) {//如果缓冲数i除以me任意一个非1的因数的余数存在则panduan为假 panduan=0; } if(i%yin6==0&&yin6!=1) { panduan=0; } if(i%yin7==0&&yin7!=1) { panduan=0; } if(i%yin8==0&&yin8!=1) { panduan=0; } if(i%yin9==0&&yin9!=1) { panduan=0; } if(panduan==1||yin1==1) { printf("%d/%d,",i,me);//判断为真时候输出 } } }
0.0分
0 人评分
川哥的吩咐 (C++代码)浏览:1016 |
printf基础练习2 (C语言代码)浏览:567 |
C语言训练-角谷猜想 (C语言代码)浏览:1708 |
C语言程序设计教程(第三版)课后习题6.5 (C语言代码)浏览:760 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:619 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:557 |
简单的a+b (C语言代码)浏览:817 |
【蟠桃记】 (C语言代码)浏览:1035 |
C语言程序设计教程(第三版)课后习题9.2 (C语言代码)浏览:556 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:550 |