c语言数组存储负数,求c语言高手编一程序将数组a10 您所在的位置:网站首页 数组可以存负数吗 c语言数组存储负数,求c语言高手编一程序将数组a10

c语言数组存储负数,求c语言高手编一程序将数组a10

2024-07-14 23:17| 来源: 网络整理| 查看: 265

题目中有些需要考虑的问题:

1。 没有给出数组a[10]数据源, 要我们创造出来么? 随机输入还是用户输入? 另外a是什么类型的数组, 整数?单精度双精度浮点?甚至可能是字符串?

2。 两个整数数组b和c需要静态数组还是动态的?因为如果是静态的, 那么最后会出现一些垃圾值, 如果是初始化过的, 那么会多出一些0。

3。 如果数组a是int/double/float类型数组的其中一个, 那么数组中出现0(0。000000)怎么办?

代码如下: 假设整型数组a[10]所有数字是随机产生, b和c数组大小固定和数组a长度相同。

#include

#include /*srand和rand函数都在这个头文件内*/

#include /*time在这个头文件内--只是为了生成逼真的随机数效果*/

#define ARRAYSIZE 10

void Generate_a10(int *ar);

void Separate(int *ar, int *br, int *cr);

void Print(int *br, int *cr);

int main(void)

{

int a[ARRAYSIZE], b[ARRAYSIZE] = {0}, c[ARRAYSIZE] = {0};

srand(time(NULL)); /*设置随机种子*/

Generate_a10(a); /*产生10个随机数到源数组a*/

Separate(a, b, c); /*将正负数分割到数组b和c*/

//Print(b, c); /*输出到屏幕, 因为不确定题目是否要输出, 故屏蔽。

*/

return 0;

}

void Generate_a10(int *ar)

{

int i;

for(i = 0; i 0) { /*整形数组b存储正整数*/

*(br + j) = *(ar + i);

j++;

}

else if(*(ar + i) < 0) { /*c存储负整数*/

*(cr + k) = *(ar + i);

k++;

}

}

}

void Print(int *br, int *cr)

{

int i;

puts("b[N]:");

for(i = 0; i < ARRAYSIZE; i++) {

printf("%d ", *(br + i));

}

puts("\nc[N]:");

for(i = 0; i < ARRAYSIZE; i++) {

printf("%d ", *(cr + i));

}

putchar('\n');

}

全部



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有