注册 登录
编程论坛 C++教室

谢谢各位大神,但是我按照你们的建议改了,还是有点问题,希望你们能继续帮助

csfbsbv 发布于 2012-11-05 09:27, 355 次点击
#include <stdio.h>
int a[100],t,i,j,x;
main()
{
    a[100]={45,9,63,12,7,3,92,47,9,61};
    int x;
    scanf("%d",&x);
    switch(x)
    {
    case 1:
    {
        for(i=0;i<9;i++)
        for(j=i+1;j<10;j++)
        {
            if(a[i]>a[j])
            {
                t=a[i],a[i]=a[j],a[j]=t;
            }
        }
        printf("%s\n",a);
    }
    break;
    case 2:
        {
            for(i=10;i>4;i--)
        a[i-1]=a[i];
    scanf("%d",&a[5]);
    printf("%s\n",a);
        }
        break;
    case 3:
        {
            for(i=3;i<10;i++)
        a[i-1]=a[i];
            printf("%s\n",a);
        }
    }
    break;
}
运行后有3个错误
1.C:\Documents and Settings\dell\桌面\新建文件夹\liu.c(5) : error C2059: syntax error : '{'
2.C:\Documents and Settings\dell\桌面\新建文件夹\liu.c(6) : error C2143: syntax error : missing ';' before 'type'
3.C:\Documents and Settings\dell\桌面\新建文件夹\liu.c(38) : error C2043: illegal break
我这个程序是这样的;
创建一个数组并让它进行下面的运算;
1.按1从小到大排序后输出;
2.在a[4]和a[5]之间插入一个数,输出数组;
3.删除当前数组a[2],输出数组
2 回复
#2
JYIT2012-11-05 09:56
t=a[i],a[i]=a[j],a[j]=t;
每一个都要加分号,要记得是英文状态下
#3
zxd5432012-11-05 18:24
#include <stdio.h>
int main()
{
    int temp,x;
    int i,j;
    int a[11]={45,9,63,12,7,3,92,47,9,61};//没必要开那么大数组
    scanf("%d",&x);
    switch(x)
    {
        case 1:
        {
           for(i=0;i<10;i++)
           {
                for(j=9;j>i;j--)
                    if(a[j]<a[j-1])
                    {
                       temp=a[j];
                       a[j]=a[j-1];
                       a[j-1]=temp;
                    }
           }
           for(i=0;i<10;i++)
                 printf("%d ",a[i]);
           printf("\n");
            break;
        }
        case 2:
        {
            for(i=10;i>5;i--)
            {
                a[i]=a[i-1];
            }
            scanf("%d",&a[5]);
            for(i=0;i<=10;i++)
                 printf("%d ",a[i]);
            printf("\n");
            break;
        }
        case 3:
        {
            for(i=3;i<10;i++)
                 a[i-1]=a[i];
            for(i=0;i<9;i++)
                printf("%d ",a[i]);
            printf("\n");
            break;
        }
        
    }
    return 0;
}
这回试试 上次给你改你没说清题意
一定要注意你的书写格式
1