c语言程序设计的考试。

img


1、写一个C程序,要求将键盘输入的10个浮点数输 入一个数组,按照由小到大排序并输出,并统计输 出其中大于零的数、大于平均数的数的个数。数组 排序部分必须要求使用函数实现。
2、写一个C程序,要求将键盘输入的10个人的汉语 拼音姓名,按照字典序由小到大排序并输出,并统 计输出其中元音字母的频率(元音字母是指大小 写:a,e,i,o,u)。数组排序部分必须要求使用函 数实现。

img

你题目的解答代码如下:

#include<stdio.h>
#include<string.h>

void sort(float a[],int n)
{
    int i,j;
    for(i=0;i<n-1;i++)
        for(j=0;j<n-i-1;j++)
            if(a[j] > a[j+1])
            {
                float t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
}

void main()
{
    int i,count1=0,count2=0;
    float a[10], sum=0,avg;
    for( i=0; i<10; i++ )
    {
        scanf("%f", &a[i]);
        sum += a[i];
    }
    avg = sum/10;
    sort(a,10);
    for( i=0; i<10; i++ )
    {
        printf("%f ", a[i]);
    }
    printf("\n大于零的数\n");
    for( i=0; i<10; i++ )
    {
        if (a[i]>0)
        {
            count1++;
            printf("%f ", a[i]);
        }
        if (a[i]>avg)
            count2++;
    }
    printf("\n平均数:%f  大于零的数的个数:%d、大于平均数的数的个数:%d\n", avg,count1,count2);

}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

解答如下
1.

img

#include <stdio.h>
void sort(double arr[],int size)
{
    for(int i=0; i<size-1; i++)
    {
        for(int j=0; j<size-1-i; j++)
        {
            if(arr[j]>arr[j+1])
            {
                double tem=arr[j];
                arr[j]=arr[j+1];
                arr[j+1]=tem;
            }
        }
    }
}
int main()
{
    double arr[10],sum=0;
    for(int j=0;j<10;j++)
    {
        scanf("%lf",&arr[j]);
        sum+=arr[j];
    }
    double ave=sum/10;
    int m=0,n=0;
    for(int j=0;j<10;j++)
    {
        if(arr[j]>0) m++;
        if(arr[j]>ave) n++;
    }
    sort(arr,10);
    for(int j=0;j<10;j++)
    {
        printf("%.2lf ",arr[j]);
    }
    printf("\n%d %d\n",m,n);
    return 0;
}

2.

img

#include <stdio.h>
#include <string.h>
void sort(char t[10][25],int n)
{
    char tem[25];
    for(int i=0;i<n-1;i++)
        for(int j=0;j<n-1-i;j++)
            if(strcmp(t[j],t[j+1])>0)
            {
                strcpy(tem,t[j]);
                strcpy(t[j],t[j+1]);
                strcpy(t[j+1],tem);
            }
}
int main()
{
    int n=10,count=0;
    char t[n][25];
    for(int i=0;i<n;i++)
    {
        scanf("%s",t[i]);
    }
    sort(t,n);
    printf("排序后:\n");
    for(int i=0;i<n;i++)
    {
        int len=strlen(t[i]);
        for(int j=0;j<len;j++)
        {
            if(t[i][j]=='a'||t[i][j]=='e'||t[i][j]=='i'||t[i][j]=='o'||t[i][j]=='u')
            {
                count++;
            }
        }
        printf("%s\n",t[i]);
    }
    printf("%d \n",count);
    return 0;
}
/*

xiaoming
xiaofang
zhangsan
wangwu
zhangwu
liliu
aaba
wangliu
qianba
wangba


*/

#include <stdio.h>
#include <string.h>
void sort(char t[10][25],int n)
{
    char tem[25];
    for(int i=0;i<n-1;i++)
        for(int j=0;j<n-1-i;j++)
            if(strcmp(t[j],t[j+1])>0)
            {
                strcpy(tem,t[j]);
                strcpy(t[j],t[j+1]);
                strcpy(t[j+1],tem);
            }
}
int main()
{
    int n=10,count=0;
    char t[n][25];
    for(int i=0;i<n;i++)
    {
        scanf("%s",t[i]);
    }
    sort(t,n);
    printf("排序后:\n");
    for(int i=0;i<n;i++)
    {
        int len=strlen(t[i]);
        for(int j=0;j<len;j++)
        {
            if(t[i][j]=='a'||t[i][j]=='e'||t[i][j]=='i'||t[i][j]=='o'||t[i][j]=='u')
            {
                count++;
            }
        }
        printf("%s\n",t[i]);
    }
    printf("%d \n",count);
    return 0;
}
/*
xiaoming
xiaofang
zhangsan
wangwu
zhangwu
liliu
aaba
wangliu
qianba
wangba
*/