谁能看看我哪里错了,给提个意见

毕设港湾 毕业设计 1
#include<stdio.h>

  int main()
{
int n;
printf("请输入0-4中的任意一个整数\n");
scanf("%d",&n);
switch(n)
{
case 0:printf("程序退出\n");break;
case 1:void MPPX();
case 2:void KSPX();
case 3:void DYLX();
case 4:void QGYS();
}
}
int MPPX()
{int a[10];
int i,j,t;
printf("输入10个整数:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
printf("the sorted numbers:\n");
for(i=0;i<10;i++)
printf(" %d",a[i]);
}
int KSPX()
{
int qusort(int s[], int start, int end)
{
int i, j;
i = start;
j = end;
s[0] = s[start];
while (i < j)
{
while (i < j && s[0] < s[j])
j--;
if (i < j)
{
s[i] = s[j];
i++;
}
while (i < j && s[i] <= s[0])
i++;
if (i < j)
{
s[j] = s[i];
j--;
}
}
s[i] = s[0];
if (start < i)
qusort(s, start, j - 1);
if (i < end)
qusort(s, j + 1, end);
return 0;
}
}
int DYLX()
{
int n,i,j;
printf("输入行数n:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<=n-i+1;j++)
printf("*");
putchar('\n');
}
}
int QGYS()
{
int i,a,b,t;
printf("输入两个整数:\n");
scanf("%d%d",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
for (i = a; i >= 2; i--)
{
if (a % i == 0 && b % i == 0)
{
printf("最大公约数是:%d\n",i);
break;
}
}
if(i==1)
printf("两数只能同时被1整除!\n");
return 0;
}

回复

共2条回复 我来回复
  • 代码项目助手
    这个人很懒,什么都没有留下~
    评论
    #include<stdio.h>
    int MPPX(int num[])
    {
        int a[10];
        int i, j, t;
        printf("输入10个整数:\n");
        for (i = 0; i < 10; i++)
            scanf("%d", &a[i]);
        for (j = 0; j < 9; j++)
            for (i = 0; i < 9 - j; i++)
                if (a[i] > a[i + 1])
                {
                    t = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = t;
                }
        printf("the sorted numbers:\n");
        for (i = 0; i < 10; i++)
            printf(" %d", a[i]);
        num = a;
        return 0;
    }
    int KSPX(int s[], int start, int end)
    {
        int i, j;
        i = start;
        j = end;
        s[0] = s[start];
        while (i < j)
        {
            while (i < j && s[0] < s[j])
                j--;
            if (i < j)
            {
                s[i] = s[j];
                i++;
            }
            while (i < j && s[i] <= s[0])
                i++;
            if (i < j)
            {
                s[j] = s[i];
                j--;
            }
        }
        s[i] = s[0];
        if (start < i)
            KSPX(s, start, j - 1);
        if (i < end)
            KSPX(s, j + 1, end);
        return 0;
    }
    int DYLX()
    {
        int n, i, j;
        printf("输入行数n:");
        scanf("%d", &n);
        for (i = 1; i <= n; i++)
        {
            for (j = 1; j <= n - i + 1; j++)
                printf("*");
            putchar('\n');
        }
        return 0;
    }
    int QGYS()
    {
        int i, a, b, t;
        printf("输入两个整数:\n");
        scanf("%d%d", &a, &b);
        if (a > b)
        {
            t = a;
            a = b;
            b = t;
        }
        for (i = a; i >= 2; i--)
        {
            if (a % i == 0 && b % i == 0)
            {
                printf("最大公约数是:%d\n", i);
                break;
            }
        }
        if (i == 1)
            printf("两数只能同时被1整除!\n");
        return 0;
    }
    int main()
    {
        int n = 0;
        int m = 0;
        int a[1024] = {0};
        scanf("%d",&m);
        for (int i = 0; i < m; i++)
        {
            scanf("%d", &a[i]);
        }
        printf("请输入0-4中的任意一个整数\n");
        scanf("%d", &n);
        switch (n)
        {
        case 0:printf("程序退出\n"); break;
        case 1:MPPX(a); break;
        case 2:KSPX(a, 0, m); break;
        case 3:DYLX(); break;
        case 4:QGYS(); break;
        }
        return 0;
    }
    

    函数内部不要申明函数,函数的申明通常写在外部,然后再通过函数名调用

    0条评论
  • 毕业设计工坊
    这个人很懒,什么都没有留下~
    评论

    case后面的void去掉

    #include<stdio.h>
    int main()
    {
        int n;
        printf("请输入0-4中的任意一个整数\n");
        scanf("%d",&n);
        switch(n)
        {
            case 0:
                printf("程序退出\n");
                break;
            case 1:
                 MPPX();
            case 2:
                 KSPX();
            case 3:
                 DYLX();
            case 4:
                 QGYS();
        }
    }
    int MPPX()
    {
        int a[10];
        int i,j,t;
        printf("输入10个整数:\n");
        for(i=0; i<10; i++)
            scanf("%d",&a[i]);
        for(j=0; j<9; j++)
            for(i=0; i<9-j; i++)
                if(a[i]>a[i+1])
                {
                    t=a[i];
                    a[i]=a[i+1];
                    a[i+1]=t;
                }
        printf("the sorted numbers:\n");
        for(i=0; i<10; i++)
            printf(" %d",a[i]);
    }
    int KSPX()
    {
        int qusort(int s[], int start, int end)
        {
            int i, j;
            i = start;
            j = end;
            s[0] = s[start];
            while (i < j)
            {
                while (i < j && s[0] < s[j])
                    j--;
                if (i < j)
                {
                    s[i] = s[j];
                    i++;
                }
                while (i < j && s[i] <= s[0])
                    i++;
                if (i < j)
                {
                    s[j] = s[i];
                    j--;
                }
            }
            s[i] = s[0];
            if (start < i)
                qusort(s, start, j - 1);
            if (i < end)
                qusort(s, j + 1, end);
            return 0;
        }
    }
    int DYLX()
    {
        int n,i,j;
        printf("输入行数n:");
        scanf("%d",&n);
        for(i=1; i<=n; i++)
        {
            for(j=1; j<=n-i+1; j++)
                printf("*");
            putchar('\n');
        }
    }
    int QGYS()
    {
        int i,a,b,t;
        printf("输入两个整数:\n");
        scanf("%d%d",&a,&b);
        if(a>b)
        {
            t=a;
            a=b;
            b=t;
        }
        for (i = a; i >= 2; i--)
        {
            if (a % i == 0 && b % i == 0)
            {
                printf("最大公约数是:%d\n",i);
                break;
            }
        }
        if(i==1)
            printf("两数只能同时被1整除!\n");
        return 0;
    }
    
    0条评论

发表回复

登录后才能评论