原题链接:数学的图表
解题思路:
注意事项:while使程序可重复使用
参考代码:
// 核心思想:分子 + 分母 = 行数 + 1 = row+1 #include int main() { int n; //项数 while(scanf("%d",&n)!=EOF) { int row,sum=0,cur; //行数、总项数、当前行第几项 // 1、第 i 行有 i 项 ,累加判断 n 属于哪行 for(row=1; sum<n; row++) { sum+=row; // printf("%d\n",sum); //测试代码:直至 row 行共有 sum 项 } row--; //去掉多余++ // printf("row=%d\n",row); //测试代码:查看当前行 // 2、计算n是row行的第几项 = 总项数 - (满行总项数-当前行满行数) cur=n-(sum-row); // printf("cur=%d\n",cur); //测试代码:查看 cur // 3、判断行数奇偶并输出 if(row%2==0) // 偶 数行从 横 轴开始:An = (cur) / (row+1-cur) printf("%d/%d\n",cur,row+1-cur); else // 奇 数行从 竖 轴开始:An = (row+1-cur) / (cur) printf("%d/%d\n",row+1-cur,cur); } }
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复