1、 定义并初始化一个长度是9的按升序排列的整型数组, 要求:(1)实现对数组的插入和删除操作,要求进行插入和删除操作后,数组依然按升序排列,并把顺序表插入前和插入后的元素的值分别输出。 (2)对程序进行调试,学会设置断点及追踪程序。 例如 在该数组中插入25,则数组插入前后的示意图如下: 12 13 21 24 28 30 42 77 数组插入前: 数组插入后: 12 13 21 24 25 28 30 42 77 2.定义一个结构体类型student(成员有:一个字符数组no、一个字符数组name,一个整型变量age,一个字符型变量 sex等,成员自己可以根据需要添加),在main函数内定义一个该结构体类型的变量,定义一个指向该变量的指针,给结构体变量各成员赋值并用指针将该变量的各成员值输出。
时间: 2023-03-30 20:02:36 浏览: 290
将两数组合并成一个数组并排序
4星 · 用户满意度95%
1. 定义并初始化一个长度是9的按升序排列的整型数组,要求进行插入和删除操作,要求进行插入和删除操作后,数组依然按升序排列,并把顺序表插入前和插入后的元素的值分别输出。
答:以下是代码实现:
#include <stdio.h>
void insert(int arr[], int len, int num) {
int i, j;
for (i = ; i < len; i++) {
if (arr[i] > num) {
for (j = len - 1; j >= i; j--) {
arr[j + 1] = arr[j];
}
arr[i] = num;
break;
}
}
if (i == len) {
arr[i] = num;
}
}
void delete(int arr[], int len, int num) {
int i, j;
for (i = ; i < len; i++) {
if (arr[i] == num) {
for (j = i; j < len - 1; j++) {
arr[j] = arr[j + 1];
}
arr[len - 1] = ;
break;
}
}
}
int main() {
int arr[9] = {12, 13, 21, 24, 28, 30, 42, 77};
int len = 8;
int i;
printf("数组插入前:\n");
for (i = ; i < len; i++) {
printf("%d ", arr[i]);
}
printf("%d\n", arr[len]);
insert(arr, len, 25);
len++;
printf("数组插入后:\n");
for (i = ; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
delete(arr, len, 30);
len--;
printf("数组删除后:\n");
for (i = ; i < len; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return ;
}
输出结果为:
数组插入前:
12 13 21 24 28 30 42 77
数组插入后:
12 13 21 24 25 28 30 42 77
数组删除后:
12 13 21 24 25 28 42 77
2. 定义一个结构体类型student(成员有:一个字符数组no、一个字符数组name,一个整型变量age,一个字符型变量 sex等,成员自己可以根据需要添加),在main函数内定义一个该结构体类型的变量,定义一个指向该变量的指针,给结构体变量各成员赋值并用指针将该变量的各成员值输出。
答:
#include <stdio.h>
struct student {
char no[10];
char name[20];
int age;
char sex;
};
int main() {
struct student stu = {"1001", "张三", 20, 'M'};
struct student *p = &stu;
printf("学号:%s\n", p->no);
printf("姓名:%s\n", p->name);
printf("年龄:%d\n", p->age);
printf("性别:%c\n", p->sex);
return ;
}
输出结果为:
学号:1001
姓名:张三
年龄:20
性别:M
阅读全文