| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 769 人关注过本帖
标题:用function call array with pointer的问题
只看楼主 加入收藏
HenryJay
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2009-10-2
结帖率:100%
收藏
 问题点数:0 回复次数:4 
用function call array with pointer的问题
Write a program to input marks, sort and display the sorted marks. Use the following function prototypes:-

void fillArray (int *, int);     - to input marks into a one dimensional (1-D) array
void swapArray(int *, int);     - to swap the array elements
void printArray (int *, int);  - to print the array elements

sample output:

Enter 5 marks : 45 66 12 34 55

Marks in ascending order  =      12      34      45      55      66  

为什么我在compile后得到的答案不对?
我已经用上网找的所谓冒泡法....
大大看我有什么做错.......

我输入 5 9 66 44 3

答案是  9 66 44 3 5
还有在linux的os下有时竟然不能运行,windows的C pelles既然好好的
有时候出现什么segmention fault(不知有写对吗)
但在windows下有好好的,但用另一个dev++在compile后并输入数据后无端端推出
c是不是并没有在全部的compiler有一个标准??

不说用不同的电脑,在同一个电脑室里,我朋友明明和我一样的代码既然output不一样......zzzz
╮(╯▽╰)╭


#include <stdio.h>

void fillArray(int*,int);
void swapArray(int*,int);
void printArray(int*,int);

int main()
{
   int marks[5],swap_marks,size=5;
   
   fillArray(marks,size);
   swapArray(marks,swap_marks);
   printArray(marks,size);

   return 0;
}
 void fillArray(int *marks,int size)
{
        int i;
   
        printf("Enter 5 marks : ");
        for(i=0;i<size;i++)
            {
        scanf("%d",&marks[i]);
        }
}
 void swapArray(int *marks,int swap_marks)
{
        int i,j;
        for(i=0;i<5;i++)
                  for(j=i;j<5;j++)
                     if(marks[i]>marks[j])
                      {
                       swap_marks=marks[i];
                       marks[i]=marks[i+1];
                       marks[i+1]=swap_marks;
     }
}
 void printArray(int *marks,int size)
{
    int i;
   
    printf("Marks in ascending order : \n");
    for(i=0;i<=4;i++)
    {
      printf("%d\t",marks[i]);
     }
}

搜索更多相关主题的帖子: array pointer call function 
2009-10-06 20:50
HenryJay
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2009-10-2
收藏
得分:0 
高手请回答回答我啊!!
2009-10-06 23:13
HenryJay
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2009-10-2
收藏
得分:0 
pointer+array(我不是来自中国,根据这里的帖子应该是 指针+阵列 然后用在function真的很混淆啊!!
2009-10-07 07:58
邶风
Rank: 5Rank: 5
等 级:职业侠客
帖 子:287
专家分:335
注 册:2009-1-20
收藏
得分:0 
程序代码:
#include <stdio.h> 

void fillArray(int*,int); 
void swapArray(int*);/////////////////////// 
void printArray(int*,int); 

int main() 
{ 
   int marks[5],size=5; 
    
   fillArray(marks,size); 
   swapArray(marks);////////////////////// 
   printArray(marks,size); 

   return 0; 
} 
void fillArray(int *marks,int size) 
{ 
        int i; 
     
        printf("Enter 5 marks : "); 
        for(i=0;i<size;i++) 
            { 
        scanf("%d",&marks[i]); 
        } 
} 
void swapArray(int *marks)//////////////////////// 
{ 
        int swap_marks;//这里 用局部变量就好了 
        int i,j; 
        for(i=0;i<5;i++) 
            for(j=i+1;j<5;j++) 
                if(marks[i]>marks[j])//这里 你原来的写法是i和j比较,可是i和j按你的循环下来可是同一个值啊 要改成相邻的数比较 
                { 
                       swap_marks=marks[i]; 
                       marks[i]=marks[j]; 
                       marks[j]=swap_marks; 
                } 
} 
void printArray(int *marks,int size) 
{ 
    int i; 
     
    printf("Marks in ascending order : \n"); 
    for(i=0;i<=4;i++) 
    { 
      printf("%d\t",marks[i]); 
     } 
}
。。。

[ 本帖最后由 邶风 于 2009-10-7 08:26 编辑 ]

#include
2009-10-07 08:17
HenryJay
Rank: 1
等 级:新手上路
帖 子:17
专家分:6
注 册:2009-10-2
收藏
得分:0 
非常非常感激啊!
2009-10-07 13:11
快速回复:用function call array with pointer的问题
数据加载中...
 
   



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

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