07.05C

【项目1:位乘大于位和】

下面程序的功能是输出1100之间每位数的乘积大于每位数的和的数,请将空白处缺少的成份补齐。

解法:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int iSdigit=0,iTdigit=0,m=0;
    while(m<=100)
    {
        iSdigit=m%10;
        iTdigit=m/10;
        if(iSdigit > 0)
        {
            if((iSdigit*iTdigit)>(iSdigit+iTdigit))
                printf("%d ",m);
        }
        ++m;
    }
    return 0;
}


【项目2:乘法口诀表】

编程序,输出一个乘法口诀表,形如

 

解法:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int i=1,j=1,m=0;
    printf("my multiplication table is:\n");
    for (i=1;i<=9;++i)
    {
        for(j=1;j<=i;++j)
    {
        m=i*j;
        printf("%d*%d=%d ",i,j,m);
    }
    printf("\n");
    }


    return 0;
}

 

【项目3:单位转换对照表

编程序生成一张从英尺到米的转换表(1米大约等于3.28英尺),以方便工厂里工人师傅使用。输出形式如下图所示,罗列了从0英尺到99英尺对应的米数,即i行第j列的值vij代表i*10+j英尺对应的米数。例如,通过下图所示,我们可以方便地查到17英尺相当于5.18米。只输出内容即可,不用考虑表格线。

提示:每输出10英尺的转换表后,另起一行输出。为使输出美观,可以在各项中间用’\t’分隔。

解法:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int i,j;
    int iInch=0;
    double dMeter=0;
    double drate=1.0/3.28;
    printf("Inch2Meter ");
    for (i=0;i<=9;++i)
        printf("%5d",i);
        printf("\n");
    for(i=0;i<=9;++i)
    {
        printf("%10d ",i);
        for(j=0;j<=9;++j)
        {
            iInch=10*i+j;
            dMeter=iInch*drate;
            printf("%5.2lf ",dMeter);
        }
                printf("\n");
    }


    return 0;
}


【项目4:大奖赛计分】 

1)基本要求:在歌手大奖赛中,有10个评委为参赛的选手打分,分数为1~10分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。

2)上面的程序只能处理一位选手的成绩,现拓展为多人版。输出当前选手的最后得分后,提示“按任意键计算下一位选手的成绩,退出请选择N:”如果输入的不是Nn,可以为下一位选手计算成绩。

解法:

#include <stdio.h>
#include <stdlib.h>


int main()
{
    int iJudge=0;//选手和评委的数目
    double dScore,dAvera;//选手的分数以及平均分
    double dMax=0,dMin=11,dSum=0;
    char ch;
    //printf("please enter the score of the present singer(0-10):\n");
    do
        {
        printf("please enter the score of the present singer(0-10):\n");
        for(iJudge=1;iJudge<=10;++iJudge)
    {
        scanf("%lf",&dScore);
        dSum += dScore;
        if(dMax<dScore)
            dMax=dScore;
        else if(dMin>dScore)
            dMin=dScore;
    }
    dAvera=(dSum-dMin-dMax)/8;
    printf("the final score of this singer is:%.2lf\n",dAvera);
    dAvera=0;
    dSum=0;
    printf("if you want to continue,please enter 'n' or 'N'\n");
    fflush(stdin);
        }
    while((ch=getchar())=='n'||(ch=getchar())=='N');
    return 0;
}


































































































































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值