You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.23 14:45:05