c语言数组存储负数,求c语言高手编一程序将数组a10 | 您所在的位置:网站首页 › 数组可以存负数吗 › c语言数组存储负数,求c语言高手编一程序将数组a10 |
题目中有些需要考虑的问题: 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 实验室设备网 版权所有 |