标题:求助 明天要考的 c语言的哦题目 我 做了 不知到是不是对的
只看楼主
nightonly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-4-14
 问题点数:0 回复次数:4 
求助 明天要考的 c语言的哦题目 我 做了 不知到是不是对的
设有一数列,包含10个数,已按升序排好(程序中按升序读入数组)。要求编程;它能够把从指定位置开始的N个数按照逆序重新排列并输出新的完整数列。进行逆序处理是要求使用指针方法。
下面是我做的 不知道对不对 请哪位高手 指点一下

#include<stdio.h>
void sort (int *p);
int main(void)
{int *p;
 int a[10]={2,4,6,8,10,12,14,16,18,20};p=a;
 int i,n;
 printf("please enter n:");
 scanf("%d",&n);
 sort(*p+n-1);
 for(p=a;p<a+n;p++)
 printf("%d",*p);
 getch();
}
 void sort (lint *p)
{
 int i,j,temp;
 for(i=0;i<5;i++)
 for(j=i+1;j<5;j++)
 if(a[i]<a[j])
{
 temp=*p++;
 *p+i=*p+j;
 *p+j=temp;
}
搜索更多相关主题的帖子: c语言 int sort void 
2008-04-14 21:29
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
得分:0 
指针指向最后的位置 p--输出 ;何必那么 麻烦
要不就 麻烦下排序

for(p=a;p<a+N;p++)
  {
      for(p1=p;p1<a+N;p1++)
      {  if(*p1>*(p1-1))
         {
          temp=*p1;
         *p1=*(p1-1);
         *(p1-1)=temp;
         }
        }
    }
指针冒泡 虽然冒泡 不是很好的方法 但是很经典 能让你更了解数组

------...-.-..-...-----........-------.......----.....------....||- - !
2008-04-14 23:36
nightonly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-4-14
得分:0 
谢谢指点啊
2008-04-15 07:28
死了都要C
Rank: 4
来 自:四川成都
等 级:贵宾
威 望:13
帖 子:1582
专家分:116
注 册:2006-12-7
得分:0 
题目是要求排序````

但是我比较懒````如果只检查输出结果来判断你程序对错``

那么我根本就不去排序```

既然原始数列有顺序```我就把N和它后面指定的数逆序输出``其他数原样输出``

这可方便多了吧``

女施主``我给你``送茶来了```师太``你就从了老衲吧``
代码本天成~~~妙头偶得之```
2008-04-15 12:52
nightonly
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2008-4-14
得分:0 
谢谢 斑竹指点 啊
2008-04-15 21:30



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




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

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