标题:运行不对啊?求解,
只看楼主
浅墨初白
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2018-3-29
得分:0 
回复 9楼 酸奶味皮皮虾

#include <stdio.h>
#define N 4
int main ()
{
    int a[N],i,temp;

    for (i=0; i<N; i++)
        scanf ("%d",&a[i]);

    for (i=0; i<N-i; i++)
    {
        temp = a[i];
        a[i] = a[N-i-1];
        a[N-i-1] = temp;
    }

    for (i=0; i<N; i++)
        printf ("a[%d] = %d\n",i,a[i]);//嗯嗯呢,可以问下,printf 输出的a[%d],这个地方a[]里头%d是啥意思
                                       说下我的问题:上面循环之后就把所有数反序了,其实我有点搞不懂输出的是a[i]还是a[N-(i-1)]才是对的。。

    return 0;
}

[此贴子已经被作者于2018-6-4 23:15编辑过]

2018-06-04 23:09
浅墨初白
Rank: 1
等 级:新手上路
帖 子:57
专家分:0
注 册:2018-3-29
得分:0 
回复 9楼 酸奶味皮皮虾
根据你的建议我改成了这样,不知道对不对
只是我用的 void ,末尾不用return 0,我觉得应该还是对的吧

但是执行   /捂脸/  是这样   我也不知道为嘛啊 /大哭/
#include <stdio.h>
#define N 4
void main()
{
     int a[N],i,tmpt;
     printf("输入数组a : \n");
     for(i=0;i<N;i++)
         scanf("%d",&a[i]);
     for(i=0;i<N-1;i++)
     {
         tmpt=a[i];
         a[i]=a[N-(i-1)];
         a[N-(i-1)]=tmpt;
     }
     for(i=0;i<N;i++)
         printf("a[%d]=%4d\n",i,a[i]);
}

2018-06-04 23:31
自学的数学
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:46
帖 子:967
专家分:4146
注 册:2017-11-15
得分:0 
你一提问,就说运行不对,求解,我看了下,你原先的程序是可以运行的,但是教你要求解,问题是你希望你的程序达到什么样的目的才对,你又不说,不是我说出来,别人还不知道。既然我说对了,我也写了个,看看。其实这样的代码,本论坛应该有的,你要先学会搜素。这样会快些的。
程序代码:
#include<stdio.h>
#include<stdlib.h>
//定义函数antitone用于反序
int antitone(int *p,int n)
{
  int i,empty;
  for(i=0;i<n/2;i++)
    {
      empty=p[i];
      p[i]=p[n-i-1];
      p[n-i-1]=empty;
    }
  return 0;
}
int main()
  {
    int i,n,array[100];
    printf("请输入数组中元素的个数:\n");
    scanf("%d",&n);
    printf("请输入数组元素:\n");
    for(i=0;i<n;i++)
      scanf("%d",array+i);
    printf("数组原元素的排序为:\n");
    for(i=0;i<n;i++)
        printf("%d ",array[i]);
    printf("\n");
    antitone(array,n);
    printf("数组反序后元素的排序为:\n");
    for(i=0;i<n;i++)
      printf("%d ",array[i]);
    printf("\n");
}


[此贴子已经被作者于2018-6-5 09:39编辑过]

2018-06-05 09:32
融水公子
Rank: 1
等 级:新手上路
帖 子:1
专家分:6
注 册:2018-6-5
得分:6 
回复 楼主 浅墨初白
#include<stdio.h>
int main()
{
    int a[4]={1,5,3,8};
    int i;
    printf("内置:");
    for(i=0;i<4;i++)
    {
        printf("%d ",a[i]);
    }
    printf("\n倒序:");
    for(i=3;i>=0;i--)
    {
        printf("%d ",a[i]);
    }
    return 0;
}
然后,程序输出的结果:
内置:1 5 3 8
倒序:8 3 5 1
2018-06-05 10:01



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-487593-1-1.html




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

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