| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 477 人关注过本帖
标题:程序不执行怎么办
取消只看楼主 加入收藏
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
结帖率:66.67%
收藏
已结贴  问题点数:10 回复次数:5 
程序不执行怎么办
#include "stdio.h"
#include "string.h"
int main()
{
    int a[10];
    char b[10][10],c[10];
    int i,j,k=1,m,n,f,z,l;
    for (i=0;i<10;i++)
    {    printf("shu ru hao he xing ming %d:",i+1);
        scanf("%d",&a[i]);
        printf("shu ru ming zhi:");
        scanf("%s",&b[i]);
    }
    for(i=0;i<10;i++)
         printf("%d %s\n",a[i],b[i]);
        for(i=0;i<9;i++)
        {   
            for(j=0;j<=9-i;j++)
                if (a[j]>a[j+1])
                {
                  k=a[j];
                  a[j]=a[j+1];
                  a[j+1]=k;
                  strcpy(c,b[j]);
                  strcpy( b[j],b[j+1]);
                  strcpy(b[j+1],c);
                  
                }
        }
     for(i=0;i<10;i++)
         printf("%d %s\n",a[i],b[i]);
         
     printf("shu ru yao zhao de xu hao:");
         scanf("%d",&m);
         printf("%d\n",m);
        if (m<a[0]||m>a[9])//大家帮忙看看,程序到了这里就不执行了,也不知道怎么回事,谢谢高手了
            l=-1;
            f=9;
            z=0;         
     while ((k==1)&&(z<=f))
     {      n=(f+z)/2;
         if (m==a[n])
         {
             printf("zhe ge shi %d,ming zhi shi:%s",a[n],b[n]);
             k=0;
         }
         else if(m>a[n])z=n+1;
         else f=n-1;

     }
     if (k==1||l==-1)
         printf("mei you zhao dao ");

    return 0;

}
搜索更多相关主题的帖子: include 
2013-01-11 17:31
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
收藏
得分:0 
不执行的地方是折半找数字的问题
2013-01-11 17:32
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
收藏
得分:0 
我真的没有看到哪里有问题。还是请高手帮忙吧
2013-01-11 19:13
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
收藏
得分:0 
不执行的地方是折半找数字哦,输入一个数字,找到这个数字,并输出对应的名字啊
2013-01-11 19:47
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
收藏
得分:0 
k原来赋值是1,经过查找序号后,如果找到了赋值0,执行后如果k还是1,说明没有找到哦,输出没有找到
前段是输入序号,对应姓名的,然后按照序号大小排序,输出,后面是输入序号,查找有没有这个序号,然后输出序号,同时输出名字
2013-01-12 10:07
Zhijian01
Rank: 1
等 级:新手上路
帖 子:40
专家分:0
注 册:2012-12-29
收藏
得分:0 
程序的问题找到了
#include <stdio.h>
#include <string.h>

int main()
{
    int a[10];
    char b[10][10], c[10];
    int i, j, k = 1, m, n, f, z, l;//后面循环部分k,这里赋值了,但是接下来k重新赋值了,不是1了

    for (i = 0;i < 10;i++)
    {  
        printf("shu ru hao he xing ming %d:",i+1);
        scanf("%d", &a[i]);
        printf("shu ru ming zhi:");
        scanf("%s", &b[i]);
    }
    for (i = 0;i < 10;i++)
        printf("%d %s\n", a[i], b[i]);
    for (i = 0;i < 9;i++)
    {  
        for(j = 0;j <= 9-i;j++)
            if (a[j] > a[j+1])
            {
                  k  = a[j];//这里k被重新赋值了,错在这里啊
                a[j]  = a[j+1];
                a[j+1] = k;
                strcpy(     c, b[j]);
                strcpy(  b[j], b[j+1]);
                strcpy(b[j+1], c);
            }
    }

    for (i = 0;i < 10;i++)
        printf("%d %s\n", a[i], b[i]);

    printf("shu ru yao zhao de xu hao:");
    scanf("%d", &m);
    printf("%d\n", m);

    if (m < a[0] || m > a[9])
        l = -1;

    f = 9;
    z = 0;   
                                        //这里填上k=1;就可以了
    while ((k == 1) && (z <= f))
    {   
        n = (f+z) / 2;
        if (m == a[n])
        {
            printf("zhe ge shi %d,ming zhi shi:%s", a[n], b[n]);
            k = 0;
        }
        else if(m > a[n])
            z = n + 1;
        else
            f = n - 1;
    }

    if (k == 1 || l == -1)
        printf("mei you zhao dao \n");

    return 0;
}
谢谢大家的参与,谢谢
2013-01-12 10:34
快速回复:程序不执行怎么办
数据加载中...
 
   



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

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