#include <stdio.h>
#define DATATYPE int
#define MAXSIZE 100
typedef struct
{DATATYPE datas[MAXSIZE];
int last;}SEQUENLIST;
main( )
{SEQUENLIST a;
int i, j, k,x,h;printf("请输入顺序表元素,元素为整型量,用空格分开,-99为结束标志 :");
j=0;k=1;i=0;scanf("%d",&i);
while (i != -99) {j++;a.datas[k]= i;k++;scanf("%d",&i); }/*输入顺序表元素*/
printf("请输入要插入的地址");
scanf("%d",&h);
printf("请输入要插入的值");
scanf("%d",&x);
if(i<1||h>a.last+1||a.last>=MAXSIZE)
return 0;
else
{for(k=a.last;k>=h;k--)
a.datas[k]=a.datas[k-1];
a.datas[h]=x;
a.last=a.last+1;
return 1;
printf("%3d",a.datas[k]);}
}
程序的功能是在表中插入一个数可是我运行完了没有结果打印出来!
#define DATATYPE int
#define MAXSIZE 100
typedef struct
{DATATYPE datas[MAXSIZE];
int last;}SEQUENLIST;
main( )
{SEQUENLIST a;
int i, j, k,x,h;printf("请输入顺序表元素,元素为整型量,用空格分开,-99为结束标志 :");
j=0;k=1;i=0;scanf("%d",&i);
while (i != -99) {j++;a.datas[k]= i;k++;scanf("%d",&i); }/*输入顺序表元素*/
printf("请输入要插入的地址");
scanf("%d",&h);
printf("请输入要插入的值");
scanf("%d",&x);
if(i<1||h>a.last+1||a.last>=MAXSIZE)
return 0;
else
{for(k=a.last;k>=h;k--)
a.datas[k]=a.datas[k-1];
a.datas[h]=x;
a.last=a.last+1;
return 1;
printf("%3d",a.datas[k]);}
}
程序的功能是在表中插入一个数可是我运行完了没有结果打印出来!
解决方案 »
- 求助互斥对象与多线程同步的问题
- 关于c++的结构 sizeof 的问题
- sprintf_s的问题 ,可能比较简单 ,知道的请进
- 怎么样修改《directshow开发指南》18章的例子,让它接收ffdshow压缩的数据?
- 谁可以提供,蓝幕抠像算法啊,英文:Chroma Key
- 简单的奇怪问题
- 请教各位最简单的一个问题,怎样在对话框工程中加入ToolBar???谢谢
- 请教,如何解决乱码问题
- Access Violation——基于MSComm多通道编程问题
- REGDIG.OBJ : error LNK2005: "void __cdecl ShowDBError(struct HWND__ *,short,void
- 不解,大家帮帮忙!!
- 编辑框滚动按钮的设置问题
if(i<1||h>a.last+1||a.last>=MAXSIZE)
直接退出P.S.好像刚开始并没有赋值给a.last
#include <stdio.h>
#define DATATYPE int
#define MAXSIZE 100
typedef struct
{
DATATYPE datas[MAXSIZE];
int last;
}
SEQUENLIST;
main( )
{
SEQUENLIST a;
int i, j, k,x,h;
printf("请输入顺序表元素,元素为整型量,用空格分开,-99为结束标志 :");
j=0;k=1;i=0;scanf("%d",&i);
while (i != -99) {
j++;
a.datas[k]= i;
k ++;
scanf("%d",&i);
}/*输入顺序表元素*/
a.last = k;
printf("\n目前表内容为");
for(k=1;k<a.last;++k)
printf("%3d",a.datas[k]);
printf("\n请输入要插入的地址");
scanf("%d",&h);
printf("\n请输入要插入的值");
scanf("%d",&x);
if(h<1||h>a.last+1||a.last>=MAXSIZE)
return 0;
else
{
for(k=a.last;k>=h;k--)
a.datas[k]=a.datas[k-1];
a.datas[h]=x;
a.last=a.last+1;
printf("\n目前表内容为");
for(k=1;k<a.last;++k)
printf("%3d",a.datas[k]);
return 1;
}
}
奇怪为什么k不从0开始?
i的问题我解决了可是还是没有打印答案啊!
问题到底出在那里那?