Lao?? 2017-06-12 00:37 采纳率: 33.3%
浏览 1489
已采纳

程序设计题求大神解答

分析如下代码for(i=1;i<n;i++) for(j=1;j<i;j++) for(k=1;k<j;k++) printf("\n");
问printf语句共执行了几次?这段代码执行完以后i+j+k值为多少?

  • 写回答

9条回答 默认 最新

  • Rattenking Python领域优质创作者 2017-06-12 02:21
    关注

    首先我们假设i < n满足条件,
    那么当 i = 1;第一次循环,(j = 1 ; j < i; j++)这个条件不满足,返回。
    第二次i = 2; j = 1; k = 1;不满足,返回。
    当i = 3;j = 1 && j < 3;k = 1 && k < 1;这一个返回。j = 2 &&j < 3;k = 1 && k < 2;执行一次printf 共执行一次
    当i = 4;排除j = 1;直接j = 2开始。执行一次printf,j = 3;k < 3; k = 1,k = 2;执行两次printf 共执行三次
    当i = 5;j = 2一次,j = 3两次,j = 4三次 共六次次
    当i = 6;j = 2一次,j = 3两次,j = 4三次 j = 5四次 共十次
    由此推断n必须大于2
    假如n=8;1 + 1 + 2 + 1 + 2 + 3 + 1 + 2 + 3 + 4 + 1 + 2 + 3 + 4 + 5
    总次数:1*(n - 3) + 2 (n - 4) + 3 (n - 5) + ... + (n-3)*(n - n + 1)

    i = n ; j = n - 1 ; k = n -2;

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

报告相同问题?

悬赏问题

  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题
  • ¥30 酬劳2w元求合作写文章
  • ¥15 在现有系统基础上增加功能
  • ¥15 远程桌面文档内容复制粘贴,格式会变化
  • ¥15 关于#java#的问题:找一份能快速看完mooc视频的代码
  • ¥15 这种微信登录授权 谁可以做啊
  • ¥15 请问我该如何添加自己的数据去运行蚁群算法代码
  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”