实验六

------------恢复内容开始------------

实验1

#include <stdio.h>

#define N 5

void output(int x[], int n);

 

int main() {

int x[N] = { 9,55,30,27,22 };

int i, k, t;

 

printf("original array:\n");

output(x, N);

 

k = 0;

for ( i = 0; i < N; i++)

{

if (x[i]>x[k])

{

k = i;

}

}

if (k!=N-1)

{

t = x[N - 1];

x[N - 1] = x[k];

x[k] = t;

 

}

printf("after swapped:\n");

output(x, N);

return 0;

 

}

 

void output(int x[], int n) {

int i;

for ( i = 0; i < n; i++)

{

printf("%d ", x[i]);

}

printf("\n");

}

 

 

 

 

#include <stdio.h>

#define N 5

void output(int x[], int n);

 

int main() {

int x[N] = { 9,55,30,27,22 };

int i, k, t;

 

printf("original array:\n");

output(x, N);

 

for ( i = 0; i < N-1; i++)

{

if (x[i] > x[i + 1]) {

t = x[i];

x[i] = x[i + 1];

x[i + 1] = t;

}

}

printf("after swapped:\n");

output(x, N);

return 0;

 

}

 

void output(int x[], int n) {

int i;

for ( i = 0; i < n; i++)

{

printf("%d ", x[i]);

}

printf("\n");

}

 

 

 

实验二

#include <stdio.h>

#define N 5

int binarysearch(int x[], int n, int term);

 

int main() {

int a[N] = { 2,7,19,45,66 };

int i, index, key;

 

printf("数组a中的数据:\n");

for ( i = 0; i < N; i++)

{

printf("%d ", a[i]);

 

}

printf("\n");

printf("输入待查找的数据项: ");

scanf("%d", &key);

 

index = binarysearch(a,N,key );

 

if (index>=0)

{

printf("%d在数组中,下标为%d\n", key, index);

 

}

else

{

printf("%d不在数组中\n");

 

}

 

return 0;

 

}

 

int binarysearch(int x[], int n, int term) {

int low, high, mid;

 

low = 0;

high = n - 1;

 

while (low<=high)

{

mid = (low + high) / 2;

if (x[mid]==term)

{

 

return mid;

 

}

else if (x[mid]>term)

{

high = mid-1;

}

else

{

low = mid + 1;

}

}

return -1;

 

}

 

 

实验三

#include <stdio.h>

#define N 5

void input(int a[], int n);

void output(int a[], int n);

void selectsort(int a[], int n);

 

 

int main() {

int a[N];

 

printf("输入%d个整数\n", N);

 

input(a, N);

 

printf("排序前的数据:\n");

output(a, N);

 

selectsort(a, N);

 

printf("排序后的数据:\n");

 

output(a, N);

 

return 0;

 

return 0;

 

}

 

void input(int a[], int n){

int i;

for ( i = 0; i < n; i++)

{

scanf("%d", &a[i]);

}

 

 

 

}

void output(int a[], int n) {

int i;

for (i = 0; i < n; i++)

{

printf("%d ", a[i]);

 

}

 

printf("\n");

 

 

}

void selectsort(int a[], int n) {

int i = 0, k = 0,j=0;

int t = 0;

 

for ( i = 0; i < n-1; i++)

{

k = i;

for ( j = i+1; j < n; j++)

{

if (a[j]<a[k])

{

k = j;

}

}

if (k != i) {

t = a[i];

a[i] = a[k];

a[k] = t;

 

 

 

}

 

}

 

 

}

 

 

 

#include <stdio.h>

#include<string.h>

#define N 5

 

void selectsort(char str[][20], int n);

 

int main() {

char name[][20] = { "Bob","Bill","Jsseph","Taylor","George" };

int i;

 

printf("输出初始名单:\n");

for ( i = 0; i < N; i++)

{

printf("%s\n", name[i]);

 

}

 

selectsort(name, N);

 

printf("按字典序输出名单:\n");

for ( i = 0; i < N; i++)

{

printf("%s\n", name[i]);

}

 

 

return 0;

 

}

void selectsort(char str[][20], int n) {

int i=0,j=0,  k=0;

char t[20];

for ( i = 0;i < n-1; i++)

{

k = i;

for ( j  = i+1;  j< n; j++)

{

if (strcmp(str[j],str[k])<0)

{

k = j;

}

}

if (k!=i)

{

strcpy(t, str[k]);

strcpy(str[k], str[i]);

strcpy(str[i], t);

 

}

}

 

 

}

 

 

实验四

#include <stdio.h>

#include<string.h>

#define N 5

 

 

int main() {

int n;

int* pn;

 

n = 42;

pn = &n;

 

printf("&n=%#x,n=%d\n", &n, n);

printf("&pn=%#x,pn%#x\n", &pn, pn);

printf("*pn=%d\n", *pn);

 

 

 

return 0;

 

}

 

 

N的地址:0x2aaff554 n的值:42

Pn 的地址:0x6a2ff8f8   pn的值:0x6a2ff8d4

*pn间接访问n

实验五

#include <stdio.h>

#include<string.h>

#define N 5

 

 

int main() {

int a[N] = { 1,9,2,0,7 };

int i;

int* p;

 

for ( i = 0; i < N; i++)

{

printf("&a[%d] = %#x, a[%d] = %d\n", i, &a[i], i, a[i]);

}

printf("\n");

 

for ( i = 0; i < N; i++)

{

printf("a+%d = %#x, *(a+%d) = %d\n", i, a + i, i, *(a + i));

}

printf("\n");

p = a;

for ( i = 0; i < N; i++)

{

printf("p+%d = %#x, *(p+%d) = %d\n", i, p + i, i, *(p + i));

}

return 0;

 

}

 

可以

可以

 

------------恢复内容结束------------

posted @ 2021-12-15 10:31  IU是春天呐  阅读(47)  评论(0编辑  收藏  举报