哈工大C语言实验题.docx

上传人:b****8 文档编号:10793677 上传时间:2023-02-22 格式:DOCX 页数:45 大小:27.15KB
下载 相关 举报
哈工大C语言实验题.docx_第1页
第1页 / 共45页
哈工大C语言实验题.docx_第2页
第2页 / 共45页
哈工大C语言实验题.docx_第3页
第3页 / 共45页
哈工大C语言实验题.docx_第4页
第4页 / 共45页
哈工大C语言实验题.docx_第5页
第5页 / 共45页
点击查看更多>>
下载资源
资源描述

哈工大C语言实验题.docx

《哈工大C语言实验题.docx》由会员分享,可在线阅读,更多相关《哈工大C语言实验题.docx(45页珍藏版)》请在冰豆网上搜索。

哈工大C语言实验题.docx

哈工大C语言实验题

窗体顶端

Q308.(10分)第5章实验2:

体型判断。

医务工作者经广泛的调查和统计分析,根据身高与体重因素给出了以下按“体指数”进行体型判断的方法。

体指数计算公式是:

t=w/(h*h)

其中:

t是体指数;w是体重,其单位为千克;h是身高,其单位为米。

根据给定的体指数t计算公式,可判断你的体重属于何种类型:

当t<18时,为低体重;

当18≤t<25时,为正常体重;

当25≤t<27时,为超重体重;

当t≥27时,为肥胖。

****输入提示信息格式:

"Pleaseenterh,w:

\n"

****输入数据格式要求:

"%f,%f"(先读入身高,再读入体重,身高以米读入,体重以千克读入)

****输出数据格式要求:

当t<18时,输出:

"Lowerweight!

\n"

当18≤t<25时,输出:

"Standardweight!

\n"

当25≤t<27时,输出:

"Higherweight!

\n"

当t≥27时,输出:

"Toofat!

\n"

窗体底端

#include

#include

  

main()

{

    floatt,w,h;

  

    printf("Pleaseenterh,w:

\n");

  

    scanf("%f,%f",&h,&w);

  

    t=w/(h*h);

  

    if(t<18)

        printf("Lowerweight!

\n");

  

    elseif(t>=18&&t<25)

        printf("Standardweight!

\n");

  

    elseif(t>=25&&t<27)

        printf("Higherweight!

\n");

  

    else

        printf("Toofat!

\n");

  

    return0;

}

窗体顶端

窗体顶端

Q586.(

窗体底端

10分)编写一个程序,输入年份和月份,判断该年是否是闰年,并根据给出的月份判断是什么季节和该月有多少天?

(闰年的条件是年份能被4整除但不能被100整除,或者能被400整除;规定3~5月为春季,6~8月为夏季,9~11月为秋季,1、2和12月为冬季)。

**输入格式要求:

"%d,%d"提示信息:

"Pleaseenteryear,month:

"

**输出格式要求:

"%disleapyear\n""%disnotleapyear\n""Theseasonisspring/summer/autumn/winter""Thenumberofdaysofthismonthis%d\n"

程序运行示例如下:

实例1:

Pleaseenteryear,month:

2012,11

2012isleapyear

Theseasonisautumn

Thenumberofdaysofthismonthis30

实例2:

Pleaseenteryear,month:

2013,12

2013isnotleapyear

Theseasoniswinter

Thenumberofdaysofthismonthis31

窗体底端

#include

#include

  

main()

{

    intyear=0,leap=0,mon=0,day=0;

  

    printf("Pleaseenteryear,month:

");

    scanf("%d,%d",&year,&mon);

  

    if((year%100!

=0&&year%4==0)||(year%100==0&&year%400==0)){

        printf("%disleapyear\n",year);

        leap=1;

    }

    else

        printf("%disnotleapyear\n",year);

  

    switch(mon)

    {

        case 1:

        case 2:

        case12:

printf("Theseasoniswinter\n");

                break;

        case 3:

        case 4:

        case 5:

printf("Theseasonisspring\n");

                break;

        case 6:

        case 7:

        case 8:

printf("Theseasonissummer\n");

                break;

        case 9:

        case10:

        case11:

printf("Theseasonisautumn\n");

                break;

    }

  

    switch(mon)

    {

        case 1:

        case 3:

        case 5:

        case 7:

        case 8:

        case10:

        case12:

day=31;

                break;

        case 4:

        case 6:

        case 9:

        case11:

day=30;

                break;

        case 2:

            if(leap==1)

                day=29;

            else

                day=28;

    }

    printf("Thenumberofdaysofthismonthis%d\n",day);

}

窗体顶端

Q3161.(10分)请用elseif多分支条件判断语句编程设计一个简单的计算器程序。

要求:

(1)请用户按以下形式从键盘输入表达式:

操作数①运算符op操作数②

(2)然后计算表达式的值

**输入提示信息**:

**输入数据格式**:

"%f%c%f"

**输出数据格式**:

"%.2f%c%.2f=%.2f\n"

若若输入的运算符是除法运算符/,当除数为0时,输出数据格式为:

"datis0!

Error!

\n"

若输入的运算符不是加(+)、减(-)、乘(*)、除(/),则输出数据格式为:

"Error!

\n"

[友情提示]:

①用户输入的运算符为算术运算符:

加(+)、减(-)、乘(*)、除(/)。

用字符变量op表示;

②操作数①和操作数②为浮点型数据,分别用浮点型变量dat1、dat2表示。

③程序运行结果如下所示:

1+2↙

1.00+2.00=3.00

#include

#include

  

main()

{

    floata=0,b=0;

    charop;

  

    scanf("%f%c%f",&a,&op,&b);

  

    if(op=='+')

        printf("%.2f%c%.2f=%.2f\n",a,op,b,a+b);

    elseif(op=='-')

        printf("%.2f%c%.2f=%.2f\n",a,op,b,a-b);

    elseif(op=='*')

        printf("%.2f%c%.2f=%.2f\n",a,op,b,a*b);

    elseif(op=='/'){

        if(b!

=0)

            printf("%.2f%c%.2f=%.2f\n",a,op,b,a/b);

        else

            printf("datis0!

Error!

\n");

    }

    else

        printf("Error!

\n");

}

窗体底端

窗体顶端

Q3185.(10分)实验二(2016春刘秉权C语言课):

根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。

转换规则为(要求用switch语句实现):

当score大于等于90且小于等于100时,grade=A;

当score大于等于80且小于90时,grade=B;

当score大于等于70且小于80时,grade=C;

当score大于等于60且小于70时,grade=D;

当score大于等于0且小于60时,grade=E。

格式要求:

输入提示:

"Pleaseenterscore:

"

输出形式形如:

"100--A"、"75--C"、"0--E"

当输入分数不正确时,输出:

"Inputerror!

"

#include

   

main()

{

    ints,m;

    printf("Pleaseenterscore:

");

    scanf("%d",&s);

       

    m=s<0||s>100?

-1:

s/10;

       

    switch(m)

    {

        case10:

        case 9:

printf("%d--A\n",s);

                break;

        case 8:

printf("%d--B\n",s);

                break;

        case 7:

printf("%d--C\n",s);

                break;

        case 6:

printf("%d--D\n",s);

                break;

        case 5:

        case 4:

        case 3:

        case 2:

        case 1:

        case 0:

printf("%d--E\n",s);

                break;

        default:

printf("Inputerror!

");

    }

}

窗体底端

窗体顶端

Q221.(10分)编程从键盘输入某年某月(包括闰年),用switch语句编程输出该年的该月拥有的天数。

要求考虑闰年以及输入月份不在合法范围内的情况。

已知闰年的2月有29天,平年的2月有28天。

**输入格式要求:

"%d,%d"提示信息:

"Inputyear,month:

"

**输出格式要求:

"31days\n""29days\n""28days\n""Inputerror!

\n"

程序运行示例如下:

Inputyear,month:

2004,2

29days

#include

  

main()

{

    inta,b;

    printf("Inputyear,month:

");

    scanf("%4d,%2d",&a,&b);

    switch(b)

    {

    case 1:

    case 3:

    case 5:

    case 7:

    case 8:

    case10:

    case12:

        printf("31days\n");

        break;

    case 4:

    case 6:

    case 9:

    case11:

        printf("30days\n");

        break;

    case 2:

        if((a%4==0&&a%100!

=0)||a%400==0)

            printf("29days\n");

        else

            printf("28days\n");

        break;

  

    default:

        printf("Inputerror!

\n");

    }

    return0;

}

窗体底端

窗体顶端

Q210.(10分)第7章实验任务1:

所谓素数是指这个数只能被1和自身整除。

要求在主函数输入一个数,

调用函数Fun()判断该数是否是素数。

打印信息在主函数中进行。

例如:

从键盘输入5,5是素数则打印如下信息:

"5isaprimenumber".

又如:

从键盘输入4,4不是素数则打印如下信息:

"4isnotaprimenumber"

负数、0和1均不是素数。

对输入的数据要考虑数据的合法性,不满足条件的数

要重新输入直到满足条件为止。

不能使用全局变量,不按给定的函数原型编写程序

不给分。

Fun()函数原型如下:

intFun(intm);

**输入数据提示信息:

"Pleaseinputanumber:

\n"

注:

该提示信息请放在循环体外

**输入数据格式为:

"%d"

**输出格式要求:

若是素数输出数据格式为:

"%disaprimenumber\n"

若不是素数输出数据格式为:

"%disnotaprimenumber\n"

#include

#include

  

intFun(intm);

  

main()

{

    inta;

    printf("Pleaseinputanumber:

\n");

    while(scanf("%d",&a))

    {

        if(a<=0||a==1)

            continue;

        elseif(a>0&&a!

=1&&Fun(a)==1)

            printf("%disaprimenumber\n",a);

        else

            printf("%disnotaprimenumber\n",a);

        break;

    }

    return0;

}

  

intFun(intm)

{

    inti,result;

    result=1;

    if(m!

=2)

    {

        for(i=2;i

        {

            if(m%i==0)

            {

                result=0;

                break;

            }

        }

    }

    returnresult;

}

窗体底端

窗体顶端

Q3185.(10分)实验二(2016春刘秉权C语言课):

根据输入的百分制成绩score,转换成相应的五分制成绩grade后输出。

转换规则为(要求用switch语句实现):

当score大于等于90且小于等于100时,grade=A;

当score大于等于80且小于90时,grade=B;

当score大于等于70且小于80时,grade=C;

当score大于等于60且小于70时,grade=D;

当score大于等于0且小于60时,grade=E。

格式要求:

输入提示:

"Pleaseenterscore:

"

输出形式形如:

"100--A"、"75--C"、"0--E"

当输入分数不正确时,输出:

"Inputerror!

"

#include

   

main()

{

    ints,m;

    printf("Pleaseenterscore:

");

    scanf("%d",&s);

       

    m=s<0||s>100?

-1:

s/10;

       

    switch(m)

    {

        case10:

        case 9:

printf("%d--A\n",s);

                break;

        case 8:

printf("%d--B\n",s);

                break;

        case 7:

printf("%d--C\n",s);

                break;

        case 6:

printf("%d--D\n",s);

                break;

        case 5:

        case 4:

        case 3:

        case 2:

        case 1:

        case 0:

printf("%d--E\n",s);

                break;

        default:

printf("Inputerror!

");

    }

}

窗体底端

窗体顶端

Q1709.(10分)第6章实验1:

国王的许诺

相传国际象棋是古印度舍罕王的宰相达依尔发明的。

舍罕王十分喜欢象棋,决定让宰相自己选择何种赏赐。

这位聪明的宰相指着8×8共64格的象棋盘说:

陛下,请您赏给我一些麦子吧,就在棋盘的第1个格子中放1粒,第2格中放2粒,第3格中放4粒,以后每一格都比前一格增加一倍,依此放完棋盘上的64个格子,我就感恩不尽了。

舍罕王让人扛来一袋麦子,他要兑现他的许诺。

请问:

国王能兑现他的许诺吗?

试编程计算舍罕王共要多少麦子赏赐他的宰相,这些麦子合多少立方米(已知1立方米麦子约1.42e8粒)?

注:

(1)不能使用指针、结构体、共用体、文件、goto、枚举类型进行编程。

(2)用标准C语言编程,所有变量必须在第一条可执行语句前定义。

(3)输入输出格式要和以下给定格式完全一致。

**输入格式:

**输出格式:

"sum=%e\n"

"volum=%e\n"

%e表示double类型

#include

#include

  

main()

{

    inti;

    doubles,v;

    s=0;

    for(i=0;i<=63;i++)

        s=s+pow(2,i);

    v=s/1.42e8;

    printf("sum=%e\n",s);

    printf("volum=%e\n",v);

    return0;

}

窗体底端

窗体顶端

Q1719.(10分)第7章实验任务3

从键盘任意输入一个整数n,编程计算并输出1~n之间的所有素数之和

输入提示信息:

"Inputn:

"

输入格式:

"%d"

输出格式:

"sum=%d\n"

#include

#include

  

intFun(intm);

  

main()

{

    intn,i,s;

    s=0;

    printf("Inputn:

");

    scanf("%d",&n);

    for(i=2;i<=n;i++)

    {

        if(Fun(i)==1)

            s=s+i;

    }

    printf("sum=%d\n",s);

    return0;

}

  

intFun(intm)

{

    inti,result;

    result=1;

    if(m!

=2)

    {

        for(i=2;i

        {

            if(m%i==0)

            {

                result=0;

                break;

            }

        }

    }

    returnresult;

}

窗体底端

窗体顶端

Q1720.(10分)第7章实验任务6

从键盘任意输入一个整数m,若m不是素数,则对m进行质因数分解,并将m表示为质因数从小到大顺序排列的乘积形式输出,否则输出"Itisaprimenumber"。

例如,用户输入90时,程序输出90=2*3*3*5;用户输入17时,程序输出"Itisaprimenumber"。

输入提示信息:

"Inputm:

"

输入格式:

"%d"

输出格式:

是素数时输出"Itisaprimenumber\n"

否则输出用"%d=","%d*"

运行示例1:

Inputm:

90↙

90=2*3*3*5

运行示例2:

Inputm:

13↙

Itisaprimenumber

#include

  

intFun(intm);

intIsPerfect(intm);

  

main()

{

    intm,i,p;

    printf("Inputm:

");

    scanf("%d",&m);

    p=m;

    

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 电力水利

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1