| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 789 人关注过本帖
标题:还是关于指针的题目!不知道逻辑哪里错了,指针有点难搞啊。求教1
只看楼主 加入收藏
awsw911
Rank: 1
等 级:新手上路
帖 子:19
专家分:0
注 册:2008-2-27
收藏
 问题点数:0 回复次数:8 
还是关于指针的题目!不知道逻辑哪里错了,指针有点难搞啊。求教1
4、在主函数中输入10个整数。用另一个函数对它们按升序排序,然后在主函数中输出这10个已排序的整数。?
5、用指针型指针对五个字符串进行排序,并将排序后的结果按顺序输出。
   4:#include<stdio.h>
main()
{
   int a[10];
   int i,temp;
   printf("\nplease input a[]=\n");
   for(i=0;i<10;i++)
   scanf("%d",&a[i]);
   paixu(a);
   for(i=0;i<10;i++)
   printf("a[%d]=%d\n",i+1,a[i]);
}
int paixu(int *p)
{
   int i,temp;
   for(i=0;i<10;i++)
     {
       if(p[i]>p[i+1])
      temp=p[i];
      p[i]=p[i+1];
      p[i+1]=temp;
     }
     return p;
}


4可以运行,就是跟题目要求不一样。不知道哪里逻辑错了。
5,我完全没思路啊!!
初学中!
搜索更多相关主题的帖子: 指针 int 逻辑 题目 难搞 
2008-05-15 13:27
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
给你说下第2题的思路把  接收5个字符串 (char s[max][20]) 用复制函数strcop  进行排序 排序的方法看你选择了  yong  指针就  char * name[]

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-15 13:41
yd4433
Rank: 1
等 级:新手上路
帖 子:404
专家分:0
注 册:2008-3-9
收藏
得分:0 
haiyou  第一题  大概看了下 你比较{}呢  还有 比较 也错了

------...-.-..-...-----........-------.......----.....------....||- - !
2008-05-15 13:43
mqh21364
Rank: 1
等 级:新手上路
帖 子:642
专家分:0
注 册:2008-2-28
收藏
得分:0 
你的排序算法根本不对阿
建议去看看冒泡排序。

前不见古人,后不见来者。念天地之悠悠,独怆然而涕下。
2008-05-15 14:03
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
冒泡好
2008-05-15 20:22
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
冒泡排序
#include<stdio.h>
#define SIZE 10
int main()
{
    int a[SIZE]={2,6,4,8,10,12,89,68,45,37};
    int pass;
    int i;
    int hold;
    printf("Data items in original order\n");
    for (i=0;i<=SIZE-1;i++){
        printf("%4d",a[i]);
    }
    for (pass=1;pass<=SIZE-1;pass++){
        for (i=0;i<=SIZE-1;i++){
            if (a[i]>a[i+1]){
                hold=a[i];
                a[i]=a[i+1];
                a[i+1]=hold;
            }
        }
    }
    printf("\nData items in ascending order\n");
    for (i=0;i<=SIZE-1;i++){
        printf("%4d",a[i]);
    }
    printf("\n");
    return 0;
}
2008-05-15 20:24
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
引用调用的冒泡排序----指针
#include<stdio.h>
#define SIZE 10
void bubbleSort(int *const array,const int size);
int main()
{
    int a[SIZE]={2,6,4,8,10,12,89,68,45,37};
    int i;
    printf("Data items in original order\n");
    for (i=0;i<=SIZE-1;i++){
        printf("%4d",a[i]);
    }
    bubbleSort(a,SIZE);
    printf("\nData items in ascending order\n");
    for (i=0;i<=SIZE-1;i++){
        printf("%4d",a[i]);
    }
    printf("\n");
    return 0;
}
void bubbleSort(int *const array,const int size)
{
    void swap(int *element1Ptr,int *element2Ptr);
    int pass;
    int j;
    for(pass=0;pass<size-1;pass++){
        for(j=0;j<size-1;j++){
            if(array[j]>array[j+1]){
                swap(&array[j],&array[j+1]);
            }
        }
    }
}
void swap(int *element1Ptr,int *element2Ptr)
{
    int hold=*element1Ptr;
    *element1Ptr=*element2Ptr;
    *element2Ptr=hold;
}
2008-05-15 20:26
走一圈
Rank: 1
等 级:新手上路
帖 子:156
专家分:0
注 册:2008-5-9
收藏
得分:0 
#include<stdio.h>
void paixu(int *p)
{
   int i,temp,j;
   for(j=0;j<=9;j++)
     for(i=0;i<=9;i++)//for(i=0;i<=9-i;i++)短了很多时间 谢谢楼下
       if(p[i]>p[i+1])
       {temp=p[i];p[i]=p[i+1];p[i+1]=temp;}
}
void main()
{
   int a[10];
   int i,temp;
   printf("\nplease input a[]=\n");
   for(i=0;i<10;i++)
   scanf("%d",&a[i]);
   paixu(a);
   for(i=0;i<10;i++)
   printf("a[%d]=%d\n",i+1,a[i]);
}
你的代码我改了  也是冒泡

[[it] 本帖最后由 走一圈 于 2008-5-15 22:39 编辑 [/it]]
2008-05-15 22:34
光影门徒
Rank: 2
等 级:论坛游民
帖 子:103
专家分:28
注 册:2008-4-24
收藏
得分:0 
第一题,在你的基础上改了下,也是弄的冒泡排序:
#include<stdio.h>
main()
{void paixu(int *p);
   int a[10];
   int i;
   printf("please input a[]=\n");
   for(i=0;i<10;i++)
   scanf("%d",&a[i]);
   paixu(a);
   for(i=0;i<10;i++)
   printf("a[%d]=%d\n",i+1,a[i]);
}
void paixu(int *p)
{
   int i,j,temp;
   for(i=0;i<9;i++)
     for(j=0;j<9-i;j++)
     
       if(p[j]>p[j+1])
     { temp=p[j];
      p[j]=p[j+1];
      p[j+1]=temp;
     }
     
}

多看少说,重在学习!
2008-05-15 22:36
快速回复:还是关于指针的题目!不知道逻辑哪里错了,指针有点难搞啊。求教1
数据加载中...
 
   



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

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