#include<stdio.h>
#define maxlen 100
struct list /*定义结构体list*/
{
int Star[maxlen];
int listlen;
};
struct list Data; /*定义成员Data*/
void main()
{
int i,j,m; /*i是循环变量*/
printf("Plase input the munber how many the Star[] are\n");
scanf("%d\n",&Data.listlen); /*指定数组的大小*/
if(Data.listlen<=0||Data.listlen>=maxlen)
{
printf("The data you put is over the Star[]\n");
printf("Press any key to exit\n"); /*限制数组大小*/
goto end;
}
printf("Please input the Datas you make the Star[]\n");
for(i=0;i<Data.listlen;i++)
{
scanf("%d",&Data.Star[i]); /*输入数组的数值*/
}
printf("Plase input a useful data\n"); /*j是要插入的数字*/
scanf("%d/n",&j);
printf("Tell the situation you input the data\n"); /*m要插入数字的位置*/
scanf("%d/n",&m);
if(m<=0||m>=Data.listlen)
{ printf("The data you put is over the Star[]\n");
printf("Press any key to exit\n"); /*插入位置限制*/
goto end;
}
else
for(i=Data.listlen;i>=m-1;i--)
Data.Star[i+1]=Data.Star[i]; /*数组整体后移*/
Data.Star[m-1]=j; /*插入数字*/
for(i=0;i<=Data.listlen;i++)
printf("%d ",Data.Star[i]);
printf("\nThe program is end.\nAnd please press any key to exit");
end:
getch();
}
=============================================================================
我的目的是自定义一个数组.并输入数字.
再指定一个数字插入到想要插入的位置.
-----------------------------------------------
至于getch();是因为我使用的Win-Tc编译工具
只有写上着一句才能看到结果.
我运行的过程出现了问题,
1.它要求输入两个Data.listlen的值
2.省掉了一个printf语句
3.结果是将输入的两个Data.listlen插入了数组.
望各位高手指出错误,
不胜感激.