鱼C论坛

 找回密码
 立即注册
查看: 918|回复: 3

[已解决]怎么改才能够白提示的错误去除???

[复制链接]
发表于 2020-4-26 14:59:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
#define N 10
typedef struct list
{
        int a[N];
        int length;
}info;
void    VOID(info*p);
void SCANF(info*p);
void SUM(info *p, info *n);
void change(info *p);
void swap(info *p, int m);
int main()
{
        info A, B, C;
        VOID(&A);
        VOID(&B);
        VOID(&C);
        SCANF(&A);
        SCANF(&B);
        C = SUM(&A, &B);//合并两个顺序表
        void swap(C,5);//将顺序表改变顺序后
        return  0;
};
void    VOID(info*p)// 将顺序表清空
{
        p->length = 0;

}
void SCANF(info*p)//向顺序表内输入数据;
{
        char ch;
        int x;
        //首先进行判满操作
        if (p->length>N)
                printf("表已经满了,无法输入数据");
        else
        {
                /* 进行数据的输入 */
                while (ch == 'y' || ch == 'Y')
                {
                        scanf("%c", &ch);
                        printf("是否还要添加元素(y|n):");
                        scanf("%d", &x);
                        p->a[p->length++] = x;

                }  while (ch == 'y' || ch == 'Y');

        }
        void SUM(info *p, info *n)//合并两个顺序表
        {
                int i, j;
                info C;
                printf("A和B的合集为:")
                for (i = 0; i<p->length; i++)
                {
                        for (j = 0; j<n->length; j++)
                        {
                                if (p->a[i] - n->a[j] == 0)
                                {
                                        C.a[i] = p->a[i];
                                        C.length++;
                                        printf("C.a[i]");
                                }
                        }
                }

                void change(info *p)//将顺序表中的元素逆置
                {
                        int i, k;
                        for (i = 0; i<(p->length) / 2; i++)
                        {
                                k = p->a[i];
                                p->a[i] = p->a[p->length - 1 - i];
                                p->a[p->length - 1 - i] = k;

                        }
                       
                        for (i = 0; i < p->length; i++)
                        {
                                printf("%d", p->a[i]);
                        }

                }
                void swap(info *p, int m)//将顺序表改变顺序后
                {
                        int i, j, n;
                        for (i = 0; i<p->length; i++)
                        {
                                if (p->a[i]<p->[m] && i>m)
                                {
                                        n = p->a[i];
                                        for (j = 0; j<p->length; j++)
                                        {
                                                p->a[j + 1] = p->a[j];
                                                p->a[0] = n;
                                        }
                                }
                        }
                }

提示一堆错误,还不会改,求救求救,
怎么才能改正??
        }
最佳答案
2020-4-26 15:58:52
问题实在太多了,改了之后就已经不记得都修改过哪里了。
  1. #include<stdio.h>
  2. #define N 10
  3. typedef struct list
  4. {
  5.         int a[N];
  6.         int length;
  7. }info;
  8. void VOID(info*p);
  9. void SCANF(info*p);
  10. void SUM(info *p, info *n);
  11. void change(info *p);
  12. void swap(info *p, int m);
  13. int main()
  14. {
  15.         info A, B, C;
  16.         VOID(&A);
  17.         VOID(&B);
  18.         VOID(&C);
  19.         SCANF(&A);
  20.         SCANF(&B);
  21.         SUM(&A, &B);//合并两个顺序表
  22.         swap(&A,2);//将顺序表改变顺序后
  23.         return  0;
  24. };
  25. void    VOID(info*p)// 将顺序表清空
  26. {
  27.         p->length = 0;

  28. }
  29. void SCANF(info*p)//向顺序表内输入数据;
  30. {
  31.         char ch;
  32.         int x;
  33.         //首先进行判满操作
  34.         if (p->length>N)
  35.                 printf("表已经满了,无法输入数据");
  36.         else
  37.         {
  38.                 /* 进行数据的输入 */
  39.                 do
  40.                 {
  41.                         scanf("%d", &x);
  42.                         p->a[p->length++] = x;
  43.                         getchar();
  44.                         printf("是否还要添加元素(y|n):");
  45.                         scanf("%c", &ch);

  46.                 }  while (ch == 'y' || ch == 'Y');

  47.         }
  48. }
  49. void SUM(info *p, info *n)//合并两个顺序表
  50. {
  51.         int i, j;
  52.         info C;
  53.         printf("A和B的合集为:");
  54.         for (i = 0; i<p->length; i++)
  55.         {
  56.                 for (j = 0; j<n->length; j++)
  57.                 {
  58.                         if (p->a[i] - n->a[j] == 0)
  59.                         {
  60.                                 C.a[i] = p->a[i];
  61.                                 C.length++;
  62.                                 printf("%d  ",C.a[i]);
  63.                         }
  64.                 }
  65.         }
  66.         printf("\n");
  67. }
  68. void change(info *p)//将顺序表中的元素逆置
  69. {
  70.         int i, k;
  71.         for (i = 0; i<(p->length) / 2; i++)
  72.         {
  73.                 k = p->a[i];
  74.                 p->a[i] = p->a[p->length - 1 - i];
  75.                 p->a[p->length - 1 - i] = k;

  76.         }
  77.       
  78.         for (i = 0; i < p->length; i++)
  79.         {
  80.                 printf("%d", p->a[i]);
  81.         }

  82. }
  83. void swap(info *p, int m)//将顺序表改变顺序后
  84. {
  85.         int i, j, n;
  86.         for (i = 0; i<p->length; i++)
  87.         {
  88.                 if (p->a[i]<p->a[m] && i>m)
  89.                 {
  90.                         n = p->a[i];
  91.                         for (j = i; j>0; j--)
  92.                         {
  93.                                 p->a[j] = p->a[j-1];
  94.                                 
  95.                         }p->a[0] = n;
  96.                 }
  97.         }
  98.         for (i = 0; i < p->length; i++)
  99.         {
  100.                 printf("%d ", p->a[i]);
  101.         }
  102. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-4-26 15:58:52 | 显示全部楼层    本楼为最佳答案   
问题实在太多了,改了之后就已经不记得都修改过哪里了。
  1. #include<stdio.h>
  2. #define N 10
  3. typedef struct list
  4. {
  5.         int a[N];
  6.         int length;
  7. }info;
  8. void VOID(info*p);
  9. void SCANF(info*p);
  10. void SUM(info *p, info *n);
  11. void change(info *p);
  12. void swap(info *p, int m);
  13. int main()
  14. {
  15.         info A, B, C;
  16.         VOID(&A);
  17.         VOID(&B);
  18.         VOID(&C);
  19.         SCANF(&A);
  20.         SCANF(&B);
  21.         SUM(&A, &B);//合并两个顺序表
  22.         swap(&A,2);//将顺序表改变顺序后
  23.         return  0;
  24. };
  25. void    VOID(info*p)// 将顺序表清空
  26. {
  27.         p->length = 0;

  28. }
  29. void SCANF(info*p)//向顺序表内输入数据;
  30. {
  31.         char ch;
  32.         int x;
  33.         //首先进行判满操作
  34.         if (p->length>N)
  35.                 printf("表已经满了,无法输入数据");
  36.         else
  37.         {
  38.                 /* 进行数据的输入 */
  39.                 do
  40.                 {
  41.                         scanf("%d", &x);
  42.                         p->a[p->length++] = x;
  43.                         getchar();
  44.                         printf("是否还要添加元素(y|n):");
  45.                         scanf("%c", &ch);

  46.                 }  while (ch == 'y' || ch == 'Y');

  47.         }
  48. }
  49. void SUM(info *p, info *n)//合并两个顺序表
  50. {
  51.         int i, j;
  52.         info C;
  53.         printf("A和B的合集为:");
  54.         for (i = 0; i<p->length; i++)
  55.         {
  56.                 for (j = 0; j<n->length; j++)
  57.                 {
  58.                         if (p->a[i] - n->a[j] == 0)
  59.                         {
  60.                                 C.a[i] = p->a[i];
  61.                                 C.length++;
  62.                                 printf("%d  ",C.a[i]);
  63.                         }
  64.                 }
  65.         }
  66.         printf("\n");
  67. }
  68. void change(info *p)//将顺序表中的元素逆置
  69. {
  70.         int i, k;
  71.         for (i = 0; i<(p->length) / 2; i++)
  72.         {
  73.                 k = p->a[i];
  74.                 p->a[i] = p->a[p->length - 1 - i];
  75.                 p->a[p->length - 1 - i] = k;

  76.         }
  77.       
  78.         for (i = 0; i < p->length; i++)
  79.         {
  80.                 printf("%d", p->a[i]);
  81.         }

  82. }
  83. void swap(info *p, int m)//将顺序表改变顺序后
  84. {
  85.         int i, j, n;
  86.         for (i = 0; i<p->length; i++)
  87.         {
  88.                 if (p->a[i]<p->a[m] && i>m)
  89.                 {
  90.                         n = p->a[i];
  91.                         for (j = i; j>0; j--)
  92.                         {
  93.                                 p->a[j] = p->a[j-1];
  94.                                 
  95.                         }p->a[0] = n;
  96.                 }
  97.         }
  98.         for (i = 0; i < p->length; i++)
  99.         {
  100.                 printf("%d ", p->a[i]);
  101.         }
  102. }
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 16:18:33 | 显示全部楼层
sunrise085 发表于 2020-4-26 15:58
问题实在太多了,改了之后就已经不记得都修改过哪里了。

谢谢大哥
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-26 16:19:26 | 显示全部楼层

错误        5        error C1075: 与左侧的 大括号“{”(位于“w:\visual studio 2013\projects\consoleapplication4\consoleapplication4\源.c(30)”)匹配之前遇到文件结束        w:\visual studio 2013\projects\consoleapplication4\consoleapplication4\源.c        102        1        ConsoleApplication4
这个怎么改的呢???
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-5 02:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表