求解两道timu的标准代码

img

参考

#include <stdio.h>

/*
    设计一个“卡拉OK大赛评分系统”
    本程序启动后,会提示“卡拉OK大赛正式开始”,然后请10位裁判分别打分,
    最后去掉一个最高分和一个最低分,将其余分数的平均分作为选手的最后得分
*/ 
void main5(){
    float a[10]; //保存10个评委的分数 
    int i;
    float max;//保存最高分
    float min;//保存最低分
    float avg=0;//保存10个评委的平均分
    //显示界面
    printf("\t\t\t*****************************************************\n");
    printf("\t\t\t*                                                   *\n");
    printf("\t\t\t*               卡拉OK大赛评分系统                  *\n");
    printf("\t\t\t*                                                   *\n");
    printf("\t\t\t*****************************************************\n");
     
    //1.输入10个评委的分数
    for(i=0;i<10;i++){
        printf("\t\t\t请输入第%d个评委的打分:",i+1);
        //获取从键盘输入的分数 
        scanf("%f",&a[i]);
    } 
    //2.对max,min赋初值
    max = a[0];
    min = a[0]; 
    avg = a[0];
    //3.求最高分,最低分,总分
    for(i=1;i<10;i++){
        //求最高分
        if(max<a[i]){
            max = a[i];
        } 
        //求最低分
        if(min>a[i]){
            min = a[i];
        } 
        //求总分
        avg += a[i]; 
    } 
    //求平均分 = (总分-最高分-最低分 )/8
    avg = (avg - max - min)/8;
    //4.输出结果
    printf("去掉一个最高分%0.2f,去掉一个最低分%0.2f,最后得分是:%0.2f",max,min,avg); 
     
} 

//第2题
#include <stdio.h>
char a[100];
int main() {
    char ch;
    int i=0,j;
    while((ch=getchar())!='\n'){
        a[i++]=ch;
    }
    for(j=i-1;j>=0;j--){
        if(j%2==0)
        printf("%c",a[j]);
    }
    return 0;
}


 觉得有用的话采纳一下哈

题目一:

#include <stdio.h>
int main()
{
    int a[3][5]={{2,3,3,4,3},{3,3,3,4,3},{2,2,3,4,5}};
    float b[5],t;
    int i,j;
    //统计平均分
    for (i=0;i<5;i++)
    {
        b[i]=0;
        for(j=0;j<3;j++)
            b[i]+=a[j][i];
        b[i]/=3;
    }
    //排序
    for (i=0;i<4;i++)
    {
        for (j=0;j<4-i;j++)
        {
            if(b[j] < b[j+1])
            {
                t = b[j];
                b[j]=b[j+1];
                b[j+1]=t;
            }
        }
    }
    //显示
    for (i=0;i<5;i++)
    {
        printf("%.2f ",b[i]); //保留2位小数
    }
    return 0;
}

题目二:

#include <stdio.h>
#include <string.h>
int main()
{
    char a[100],c;
    int i,j,len;
    gets(a);
    len = strlen(a);
    //逆序
    for (i=0,j=len-1;i<j;i++,j--)
    {
        c = a[i];
        a[i]=a[j];
        a[j]=c;
    }
    //输出奇数位字符
    for (i=0;i<len;i++)
    {
        if(i%2==0) 
            printf("%c",a[i]);
    }
    return 0;
}

你题目的解答代码如下:

1

#include <stdio.h>

void sort(double 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])
            {
                double t = a[j];
                a[j] = a[j+1];
                a[j+1] = t;
            }
}

int main()
{
    double a[3][5] = {
        {7, 6, 9, 5, 4},
        {9, 9, 9, 6, 7},
        {8, 7, 8, 5, 5}
    };
    double b[5],sum;
    int i,j;
    for( i=0; i<5; i++ )
    {
        sum = 0;
        for ( j = 0; j < 3; j++)
            sum += a[j][i];
        b[i] = sum/3;
    }
    sort(b,5);
    for( i=0; i< 5; i++ )
        printf("%.2lf ", b[i]);

    return 0;
}

img

2

#include <stdio.h>
#include <string.h>
int main()
{
    char a[100];
    int i,len;
    gets(a);
    len = strlen(a);
    for (i=0;i<len/2;i++)
    {
        char t = a[i];
        a[i] = a[len-i-1];
        a[len-i-1] = t;
    }
    for (i=0;i<len;i+=2)
        printf("%c",a[i]);
    return 0;
}


img

如有帮助,望采纳!谢谢!