新建 文本文档.txt

来自「内存静态分配: 程序还有一些错误」· 文本 代码 · 共 79 行

TXT
79
字号
内存静态分配:

程序还有一些错误,益出处理不知道怎么加入。此程序开始不是我写的的,我在别人的基础上理解并改动了一些。实验课已经结束了,没时间在做了,以后有机会再改。

程序原代码:
# include <stdio.h>
# define M 10
typedef struct node
{
  float staradd;
  float length;
  int flag;
}JD;
  main()
{
  int n,i,j,app,m;
  JD ftable[M];
  clrscr();
  printf("Please input the rows num:\n");
  scanf("%d",&n);
  printf("Please input the staradd,length and flag:\n");
  for(i=0;i<n;i++)
  {
   scanf("%f%f%d",&ftable[i].staradd,&ftable[i].length,&ftable[i].flag);
  }

  printf("The original table is:\n");
  printf("staradd     length    flag\n");
  for(i=0;i<n;i++)
  {
   printf("%-10d%-10f%-10f%-10d\n",i,ftable[i].staradd,ftable[i].length,ftable[i].flag);
  }
  printf("How many space you want to apply?\n");
  scanf("%d",&app);
    for(i=0;i<n;i++)
  {
   if(ftable[i].flag!=0)
   {
    if(app>ftable[i].length)
   {
      continue;
    }
   else
      {
     if(ftable[i].length==app)
     ftable[i].flag=0;
        else
    {
   /*  ftable[i].staradd=ftable[i].staradd+app;
     ftable[i].length=ftable[i].length-app; */
     ftable[i].flag=0;
     i=n+1;
    }
       }
   }
   break;
  }
/* if(i>n) printf("over!\n"); */

printf("The new table is:\n");
printf("staradd    length   flag\n");
  for(i=0;i<n;i++)
  {
 printf("%-10d%-10f%-10f%-10d\n",i,ftable[i].staradd,ftable[i].length,ftable[i].flag);
  }
  printf("Please input which part you want to call back:\n");
  scanf("%d",&m);
  i=m;
  printf("The new table is:\n");
    ftable[i].flag=1;
  printf("staradd    length   flag\n");
     for(i=0;i<n;i++)
   {
     printf("%-10d%-10f%-10f%-10d\n",i,ftable[i].staradd,ftable[i].length,ftable[i].flag);
   }
 getch();
  }

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?