| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1087 人关注过本帖
标题:嗯 , 运行有错,看看吧,,,,
只看楼主 加入收藏
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
结帖率:100%
收藏
 问题点数:0 回复次数:14 
嗯 , 运行有错,看看吧,,,,
程序代码:
//按照一定的规则插入一个数字



#include < stdio.h >
#include < stdlib.h >
int main ( )
{
    int i, j, t, a[11] = { 1, 2, 3, 5, 6, 7, 8, 9, 10,11 };
    scanf ( "%d", &t );
    if ( t > a[9] )
        a[10] = t;
    else
    {
        for ( i =0; i <10; i++ )
        if ( a[i] > t )
            for ( j=9; i <= j; j-- )
            {
                a[j+1] = a[j];
                a[i] = t;
                break;
            }
    }
    for ( i = 0; i<11; i++ )
    {
        printf ( "%5d",a[i]);
    }
    system ( "pause" );
    return 0;
}
运行不对
搜索更多相关主题的帖子: color 
2011-10-15 01:58
糖傻猫
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:39
专家分:142
注 册:2011-8-9
收藏
得分:0 
程序代码:
int array[N + 1] = {1, 3, 5, 7, 8}; //要插入一个值到数组的话。要设置+1。
    printf("插入前数组如下:\n");
    for(int i = 0; i < N; i++) {
        printf("%d\t", array[i]);
    }
    int value;//
    printf("\n请输入要插入的值:");
    scanf("%d", &value); 
    //1、找插入的位置:找第一个比value小的数
    for(i = N - 1; i >= 0; i--) {
        if(array[i] < value) {
            break;//找到第一个比value小的数
        }
    }
    i++;//后一个位置:i就是要插入的位置
    //2、开始从后往前移数
    for(int j = N - 1; j >= i; j--) {
        array[j + 1] = array[j];
    }
如果没理解错误。。是这个样子吧?

[ 本帖最后由 糖傻猫 于 2011-10-15 02:13 编辑 ]
2011-10-15 02:12
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 2楼 糖傻猫
你的我有点看不懂。。。。。我有怎么错了,你好像没有考虑到你插入的数比最后一个数大的情况吧,你的能运行么,我运行了你的,好像不能啊。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-15 10:10
shuimu10
Rank: 2
等 级:论坛游民
帖 子:53
专家分:48
注 册:2010-11-19
收藏
得分:0 
#include < stdio.h >
#include < stdlib.h >
int main ( )
{
    int i, j, t, a[11] = { 1, 2, 3, 5, 6, 7, 8, 9, 10,11 };
    scanf ( "%d", &t );
    if ( t > a[9] )
        a[10] = t;
    else
    {
        for ( i =0; i <10; i++ )
        if ( a[i] > t )
            for ( j=9; i <= j; j-- )
            {
                a[j+1] = a[j];
                a[i] = t;                 /*这里应该等for语句结束以后再赋值  你想a[i]还没后移就被你赋值了 当然不对*/
                break;
            }
    }
    for ( i = 0; i<11; i++ )
    {
        printf ( "%5d",a[i]);
    }
    system ( "pause" );
    return 0;
}
2011-10-15 10:41
暴风雪282
Rank: 4
等 级:业余侠客
帖 子:61
专家分:295
注 册:2011-10-4
收藏
得分:0 
#include<stdio.h>
 #include<stdlib.h>
 int main ( )
 {
     int i, j, t, a[11] = { 1, 2, 3, 5, 6, 7, 8, 9, 10,11 };
     scanf ( "%d", &t );
     if (t>a[9])
         a[10] = t;
     else
     {
         for ( i =0; i <10; i++ )
         {
           if ( a[i] > t )
             {   
                 for ( j=9; i <=j; j-- )
                   a[j+1] = a[j];
                   a[i] = t;
                   break;
             }
             else continue;
            
         }
            
     }
      
     for ( i = 0; i<11; i++ )
     {
         printf ( "%5d",a[i]);
         
     }
     printf("\n");
     system ( "pause" );
     return (0);
 }

Dance like there is nobody.
2011-10-15 14:32
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
不要用数组插入  宁可把这个调通过了不如果写个链表去

                                         
===========深入<----------------->浅出============
2011-10-15 14:49
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 6楼 laoyang103
链表我不会啊,很难么。。。。。。。。

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-15 15:08
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
额 你还没学  那你就把这个数组调通了吧 当做练习就可以  

以后写程序记得不要用数组插入删除

                                         
===========深入<----------------->浅出============
2011-10-15 15:09
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 5楼 暴风雪282
你的是对的,解释一下吧女;;;;;;;;;;;;;;;;;

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-15 15:24
吴军旗
Rank: 5Rank: 5
等 级:职业侠客
帖 子:286
专家分:308
注 册:2011-9-14
收藏
得分:0 
回复 8楼 laoyang103
程序代码:
#include<stdio.h>
#include<stdlib.h>
int main ( )
{
     int i, j, t, a[11] = { 1, 2, 3, 5, 6, 7, 8, 9, 10,11 };
     scanf ( "%d", &t );
     if (t>a[9])
         a[10] = t;
     else
     {
         for ( i =0; i <10; i++ )
         {
           if ( a[i] > t )
             {  
                 for ( j=9; i <=j; j-- )
                   a[j+1] = a[j];
                   a[i] = t;
                   break;
             }
             else continue;
           
         }
            
     }
     
     for ( i = 0; i<11; i++ )
     {
         printf ( "%5d",a[i]);
        
     }
     printf("\n");
     system ( "pause" );
     return (0);
} 
为什么他加了个“else continue”  就可以啊,

最惨的不是忘不了悲伤的回忆,而是那些悲伤的回忆却开始记不清。。。
2011-10-15 15:26
快速回复:嗯 , 运行有错,看看吧,,,,
数据加载中...
 
   



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

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