数组STRAING中存放着多个8位有符号数,以“$”结束,要求分成正数组和负数组分别存放,并统计两个数组的个数,分别存于正、负数组的第一个字节。
时间: 2024-05-05 11:19:28 浏览: 60
好的,我了解您的要求,并按照您的要求进行处理。以下是代码片段,可以将数组STRAING分成正数组和负数组,并统计它们的个数,并将它们分别存储在正、负数组的第一个字节:
```
signed char STRAING[] = {-10, 20, 30, -40, -50, 60, 70, 80, 90, 100, -120, -130, -140, 150, 160, '$'};
signed char positiveArray[256];
signed char negativeArray[256];
int positiveCount = 0;
int negativeCount = 0;
int i = 0;
while (STRAING[i] != '$') {
if (STRAING[i] >= 0) {
positiveArray[positiveCount + 1] = STRAING[i];
positiveCount++;
} else {
negativeArray[negativeCount + 1] = STRAING[i];
negativeCount++;
}
i++;
}
positiveArray[0] = positiveCount;
negativeArray[0] = negativeCount;
```
这段代码将原始数组STRAING中的每个元素根据正负号分别存储在positiveArray和negativeArray中,并使用positiveCount和negativeCount变量统计正数组和负数组中元素的个数。请注意,为了避免使用字节0作为数组中数据个数的存储位置,代码使用了positiveArray[0]和negativeArray[0]来存储正数组和负数组中元素的个数。
阅读全文