| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1066 人关注过本帖
标题:还是有错误,望大神修改,有注释最好,谢谢
只看楼主 加入收藏
goldAilie18
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2018-6-27
结帖率:66.67%
收藏
已结贴  问题点数:15 回复次数:3 
还是有错误,望大神修改,有注释最好,谢谢
图片附件: 游客没有浏览图片的权限,请 登录注册


#include<stdio.h>
int a[100001],i,N,L;
char b[100001],o;
int R(int a[i],int L)
{/*不同于题目,L表示数组长度,i表示数组第几个元素,N表示共有多少组数据,o表示字符串*/
    for (i=0;i<L;i++)
    a[L-i+1]=a[i];
    return 0;
}
/*定义一个D操作*/
int D(int a[i],int L)
{
    if (L==0)
        printf("error\n");
    else
    {
        for(i=0;i<L;i++)
        {
            a[i]=a[i+1];
            L--;
        }
    }
    return 0;
}
int main()
{
    scanf ("%d\n",&N);
    while (scanf("%d",&N)!=EOF)
    {
        scanf("%s",o);
        scanf("%d\n",&L);
        for (i=0;i<L;i++)
            scanf("%d\n",&a[i]);
        if(b[i]=='R')
            a[i]=R(a[i],L);
        else if(b[i]=='D')
            a[i]=D(a[i],L);
        else
            printf ("error\n");
        if(L>0)
        {
            for(i=0;i<L;i++)
            {
                printf ("%s",a[i]);
            }
        }
        else
            printf("error\n");
    }
    return 0;
}
搜索更多相关主题的帖子: int for i++ printf scanf 
2018-06-29 00:04
goldAilie18
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2018-6-27
收藏
得分:0 
这个也不行,望修改

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define MAX 100000
int a[MAX];
int diyi(int m){
    int i;
    for(i=0;i<m-2;i++){
        a[i]=a[i+1];
    }
    m--;
    return m;
}
int zuihou(int m){

    m--;
    return m;
}
int main()
{
    int n,i;
    scanf("%d",&n);
    getchar();
    for(i=0;i<n;i++){
        char b[100000];
        int m,j,x=0,l;
        gets(b);
        l=strlen(b);
        scanf("%d",&m);
        for(j=0;j<m;j++){
            scanf("%d",&a[j]);
        }
        for(j=0;j<l;j++){
            switch (b[i]){
            case 'R': x++;break;
            case 'D': if(x%2==0){m=diyi(m);}else{m=zuihou(m);}break;
            default : x=-1;
            }
        }
        if(x==-1){
            printf("error\n");
        }
        else{
            if(x%2==0){
                printf("[");
                for(i=0;i<m;i++){
                    if(i==m-1){
                        printf("%d]\n",a[i]);

                    }
                    else{
                        printf("%d ",a[i]);
                    }
                }
            }
            else{
                printf("[");
                for(i=m-1;i>=0;i--){
                    if(i==0){
                        printf("%d]\n",a[i]);

                    }
                    else{
                        printf("%d ",a[i]);
                    }
                }
            }
        }
        x=0;
    }
    return 0;
}
2018-06-29 00:12
nosnoy
Rank: 9Rank: 9Rank: 9
来 自:mcu
等 级:贵宾
威 望:14
帖 子:541
专家分:1178
注 册:2016-9-17
收藏
得分:15 
用两个数组交换就行了 ,你没有用指针的话,a[l]=a[0]时,a[l]的值已经被覆盖掉了 ,所以a[0]还是原来的值
还有你的error错误提示也有语义上的错误

穷举是最暴力的美学
2018-06-29 08:52
goldAilie18
Rank: 2
等 级:论坛游民
帖 子:19
专家分:20
注 册:2018-6-27
收藏
得分:0 
回复 3楼 nosnoy
请问还要什么错误嘛,error哪里错误了?
2018-06-29 22:59
快速回复:还是有错误,望大神修改,有注释最好,谢谢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022977 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved