c语言定义一个长度为10的数组并对数组中的元素依次赋值0,10,20,30,40,50,60,70,80,90,要求按逆序输出
时间: 2024-05-14 21:15:20 浏览: 115
以下是示例代码:
```c
#include <stdio.h>
int main() {
int arr[10] = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90};
int i;
for (i = 9; i >= 0; i--) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
输出结果为:
```
90 80 70 60 50 40 30 20 10 0
```
代码中定义了一个长度为10的整型数组 `arr`,并依次赋值为 0,10,20,30,40,50,60,70,80,90。然后使用一个循环从数组末尾开始,依次输出数组元素即可得到逆序输出的结果。
相关问题
c语言设计一个结构体数组,数组长度为60,并为其依次赋值
可以按照以下步骤来设计一个结构体数组并为其依次赋值:
1. 定义结构体类型,如下:
```c
struct student {
char name[20];
int age;
char gender;
};
```
2. 声明一个长度为60的结构体数组,如下:
```c
struct student students[60];
```
3. 为每个结构体成员依次赋值,如下:
```c
strcpy(students[0].name, "张三");
students[0].age = 18;
students[0].gender = 'M';
strcpy(students[1].name, "李四");
students[1].age = 19;
students[1].gender = 'M';
// 依次类推...
```
这样就可以设计一个结构体数组并为其依次赋值了。
用c语言写定义长度为10的整型数组,调用函数f1对该数组元素赋值(要求实参、形参均为指针变量),调用函数f2对其进行由小到大的排序(要求实参为数组名、形参为指针变量)。在主函数中输出排序前和排序后的数组。
好的,以下是实现代码:
```c
#include <stdio.h>
void f1(int *pArr) { // 对数组元素赋值
printf("请输入数组的元素:\n");
for(int i = 0; i < 10; i++) {
scanf("%d", pArr+i);
}
}
void f2(int arr[], int *p) { // 对数组元素按照由小到大的顺序排序
for(int i = 0; i < 10; i++) {
for(int j = i+1; j < 10; j++) {
if(arr[i] > arr[j]) { // 如果前一个元素比后一个元素大,交换它们的位置
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
for(int i = 0; i < 10; i++) {
*(p+i) = arr[i]; // 将排序后的结果存储到指针变量中
}
}
int main() {
int arr[10], sorted_arr[10];
f1(arr); // 调用函数f1对数组元素赋值
f2(arr, sorted_arr); // 调用函数f2对数组元素按照由小到大的顺序排序
printf("排序前的数组:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n排序后的数组:\n");
for(int i = 0; i < 10; i++) {
printf("%d ", sorted_arr[i]);
}
printf("\n");
return 0;
}
```
解释一下代码:
1. 在 `main` 函数中定义了两个长度为 10 的整型数组 `arr` 和 `sorted_arr`;
2. `f1` 函数中,通过指针变量传递数组实参,从键盘上依次输入 10 个整数,并将它们存储到数组 `arr` 中;
3. `f2` 函数中,通过数组名和指针变量作为实参,遍历数组 `arr`,对其中的元素按照由小到大的顺序进行排序,并将排序后的结果存储到指针变量 `p` 中;
4. 在 `main` 函数中,先调用 `f1` 函数对数组 `arr` 进行赋值,然后调用 `f2` 函数对数组 `arr` 进行排序,将排序后的结果存储到数组 `sorted_arr` 中,最后分别输出排序前和排序后的数组。
希望这个代码可以帮助你理解如何使用数组名和指针变量作为函数参数。如果还有其他问题,请继续提问!
阅读全文