C语言基础练习8

来源:互联网 发布:淘宝食品没有证能吗 编辑:程序博客网 时间:2024/05/21 19:43


1.用选择法对数组中10个整数按有小到大排序

#include<stdio.h>int main(){void sort(int array[], int n);int a[10], i;printf("enter array:\n");for (i = 0; i < 10; i++)scanf_s("%d", &a[i]);sort(a, 10);printf("The sorted array:\n");for (i = 0; i < 10; i++)printf("%d ", a[i]);printf("\n");return 0;}void sort(int array[], int n){int i, j, k, t;for (i = 0; i < n - 1; i++){k = i;for (j = i + 1; j < n; j++)if (array[j] < array[k])k = j;t = array[k];array[k] = array[i];array[i] = t;}}
运行结果:



2.有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,求出平均分、最高分、最低分

#include<stdio.h>float Max = 0, Min = 0;int main(){float average(float array[], int n);float ave, score[10];int i;printf("Please enter 10 scores:");for (i = 0; i < 10; i++)scanf_s("%f", &score[i]);ave = average(score, 10);printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n", Max, Min, ave);    return 0;}float average(float array[], int n){int i;float aver, sum = array[0];Max = Min = array[0];for (i = 1; i < n; i++){if (array[i] > Max) Max = array[i];else if (array[i] < Min) Min = array[i];sum = sum + array[i];}aver = sum / n;return(aver);}
运行结果:



3.输出1到5的阶乘值

#include<stdio.h>int main(){int fac(int n);int i;for (i = 1; i <= 5; i++)printf("%d!=%d\n", i, fac(i));    return 0;}int fac(int n){static int f = 1;f = f*n;return(f);}
运行结果: