实验四
part 1
#include <stdio.h> int main() { double a[5] = {1.0,2.0,3.0,4.0,5.0}; int i; for(i=0; i<5; i++) printf("%d: %lf\n", &a[i], a[i]); return 0; }
part 2
#include<stdio.h> void swap(int x,int y) { int z; z=x; x=y; y=z; } int main() { int a,b; a=10; b=20; swap(a,b); printf("a=%d\tb=%d\n",a,b); return 0; }
#include <stdio.h> void sort(int a[ ],int n) { int k; for(int i=0; i<n-1; i++) {k=i; for(int j=i+1;j<n;j++) if(a[k]>a[j]) k=j; if(k!=i) {temp=a[i]; a[i]=a[k]; a[k]=temp;}} } void print(int b[ ], int n) {for( int i=0; i<n; i++) printf(“%6d”, b[i]);} void main() {int a[ ]={6,3,1,2,5,0,9,3,7,6}; sort(a,10); print(a,10); }
part 3
#include <stdio.h> void sort(int a[ ], int n) {int temp; for( int i=0; i<n-1; i++) {for( int j=0; j<n-i-1; j++) {if(a[j]>a[j+1]) {temp=a[j]; a[j]=a[j+1]; a[j+1]=temp;}} }} void print(int b[ ], int n) {for(int i=0; i<n ; i++) {printf("%6d", b[i]);} } int main() {int a[10]={6,7,4,10,2,5,9,8,3,1}; sort(a,10); print(a,10); return 0; }
part 4
#include <stdio.h> #include <conio.h> void main() {int i, n, x; void insert(int *, int , int *); int a[ ]={-3,2,6,9,14,19}; n=6; scanf(“%d”,&x); insert(a,x,&n); for( i=0; i<n; i++) printf(“%d”, a[i]);} void insert(int *b, int y, int *m) {int i,j, k; for(i=*m-1; i>=0; i--) {if(y<*(b+i)) *(b+i+1)=*(b+i); else break; } *(b+i+1)=y; (*m)++; }
part 5
#include <stdio.h> int findMax(int a[], int n); const int N=5; int main() { int a[N]; int max, i; printf("输入%d个整数: \n", N); for(i=0;i<N;i++) scanf("%d",&a[i]); max=findMax(a,N); printf("数组a中最大元素值为: %d\n\n", max); return 0; int findMax(int a[],int n) { int i,max; max=a[0]; for(i=0;i<N;i++) { if(a[i]>max) max=a[i]; } return max; }
#include <stdio.h> const int N=4; void output(char x[], int n); void px(char x[],int n); int main() { char string[4] = {'2','0','1','9'}; int i; printf("排序前: \n"); output(string, N); px(string,N) printf("\n排序后: \n"); output(string, N); printf("\n"); return 0; } void output(char x[], int n) { int i; for(i=0; i<N; i++) printf("%c", x[i]); } void px(char x[],int n) { int i,j; char temp; for(i=0;i<n;i++) {for(j=0;j<n-i-1;j++) { if(x[j]<x[j+1]) { temp=x[j]; x[j]=x[j+1]; x[j+1]=temp; } } }
路还很长。
为了期中!!!