m0_73983670 2022-09-28 12:51 采纳率: 100%
浏览 25
已结题

while循环嵌套后无法进行循环里的输出,想知道犯了什么错误


#include<stdio.h>
#include<time.h>
#include<dos.h>
#include<conio.h>
int main()
{
    clock_t start,end;
    int x=100;
    int da=1, zhong=1, xiao=2;
    int cnt=0; 
    while(da<34){
        while(zhong<100){
            while(xiao<200){
                if ( xiao*0.5 + zhong*2 + da*3 == 100 ) {
                    printf("可以用%d个小马加%d个中马加%d个大马扛100担物品\n", xiao, zhong, da );
                    cnt++;
                    continue;
                }
            da++;
            }
        zhong++;
        }
    xiao+=2;
    } 
    end=clock();
    printf("程序运行时间为:%5.lf time\n",difftime(end,start));
    printf("当每一种马至少有一只,共:%d种方法",cnt);
    return 0;
}

还有一个编程用的for但是也不输出
家里电脑调试显示设置断点错误
不知道怎么做了

#include<stdio.h>
int main()
{
    int n,i0,k;
    int i=1,i1=1,i2=1;
    double sum=1;
    printf("请输入正整数n\n");
    scanf("%d",&n);
    switch(n){
    case 1:sum=1;break;
    case 2:sum=sum+2;break;
    default:
    for(k=1;k<=n;k++){
        i0=i;
        i=i1+i2;
        i1=i2;
        i2=i;
        sum=sum+(1.0*i/i0);
    }
    } 
    printf("sum=%f",&sum);
    return 0;
 }

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-09-28 13:07
    关注

    你++的位置写反了啊
    xiao是最内层循环,所以xiao+=2要放到最内层,da++放到最外层
    内层循环开始前,你需要将循环变量恢复为初始值才行

     
    #include<stdio.h>
    #include<time.h>
    #include<dos.h>
    #include<conio.h>
    int main()
    {
        clock_t start=clock(),end;
        int x=100;
        int da=1, zhong=1, xiao=2;
        int cnt=0; 
        while(da<=33){
            zhong = 1;
            while(zhong<=99){
                xiao = 2;
                while(xiao<=199){
                    if ( xiao*0.5 + zhong*2 + da*3 == 100 ) {
                        printf("可以用%d个小马加%d个中马加%d个大马扛100担物品\n", xiao, zhong, da );
                        cnt++;
                    }
                xiao+=2;
                }
            zhong++;
            }
        da++;
        } 
        end=clock();
        printf("程序运行时间为:%5.lf time\n",difftime(end,start));
        printf("当每一种马至少有一只,共:%d种方法",cnt);
        return 0;
    } 
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月8日
  • 已采纳回答 9月30日
  • 创建了问题 9月28日

悬赏问题

  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 CSAPPattacklab
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图
  • ¥15 stm32开发clion时遇到的编译问题
  • ¥15 lna设计 源简并电感型共源放大器