用C语言帮我写一个函数:初始化数组Data[5]={0},当有新值来时,先丢弃Data[0]的值,把Data[1]的值给Data[0]。Data[2]的值给Data[1],依次类推,最后Data[4]存放新的值,完成这个函数。
时间: 2024-12-11 18:34:44 浏览: 16
你可以创建一个名为`rotate_and_store`的C语言函数来实现这个功能。这个函数需要一个整型数组`Data`和一个整数`newValue`作为输入。下面是一个简单的示例:
```c
#include <stdio.h>
#define SIZE 5
void rotate_and_store(int Data[SIZE], int newValue) {
// 如果数组未满,直接将新值存储到最后一个位置并更新其他元素
if (SIZE - 1 >= newValue) {
Data[4] = newValue; // 存放新的值
for (int i = 4; i > 0; i--) { // 从最后一个元素开始逆序旋转
Data[i] = Data[i - 1];
}
// 清空第一个元素
Data[0] = 0;
} else {
printf("Array is full, unable to store the new value.\n");
}
}
int main() {
int Data[SIZE] = {0};
int newValue = 10; // 示例的新值
rotate_and_store(Data, newValue);
// 打印数组内容
for (int i = 0; i < SIZE; i++) {
printf("Data[%d]: %d\n", i, Data[i]);
}
return 0;
}
```
在这个函数中,我们首先检查数组是否还能容纳新值,然后按照描述的过程更新数组。如果数组已满,则会显示错误信息。
阅读全文