黑马程序员技术交流社区
标题:
C# 数组作为返回值输出
[打印本页]
作者:
郭小伟
时间:
2012-12-26 16:26
标题:
C# 数组作为返回值输出
一个数组里的奇数读出来放到另一个数组里返回,main函数里调用返回的值输出,怎么重新弄一个数组,况且新数组长度不确定
作者:
管冉
时间:
2012-12-26 17:05
你说的奇数是指数组中的元素,还是个数或者是下标啊?
要指的是个数或者下标的话方法都一样,直接判断赋值(除2取余什么的都行);
要是需要判断里面的元素,就for循环,然后在赋给链表(ListAdd);
这是我的思路,仅供参考
作者:
赵小江
时间:
2012-12-26 18:03
int[] number = { 23, 4, 5, 42, 21, 33, 50, 5, 64, 2, 3 }; //定义一个数组
string best = "";
for (int i = 0; i < number.Length; i++)//遍历数组找出奇数
{
if (number[i] % 2 != 0)
{
best = best + number[i] + ",";//将奇数放入best字符变量
}
}
string[] bestArr = best.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);//按','分割best.将结果放入bestArr字符串数组
int[] oddNum = new int[bestArr.Length];//定义存放奇数的数组,长度为bestArr的长度
for (int i = 0; i < oddNum.Length; i++)
{
oddNum[i] = Convert.ToInt32(bestArr[i]);//将bestArr数组中的每个元素转换为INT类型放入定义的奇数数组中
}
foreach (int a in oddNum)//输入结果奇数数组的结果
{ Console.WriteLine(a); }
Console.Read();
复制代码
基础学习视频里好像没介绍链表,于是我用的这个办法.
作者:
吕瑞
时间:
2012-12-26 18:27
我是用集合的方法
1.首先定义一个数组
2.创建一个集合List<int> li =new List<int>();
3.使用foreach遍历集合中的每一个元素
4.在foreach中判断不能被2整除的数添加到集合中li.add();
5.获取集合中元素的个数(这个个数就是接下来定义奇数数组的长度)li.Count();可以获取到
6.根据获取到集合中元素的个数创建奇数数组 oddNumber[]
7.再用for循环把集合中每一个元素的值添加到数组中
for (int i = 0; i < 集合元素个数; i++)
{
oddNumber[i] = li[i]
}
8.最后再循环打印oddNumber数组就行了
作者:
杭州-杨
时间:
2012-12-26 19:08
不确定的数组,一般用LIST来做
list<int> js=new list<int>();
for(int i=0;i<你的数组.length;i++)
{
if (你的数组
%2=0)
js.add(你的数组
);
}
return js
返回的是个泛型的数组,这样就可以了
如果你要数组,那么可以把泛型在转换为数组
作者:
黄林
时间:
2012-12-27 12:56
在个数不确定的情况下,个人觉得还是用集合List<T>,方法上面已经讲得很清楚了,因为就算是以后数组有改动,其它代码也可以不动,数组就不行了。当然你一定要个数组,please 使用.ToArry();
作者:
李冠彬
时间:
2012-12-27 15:23
意思差不多:
#include<stdio.h>
void odds(int *a,int an,int *b,int *bn);
void arrout(int w[],int m);
#define n 10
main()
{
int a[n]={15,96,54,76,25,64,31,21,35,91};
int b[n],m=0;
arrout(a,n);
odds(a,n,b,&m);
arrout(b,m);
}
void arrout(int w[],int m)
{
for(int i=0;i<m;i++)
printf("%4d",w[i]);
printf("\n");
}
void odds(int *a,int an,int *b,int *bn)
{
int i,j;
for(j=0,i=0;i<n;i++)
if(a[i]%2!=0)
{
b[j]=a[i];
j++;
}
*bn=j;
}
复制代码
作者:
ykrh
时间:
2013-1-14 23:42
class Program
{
//将int数组中的奇数放到一个新的int数组中返回
static void Main(string[] args)
{
//定义一个整型数组
int[] numArr = { 23,14,22,57,43,86,69,34};
//定义一个整数泛型
List<int> numlist=new List<int>();
for (int i = 0; i < numArr.Length; i++)
{
//判断是否为奇数,是则添加到整数泛型中
if (numArr[i] % 2 == 1)
{
numlist.Add(numArr[i]);
}
}
//将泛型转换为整型数组
int[] newArr = numlist.ToArray<int>();
//遍历输出
for (int i = 0; i < newArr.Length; i++)
{
Console.WriteLine(newArr[i]);
}
Console.ReadKey();
}
}
作者:
李礼彬
时间:
2013-5-18 21:35
这里的奇数是指数组中的元素,还是个数或者是下标呢
如果指的是个数或者下标方法都一样,直接判断然后赋值
需要判断里面的元素的话,用for,然后在赋给链表
作者:
李礼彬
时间:
2013-5-18 21:35
这里的奇数是指数组中的元素,还是个数或者是下标呢
如果指的是个数或者下标方法都一样,直接判断然后赋值
需要判断里面的元素的话,用for,然后在赋给链表
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2