浙大版《C语言程序设计实验与习题指导(第3版)》题目集实验2合集

实验2-1-1 计算摄氏温度

本题要求编写程序,计算华氏温度100°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

输入格式:本题目没有输入。

输出格式:按照下列格式输出

fahr = 100, celsius = 计算所得摄氏温度的整数值
#include
main(){
    int C,F=100;
    C = 5*(F-32)/9;
    printf("fahr = 100, celsius = %d",C);
    return 0;
}

实验2-1-2 温度转换

本题要求编写程序,计算华氏温度150°F对应的摄氏温度。计算公式:C=5×(F−32)/9,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

输入格式:本题目没有输入。

输出格式:按照下列格式输出

fahr = 150, celsius = 计算所得摄氏温度的整数值
#include
int main(){
    
    int F=150,C;
    C=5*(F-32)/9;
    printf("fahr = %d, celsius = %d",F,C) ;
    return 0;
} 

实验2-1-3 计算物体自由下落的距离

一个物体从100米的高空自由落下。编写程序,求它在前3秒内下落的垂直距离。设重力加速度为10米/秒2。

输入格式:本题目没有输入。

输出格式:按照下列格式输出

height = 垂直距离值
#include
int main(){
    float H;
    int g=10,t=3;
    H=(g*t*t)/2;
    printf("height = %0.2f",H) ;
    return 0;
} 

实验2-1-4 计算平均分

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。

输入格式:本题无输入

输出格式:按照下列格式输出结果:

math = 87, eng = 72, comp = 93, average = 计算所得的平均成绩
#include
main(){
    int math=87,eng=72,comp=93, average;
    average = (math+eng+comp)/3;
    printf("math = 87, eng = 72, comp = 93, average = %d",average);
    return 0;
} 

实验2-1-5 将x的平方赋值给y

假设x的值为3,计算x的平方并赋值给y,分别以“y = xx”和“xx = y”的形式输出xy的值。

输入格式:本题无输入

输出格式:按照下列格式输出代入x=3的结果:

y = x * x
x * x = y
#include
int main(){
    int x=3,y;
    y = x*x;
    printf("%d = %d * %d\n",y,x,x);
    printf("%d * %d = %d\n",x,x,y);
    return 0;
} 

实验2-1-6 计算华氏温度

本题要求编写程序,计算摄氏温度26°C 对应的华氏温度。计算公式:F=9×C/5+32,式中:C表示摄氏温度,F表示华氏温度,输出数据要求为整型。

输入格式:本题目没有输入。

输出格式:按照下列格式输出

celsius = 26, fahr = 对应的华氏温度整数值
#include
int main(){
    int F,C=26;
    F=9*C/5+32;
    printf("celsius = %d, fahr = %d",C,F);
    return 0;
} 

实验2-1-7 整数152的各位数字

本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。

输入格式:本题无输入。

输出格式:按照以下格式输出:

152 = 个位数字 + 十位数字*10 + 百位数字*100
#include
int main(){
    int d=152,a,b,c;
    a = d%10;
    b = d/10%10;
    c = d/100;
    printf("152 = %d + %d*10 + %d*100",a,b,c);
    return 0;
} 

实验2-2-1 计算分段函数[1

本题目要求计算下列分段函数f(x)的值:

输入格式:输入在一行中给出实数x。

输出格式:在一行中按“f(x) = result”的格式输出,其中x与result都保留一位小数。

输入样例1:

10

输出样例1:

f(10.0) = 0.1

输入样例2:

0

输出样例2:

f(0.0) = 0.0
#include
main(){
    float x,y;
    scanf("%f",&x);
    if (x!=0){
        y = 1/x;
    } 
    else y = x;
    printf("f(%.1f) = %.1f\n",x,y);
    return 0;
} 

实验2-2-2 计算摄氏温度

给定一个华氏温度F,本题要求编写程序,计算对应的摄氏温度C。计算公式:C=5×(F−32)/9。题目保证输入与输出均在整型范围内。

输入格式:输入在一行中给出一个华氏温度。

输出格式:在一行中按照格式“Celsius = C”输出对应的摄氏温度C的整数值。

输入样例:

150

输出样例:

Celsius = 65
#include
int main(){
    int C,F;
    scanf("%i",&F);
    C = 5*(F-32)/9;
    printf("Celsius = %i",C);
    return 0;
} 

实验2-2-3 计算存款利息

本题目要求计算存款利息,计算公式为interes**t=mon**ey×(1+rat**e)yearmon**ey,其中interes**t为存款到期时的利息(税前),mon**ey是存款金额,year是存期,rat**e是年利率。

输入格式:输入在一行中顺序给出三个正实数mon**eyyearrat**e,以空格分隔。

输出格式:在一行中按“interest = 利息”的格式输出,其中利息保留两位小数。

输入样例:

1000 3 0.025

输出样例:

interest = 76.89
#include
#include
main (){
    double interes,money,year,rate;
    scanf("%lf %lf %lf",&money,&year,&rate);
    interes = money* pow(1+rate,year)-money;
    printf("interest = %.2f\n",interes);
    return 0;
}

实验2-3-4 求简单交错序列前N项和

本题要求编写程序,计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。

输入格式:输入在一行中给出一个正整数N。

输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后三位。题目保证计算结果不超过双精度范围。

输入样例:

10

输出样例:

sum = 0.819
#include
int main(){
    int n,x=1,j=1;
    double sum =0;
    scanf("%d",&n);
    for(int i=0;i 
  

实验2-3-5 输出华氏-摄氏温度转换表

输入2个正整数lowerupperlowerupper≤100),请输出一张取值范围为[lowerupper]、且每次增加2华氏度的华氏-摄氏温度转换表。

温度转换的计算公式:C=5×(F−32)/9,其中:C表示摄氏温度,F表示华氏温度。

输入格式:

在一行中输入2个整数,分别表示lowerupper的值,中间用空格分开。

输出格式:

第一行输出:"fahr celsius"

接着每行输出一个华氏温度fahr(整型)与一个摄氏温度celsius(占据6个字符宽度,靠右对齐,保留1位小数)。

若输入的范围不合法,则输出"Invalid."。

输入样例1:

32 35

输出样例1:

fahr celsius
32   0.0
34   1.1

输入样例2:

40 30

输出样例2:

Invalid.
#include
int main(){
    int lower,upper,f;
    double c;
    scanf("%d %d",&lower,&upper);
    if(lower<=upper&&upper<=100){
        printf ("fahr celsius\n");
    for(f=lower;f<=upper;f=f+2){
        c = 5.0*(f-32)/9.0;
        printf ("%d%6.1f\n",f,c);
    }
}else{
        printf("Invalid.");
    }
    return 0;
} 

实验2-3-6 求交错序列前N项和

本题要求编写程序,计算交错序列 1-2/3+3/5-4/7+5/9-6/11+... 的前N项之和。

输入格式:输入在一行中给出一个正整数N。

输出格式:在一行中输出部分和的值,结果保留三位小数。

输入样例:

5

输出样例:

0.917
#include
int main(){
    int N,x=1,j=1;
    double sum=0;
    scanf("%d",&N);
    for(int i=1;i<=N;i++){
        sum += x*(i*1.0/j);
        x*=-1;
        j = j+2;
    }
    printf("%.3f",sum);
    return 0;
} 

实验2-3-7 求平方与倒数序列的部分和

本题要求对两个正整数mnmn)编写程序,计算序列和m2+1/m+(m+1)2+1/(m+1)+⋯+n2+1/n

输入格式:

输入在一行中给出两个正整数mnmn),其间以空格分开。

输出格式:

在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。

输入样例:

5 10

输出样例:

sum = 355.845635
#include
#include
int main(){
    int m,n;
    double sum=0;
    scanf("%d %d",&m,&n);
    if(m<=n){
        for(int i=m;i<=n;i++){
            sum+=pow(i,2)+1.0/i;
        }   
    } 
        printf("sum = %.6f",sum);
    return 0;
} 

实验2-4-2 生成3的乘方表

输入一个非负整数n,生成一张3的乘方表,输出30~3n的值。可调用幂函数计算3的乘方。

输入格式:

输入在一行中给出一个非负整数n

输出格式:

按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围。

输入样例:

3

输出样例:

pow(3,0) = 1
pow(3,1) = 3
pow(3,2) = 9
pow(3,3) = 27
#include
#include
int main() {
    int m,n;
    scanf("%d",&n);
    for(int i=0; i<=n; i++) {
        m=pow(n,i);
    printf("pow(%d,%d) = %d\n",n,i,m);
    }
    return 0;
}

实验2-4-3 求平方根序列前N项和

本题要求编写程序,计算平方根序列1+2+3+⋯的前N项之和。可包含头文件math.h,并调用sqrt函数求平方根。

输入格式:输入在一行中给出一个正整数N。

输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后两位。题目保证计算结果不超过双精度范围。

输入样例:

10

输出样例:

sum = 22.47
#include
#include
int main() {
    int n;
    double sum=0;
    scanf("%d",&n);
    for(int i=0; i<=n; i++) {
        sum+=sqrt(i);
    }
    printf("sum = %.2f",sum);
    return 0;
}

实验2-4-4 求阶乘序列前N项和

本题要求编写程序,计算序列 1!+2!+3!+⋯ 的前N项之和。

输入格式:输入在一行中给出一个不超过12的正整数N。

输出格式:在一行中输出整数结果。

输入样例:

5

输出样例:

153
//分析:求累加需要使用循环函数,求阶乘需要自定义一个函数用于求阶乘
#include
int funcation(int a);
int main() {
    int n,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        sum += funcation(i);
    }
    printf("%d",sum);
    return 0;
}
​
int funcation(int a){
    int sum=1;
    for(int i=1;i<=a;i++){
        sum *=i;
    }
    return sum;
}

实验2-4-6 求幂之和

本题要求编写程序,计算sum=21+22+23+⋯+2n。可以调用pow函数求幂。

输入格式:输入在一行中给出正整数n(≤10)。

输出格式:按照格式“result = 计算结果”输出。

输入样例:

5

输出样例:

result = 62
#include
#include 
int main() {
    int n,sum=0;
    scanf("%d",&n);
    for(int i=1;i<=n;i++){
        sum += pow(2,i);
    }
    printf("result = %d",sum);
    return 0;
}

实验2-4-7 求组合数

本题要求编写程序,根据公式Cnm=n!/m!(nm)!算出从n个不同元素中取出m个元素(mn)的组合数。

建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double

输入格式:输入在一行中给出两个正整数mnmn),以空格分隔。

输出格式:按照格式“result = 组合数计算结果”输出。题目保证结果在double类型范围内。

输入样例:

2 7

输出样例:

result = 21
//分析:调用自定义函数完成阶乘
#include
double fact(int n);
int main(){
    double result;
    int m,n;
    scanf("%d %d",&m,&n);
    result = fact(n)/(fact(m)*fact(n-m));
    printf("result = %.f",result);
    return 0;
} 
double fact(int n){
    double sum=1;
    for(int i=2;i<=n;i++){
        sum*=i;
    }
    return sum;
}

你可能感兴趣的:(c#)