永发信息网

C语言问题求教

答案:1  悬赏:20  手机版
解决时间 2021-04-28 12:43

题目是:

设顺序表L中数组元素递增有序,写一算法,将X插入到顺序表的适当位置使表仍然有序,我写的程序是下面的,但是得不到想要的结果:

#define M 100
typedef int ItemType;
typedef struct {
int len;
ItemType items[M];
} Vector;

int createCircle(int population, Vector* vector)
{
int i;
if(population>M) return 0;
for (i=0; i<population; i++)
{
vector->items[i]=i+1;
}
vector->len=population;
return 1;
}

void insertOrderList(Vector* vector ,ItemType x )
{
int i;
if (vector->len>=100)
printf("overflow");
for (i=vector->len;i>1&&vector->items[i-1]>x;i--)
{
vector->items[i]=vector->items[i-1] ;
}
vector->items[i] =x;
vector->len++;
}


main()
{

int n,m,i;
Vector vector;
printf("Please input the length =");
scanf("%d",&n);
createCircle(n,&vector);
printf("Please type the number what to insert =");
scanf("%d",m);
insertOrderList(&vector,m);
for(i=0;i<=n;i++)
printf("%d ",vector.items[i]);
scanf("%d");

}

我的思路是,输入表长15,然后创建顺序表 1.2.3.4.。。。15 ,然后再输入插入数3,将3插入到表中,再输出新表,为什么输出结果不对??

最佳答案
你掉了个符号
帮你改过来了 错误地方有注释
#include <stdio.h>
#define M 100
typedef int ItemType;
typedef struct {
int len;
ItemType items[M];
} Vector;

int createCircle(int population, Vector* vector)
{
int i;
if(population>M) return 0;
for (i=0; i<population; i++)
{
vector->items[i]=i+1;
}
vector->len=population;
return 1;
}

void insertOrderList(Vector* vector ,ItemType x )
{
int i;
if (vector->len>=100)
printf("overflow");
for (i=vector->len;i>1&&vector->items[i-1]>x;i--)
{
vector->items[i]=vector->items[i-1] ;
}
vector->items[i] =x;
vector->len++;
}


main()
{

int n,m,i;
Vector vector;
printf("Please input the length =");
scanf("%d",&n);
createCircle(n,&vector);
printf("Please type the number what to insert =");
scanf("%d",&m);//这里要加取地址符
insertOrderList(&vector,m);
for(i=0;i<=n;i++)
printf("%d ",vector.items[i]);
scanf("%d");

}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我的电脑光驱有的盘读得出 有的盘读不
PG怎样连“A”?
新联路怎么去啊,有知道地址的么
我105杂 还是 3级啊
西宁天翼手机不办理套餐是如何资费的??
问问的灯几级就亮了?
QQ密码忘了咋办?
太阳黑子影响网络吗??? 最近怎么那么卡?
日落月升自有日月星晨相伴下一句是什么?
杭州有没有医院不插管查谓病的?
一个人去西藏旅行要多少钱?
鸡冠石地址有知道的么?有点事想过去
新生儿有多少块骨骼
女人和女孩有什么区别?
在DNF里面怎样可以减小CNF指数?
推荐资讯
看八字和面相哪个准
我的抢车位能进去,就是进去之后,想换车位的
羊肉包饺子跟什么菜配,羊肉和什么一起做饺子
农场种什么最快升级牧场养什么最快升级
陈奕迅的歌编成一句话,陈奕迅的歌哪些好听 陈
歌词求歌名: 你就像是水,我就像是火,你是
微软7多少钱?
各位师兄 小弟明天要去相亲给点高见 谢啦
怎么看一周的积分?
cf中迷彩M4英文叫什么?
干柠檬片、茉莉花、冰糖可以一起泡着喝吗?
炼奶还可以做什么甜品
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?