C语言实现可自定义方向与长度的英制标尺打印,水平版异常求指导
英制标尺打印C程序开发求助
项目开发背景
- 核心需求:编写C程序实现英制标尺打印,支持用户自定义两个参数:标尺的总英寸长度、打印方向(水平/垂直)
- 开发进度:已完成垂直方向标尺的打印逻辑编写,计划完成水平方向标尺的打印逻辑后,通过
if分支判断整合两套代码,实现完整功能 - 当前问题:新编写的水平标尺打印程序输出不符合预期,寻求可落地的循环实现思路与修正方向
已完成的垂直标尺打印代码
#include<stdio.h> int main(){ int q,num,x; int y,p,n; printf("Enter height of central dashes\n"); scanf("%d",&n); printf("Enter number of inches\n"); scanf("%d",&num); for(x=0;x<num;x++) { for(q=0;q<n;q++) { printf("-"); } printf("%d\n",x); for(p=0;p<n-3;p++) { printf("-"); } printf("\n"); for(p=0;p<n-2;p++) { printf("-"); } printf("\n"); for(p=0;p<n-3;p++) { printf("-"); } printf("\n"); for(p=0;p<n-1;p++) { printf("-"); } printf("\n"); for(p=0;p<n-3;p++) { printf("-"); } printf("\n"); for(p=0;p<n-2;p++) { printf("-"); } printf("\n"); for(p=0;p<n-3;p++) { printf("-"); } printf("\n"); } for(y=0;y<n;y++) { printf("-"); } printf("%d",x); printf("\n"); return 0; }
调试中的水平标尺打印代码
现存问题:仅能实现1个英寸区间的刻度打印,缺少多英寸拼接的通用循环逻辑,代码缩进暂未整理
#include<stdio.h> int main() { int q,num,x; int y,p,n=9; printf("Enter number of inches\n"); scanf("%d",&num); for(x=1;x<=num;x++) { for(q=1;q<=n-8;q++) { printf(" | "); } for(q=2;q<=n-1;q++) { printf(" "); } for(q=9;q<=n-0;q++) { printf(" | "); } printf("\n"); for(q=1;q<=n-8;q++) { printf(" | "); } for(q=2;q<=n-5;q++) { printf(" "); } for(q=5;q<=5;q++) { printf(" | "); } for(q=6;q<=n-1;q++) { printf(" "); } for(q=9;q<=n;q++) { printf(" | "); } printf("\n"); for(q=1;q<=n-8;q++) { printf(" | "); } for(q=2;q<=n-7;q++) { printf(" "); } for(q=3;q<=n-6;q++) { printf(" | "); } for(q=4;q<=n-5;q++) { printf(" "); } for(q=5;q<=n-4;q++) { printf(" | "); } for(q=6;q<=n-3;q++) { printf(" "); } for(q=7;q<=n-2;q++) { printf(" | "); } for(q=8;q<=n-1;q++) { printf(" "); } for(q=9;q<=n;q++) { printf(" | "); } printf("\n"); for(q=1;q<=n;q++) { printf(" | "); } printf(""); } return 0; }
输出效果参考
- 水平标尺程序实际输出:

- 垂直标尺程序实际输出:

内容的提问来源于stack exchange,提问作者BANADDA MUBARAKA
相关产品推荐
相关产品推荐

