| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 613 人关注过本帖
标题:简单的冒泡程序求解!!
只看楼主 加入收藏
shixian
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-9-28
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:5 
简单的冒泡程序求解!!
就是定义一个长度不限的一维数组,输入一个n,然后确定数组a[n]的长度,也就是说怎么定义其长度是变量的??书上有说“如果在被调用的函数(不包括主函数)中定义数组,其长度可以是变量或非常量的表达式”但是程序编好了,还是出现错误说不知道数组的长度。我编的程序。求解!!
#include<stdio.h>
int main()
{
 void func(int);
 int n;
 scanf("%d",&n);
 func(n);
 return 0;
}
 void func(int n)
 {
 int a[n];
 int i,j,t;
 for(i=0;i<n;i++)
 scanf("%d",&a[i]);
 printf("\n");
 for(j=0;j<n;j++)
     for(i=0;i<n-j;i++)
         if(a[i]>a[i+1])
         {t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=0;i<10;i++)
printf("%5d",a[i]);
}
搜索更多相关主题的帖子: 求解 冒泡 
2010-09-28 14:07
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:6 
我记得定义数组时一定要用常量!!!不能用变量!不知道你是不是记错了?
2010-09-28 14:15
shixian
Rank: 1
等 级:新手上路
帖 子:7
专家分:1
注 册:2010-9-28
收藏
得分:0 
以下是引用Crocodile_JX在2010-9-28 14:15:11的发言:

我记得定义数组时一定要用常量!!!不能用变量!不知道你是不是记错了?

那怎样编一个函数,就是随意输入数组长度,然后排序出来!!
2010-09-28 14:16
Crocodile_JX
Rank: 5Rank: 5
等 级:职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
收藏
得分:0 
#include<stdio.h>
#define max 5   /*用宏定义的方法,在这里改变数组的大小。*/
int main()
/*{
void func(int);
int n;
scanf("%d",&n);
func(n);
return 0;
}
void func(int n)   */
{
int a[max];
int i,j,t;
for(i=0;i<max;i++)
scanf("%d",&a[i]);
printf("\n");
for(j=0;j<max;j++)
     for(i=0;i<max-j;i++)
         if(a[i]>a[i+1])
         {t=a[i];a[i]=a[i+1];a[i+1]=t;}
for(i=0;i<max;i++)
printf("%5d",a[i]);
getch();
}
2010-09-28 14:28
xinjinlong
Rank: 3Rank: 3
来 自:河南南阳
等 级:论坛游侠
帖 子:61
专家分:117
注 册:2010-1-19
收藏
得分:6 
方法1:你可以定义一个数组,例如为a[100],就是说你估计要输入的数n在你预定值内就可以了
方法2:就是用malloc:int *a=(int *)malloc(sizeof(int)*n);
但是记者到时候要释放:free(a);
2010-09-28 14:32
xuexibianc
Rank: 2
等 级:论坛游民
帖 子:35
专家分:34
注 册:2010-9-8
收藏
得分:6 
int a[n];不能这样定义。直接写int a[20]==就行了。
2010-09-28 15:06
快速回复:简单的冒泡程序求解!!
数据加载中...
 
   



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

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