| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 396 人关注过本帖
标题:关于do while循环的问题
只看楼主 加入收藏
qq175101845
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-10-11
结帖率:25%
收藏
已结贴  问题点数:2 回复次数:5 
关于do while循环的问题
程序代码:
#include"stdio.h"
max_(int b[5])
{
    int i;
    int max=b[0];
    for(i=0;i<5;i++)
        if(max<b[i])
            max=b[i];
    printf("最大值为%d\n",max);
    printf("\n");
}
min_(int c[5])
{
    int i;
    int min=c[0];
    for(i=0;i<5;i++)
        if(min>c[i])
            min=c[i];
    printf("最小值为%d\n",min);
    printf("\n");
}
ave_(int d[5])
{
    int i;
    int sum=0;
    int ave;
    for(i=0;i<5;i++)
        sum+=d[i];
    ave=sum/i;
    printf("平均值为%d\n",ave);
    printf("\n");
}
pai_(int e[5])
{
    int i,j;
    int t;
    for(i=0;i<5;i++)
        for(j=0;j<i;j++)
            if(e[j]>e[j+1])
            {
                t=e[j];e[j]=e[j+1];e[j+1]=t;
            }
    printf("从小到大排序为:");
    for(i=0;i<5;i++)
        printf("%d ",e[i]);
    printf("\n\n");
}
main()
{
    int a[5];
    int i,j,t,k;
    int num;
    printf("请输入5门课程成绩:\n");
    do
    {
        k=1;
        for(i=0;i<5;i++)
            scanf("%d",&a[i]);
        do
        {
            t=1;
            printf("********************\n");
            printf("********************\n");
            printf("**    1.最大值    **\n");
            printf("**    2.最小值    **\n");
            printf("**    3.平均值    **\n");
            printf("**    4.升序排列  **\n");
            printf("**    5.重新输入  **\n");
            printf("**    6.关闭程序  **\n");
            printf("********************\n");
            printf("********************\n");
            printf("请选择1-6:");
            scanf("%d",&num);
            switch(num)
            {
            case 1:max_(a);break;
            case 2:min_(a);break;
            case 3:ave_(a);break;
            case 4:pai_(a);break;
            case 5:t=0;printf("请输入5门课程成绩:\n");break;
            case 6:k=0;
            }
        }while(t);
    }while(k);
}

我想输入6的时候结束程序,但是它依旧继续循环,求解决
搜索更多相关主题的帖子: 最大值 
2014-03-11 10:56
q974740928
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2013-12-6
收藏
得分:1 
搂主,在case6:k=0的时候你只是达到外层循环的条件,内层循环仍然继续,所以它依旧继续循环,解决方法:case 6:k=0,t=0;或者搂主可以直接用exit()结束程序哦!
2014-03-11 11:32
qq175101845
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-10-11
收藏
得分:0 
以下是引用q974740928在2014-3-11 11:32:45的发言:

搂主,在case6:k=0的时候你只是达到外层循环的条件,内层循环仍然继续,所以它依旧继续循环,解决方法:case 6:k=0,t=0;或者搂主可以直接用exit()结束程序哦!

对于exit()结束程序怎么弄,我还没有学到呢
2014-03-11 11:35
q974740928
Rank: 1
等 级:新手上路
帖 子:11
专家分:2
注 册:2013-12-6
收藏
得分:0 
case 6:exit();

2014-03-11 11:40
qq175101845
Rank: 1
等 级:新手上路
帖 子:17
专家分:0
注 册:2013-10-11
收藏
得分:0 
以下是引用q974740928在2014-3-11 11:40:49的发言:

case 6:exit();

不行耶
2014-03-11 12:10
火雨流星泪
Rank: 2
等 级:论坛游民
帖 子:65
专家分:78
注 册:2013-5-12
收藏
得分:1 
你试下exit(0),或者exit(1)吧
2014-03-11 12:41
快速回复:关于do while循环的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016232 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved