普通网友 2016-10-29 16:36 采纳率: 0%
浏览 894
已采纳

小白求大神,一个课程表程序的循环没办法执行不知道为什么

这是不循环的时候,没错误。
#include
int main()
{
printf("输入课程的首字母加空格加星期几加第几节到第几节,如数学周三第6到8输入m 3 6 8\n");
char f[9][7]={'1','2','3','4','5','6','7'},d;
int a,b,c,e,g=1;

scanf("%c%d%d%d",&d,&a,&b,&c);

for(e=b-1;e<=c-1;e++)
    f[e+1][a-1]=d;

for(a=0;a<=8;a++)
{
    printf("\n");
    printf(" %d",a);
    for(b=0;b<=6;b++)
        printf("%5c",f[a][b]);
}

}
上面是只能输入一次的程序改成下面这样能循环输入并且输入!结束的程序后,出错,不知道哪里错

#include
int main()
{
printf("输入课程的首字母加空格加星期几加第几节到第几节,如数学周三第6到8输入m 3 6 8\n");
char f[9][7]={'1','2','3','4','5','6','7'},d;
int a,b,c,e,g=1;
do{

scanf("%c%d%d%d",&d,&a,&b,&c);
if(d=='!')
{
    g=0;break;
}

for(e=b-1;e<=c-1;e++)
    f[e+1][a-1]=d;
}while(g);

for(a=0;a<=8;a++)
{
    printf("\n");
    printf(" %d",a);
    for(b=0;b<=6;b++)
        printf("%5c",f[a][b]);
}

}

  • 写回答

2条回答 默认 最新

  • 蓝色的sky 2016-10-30 01:24
    关注

    #include
    int main()
    {
    printf("输入课程的首字母加空格加星期几加第几节到第几节,如数学周三第6到8输入m 3 6 8\n");
    char f[9][7]={'1','2','3','4','5','6','7'},d;
    int a,b,c,e,g=1;
    do{
    scanf("%c%d%d%d",&d,&a,&b,&c);
    getchar();
    if(d=='!')
    {
    g=0;break;
    }

    for(e=b-1;e<=c-1;e++)
    f[e+1][a-1]=d;
    }while(g);

    for(a=0;a<=8;a++)
    {
    printf("\n");
    printf(" %d",a);
    for(b=0;b<=6;b++)
    printf("%5c",f[a][b]);
    }
    }

    回车符也是char所以要吃掉输入栈中的回车,不过这样做还是不太对,结束条件必须要输入3个值所以需要修改一下条件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟
  • ¥15 树莓派控制机械臂传输命令报错,显示摄像头不存在
  • ¥15 前端echarts坐标轴问题
  • ¥15 ad5933的I2C
  • ¥15 请问RTX4060的笔记本电脑可以训练yolov5模型吗?
  • ¥15 数学建模求思路及代码