| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 684 人关注过本帖
标题:新来的报到
只看楼主 加入收藏
tolin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-11-18
收藏
 问题点数:0 回复次数:5 
新来的报到

小弟初来乍到,编程菜鸟,求各位帮忙看看程序

想在线性表中插入一元素

#define MAXSIZE 1000 main() { int list[1000],result,i,n,x; printf("\nInput the number:\n"); scanf("%d",&n); printf("\nInput the array!\n"); for (i=0;i<n;i++) scanf("%d",&list[i]); printf("\ninsert the number you want to insert:\n"); scanf("%d",&x); result=sq_insert(list,n,x); {case 0: printf("\ninsert successfully!"); for(i=0;i<n;i++) printf("\n%d\n",list[i]); break; case 1: printf("error"); break; } } int sq_insert(list,*p,int i,q) int list[1000]; int j; if(i<0||i>p+1) { printf("Error"); return 1;} if(j=*p>=n-1) {printf("overflow!") return 1;} for(j<*p;j>=i;j--) list[j+1]=list[j]; list[i]=x; (*p)++; return 0; }

搜索更多相关主题的帖子: number insert result 线性表 
2004-11-18 16:25
anhua200
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2004-9-9
收藏
得分:0 

怎么不用函数啊


就要考试!哎```````000000怎么到处是星星
2004-11-20 22:46
tolin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-11-18
收藏
得分:0 

int sq_insert(list,*p,int i,q)

这不是函数吗?

2004-11-21 17:56
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

1.已经定义了宏,在程序中就不要用1000了。这样方便修改。

2.int sq_insert(list,*p,int i,int q)函数应该写在main()函数之前或在main()函数中先声明,后调用。

3.子函数丢了大括号。

我也刚刚学习,可能有说的不对的,请谅解。


2004-11-22 08:57
tolin
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2004-11-18
收藏
得分:0 

还是不能运行啊,哪位高手来指点一下啊

2004-11-22 19:24
workhard
Rank: 1
等 级:新手上路
帖 子:96
专家分:0
注 册:2004-11-17
收藏
得分:0 

#include "stdio.h"

#define MAXSIZE 1000 int sq_insert(int* p,int i,int q) {

if(i<0) { printf("Error"); return 1; }

if(i>MAXSIZE-1) { printf("overflow!"); return 1; }

for(;i>=0;i--) p[i]=p[i-1]; p[0]=q; return 0;

}

void main() { int list[MAXSIZE],result,i,n,x; printf("\nInput the number:\n"); scanf("%d",&n); printf("\nInput the array!\n"); for (i=0;i<n;i++) scanf("%d",&list[i]); printf("\ninsert the number you want to insert:\n"); scanf("%d",&x); result=sq_insert(list,n,x); switch(result) {case 0: printf("\ninsert successfully!"); for(i=0;i<n+1;i++) printf("\n%d\n",list[i]); break; case 1: printf("error"); break; } } 我不太知道是如何将一个数插入到线形表的,是否是将其插入到数组的第一个位置,你的源程序好像是这个思,如果我理解的正确,上面的程序就可以运行,这是在C++下通过上机验证的,你可以对照一下;要弄清楚函数调用的参数。


2004-11-23 09:52
快速回复:新来的报到
数据加载中...
 
   



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

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