浙江大学 PTA 程序 第一部分 输出倒三角图案 物体自由下落的距离 分段函数 华氏-摄氏温度转换表 求N分之一序列前N项和 求奇数分之一序列前N项和 求简单交错序列前N项和 生成3的乘方表 求组合数

练习2-3 输出倒三角图案 (5 分)

本题要求编写程序,输出指定的由“*”组成的倒三角图案。

输入格式:

本题目没有输入。

输出格式:

按照下列格式输出由“*”组成的倒三角图案。

* * * *
 * * *
  * *
   *
#include "stdio.h"
main()
{
    int i,j,k;
    for(k=0;k<4;k++)
    {
     for(j=0;j<=k;j++)
        
        printf(" ");
            for(i=4;i>k;i--)
                printf("* ");
    printf("\n");    
    }
}

 

练习2-4 温度转换 (5 分)

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

输入格式:

本题目没有输入。

输出格式:

按照下列格式输出

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


练习2-6 计算物体自由下落的距离 (5 分)

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

输入格式:

本题目没有输入。

输出格式:

按照下列格式输出

height = 垂直距离值

结果保留2位小数。

#include "stdio.h"
main()
{
    float h,s,js=10;
    s=3*js;
    h=(0+s)/2;
    printf("height =  %.2f\n",h);    
    
}

练习2-8 计算摄氏温度 (10 分)

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

输入格式:

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

输出格式:

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

输入样例:

150

输出样例:

Celsius = 65
#include "stdio.h"
main()
{
	int c,f;
	scanf("%d",&f);
	c=5*(f-32)/9;
	printf("Celsius =%d",c);
}

练习2-9 整数四则运算 (10 分)

本题要求编写程序,计算2个正整数的和、差、积、商并输出。题目保证输入和输出全部在整型范围内。

输入格式:

输入在一行中给出2个正整数A和B。

输出格式:

在4行中按照格式“A 运算符 B = 结果”顺序输出和、差、积、商。

输入样例:

3 2

输出样例:

3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1
#include "stdio.h"
main()
{
	int A,B;
	scanf("%d%d",&A,&B);
	printf("%d + %d = %d\n",A,B,A+B);
	printf("%d - %d = %d\n",A,B,A-B);
	printf("%d * %d = %d\n",A,B,A*B);
	printf("%d / %d = %d\n",A,B,A/B);
}

练习2-10 计算分段函数[1] (10 分)

本题目要求计算下列分段函数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 "stdio.h"
#include "math.h"
main()
{
	float i,result;
	scanf("%f",&i);
	if(i!=0)
		result=1/i;
	else result=0;
	printf("f(%.1f) = %.1f\n",i,result);
}

练习2-11 计算分段函数[2] (10 分)

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

f2-11

注:可在头文件中包含math.h,并调用sqrt函数求平方根,调用pow函数求幂。

输入格式:

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

输出格式:

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

输入样例1:

10

输出样例1:

f(10.00) = 3.16
#include "stdio.h"
#include "math.h"
main()
{
	float i,result;
	scanf("%f",&i);
	if(i>=0)
		result=sqrt(i);
	else result=pow((i+1),2)+2*(i+1)+1/(i+1);
	printf("f(%.2f) = %.2f\n",i,result);
}

练习2-12 输出华氏-摄氏温度转换表 (15 分)

输入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 "stdio.h"

main()
{
    int lower,upper,i;
    scanf("%d%d",&lower,&upper);
    if(lower>upper)printf("Invalid.\n");
    else{
        printf("fahr celsius\n");
        for(i=lower;i<=upper;i+=2)
        printf("%d   %4.1f\n",i,(float)5*(i-32)/9);
        }    
}


练习2-13 求N分之一序列前N项和 (15 分)

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

输入格式:

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

输出格式:

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

输入样例:

6

输出样例:

sum = 2.450000
  #include "stdio.h"
    main()
    {
        int i,n;
        float sum=0;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        sum+=(float)1/i;
        printf("sum = %.6f\n",sum);
    }

练习2-15 求简单交错序列前N项和 (15 分)

计算序列 1 - 1/4 + 1/7 - 1/10 + ... 的前N项之和。 

 #include "stdio.h"
    main()
    {
        int i,n,j=-1;
        double sum=0;
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {j*=-1;
        sum+=(double)1/(3*i-2)*j;
        }
        printf("sum = %.3f\n",sum);
    }

练习2-17 生成3的乘方表 (15 分)

按照幂的递增顺序输出n+1行,每行格式为“pow(3,i) = 3的i次幂的值”。题目保证输出数据不超过长整型整数的范围
说明`pow(),sqrt()`函数次幂 参数应为 **double型**  int型不能正确显示结果
 

#include "stdio.h"
#include "math.h"
main()
{
    double i,n;    
    scanf("%lf",&n);
    for(i=0;i<=n;i++)
    {
     printf("pow(%.0lf,%.0lf) = %.0lf\n",n,i,pow(n,i)); 
    }
    
}


练习2-18 求组合数 (15 分)

本题要求编写程序,根据公式C​n​m​​ =​​n!/m!(n−m)!
​​ 算出从n个不同元素中取出m个元素(m≤n)的组合数。
建议定义和调用函数fact(n)计算n!,其中n的类型是int,函数类型是double。

//第一种简单的
#include "stdio.h"

double fact(int n)
{
	double res=1;
	for(;n>0;n--)res*=n;//2种循环选1个即可 
	//do{ res*=n;	}while(n-->1);//2种循环选1个即可 
	return res;
}
main()
{
	int m,n;
	scanf("%d%d",&m,&n);
	printf("result = %.0lf\n",fact(n)/fact(m)/fact(n-m));
}
//第二种基本的
#include "stdio.h"
double fact(int n)
{
	double res=1;
    //for(;n>0;n--)res*=n;//2种循环选1个即可 
	do{ res*=n;	}while(n-->1);//2种循环选1个即可 
	return res;
}
main()
{
	int m,n;
	double result;
	scanf("%d%d",&m,&n);
	result=fact(n)/fact(m)/fact(n-m);
	printf("result = %.0lf\n",result);
	
}


 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
7-1 jmu-java-01入门-第一个pta上Java程序是一个关于学习Java编程的题目。在这个题目中,我们需要编写一个简单的Java程序。 这个程序实现一个功能,即能够输出"Hello Java!"这句话。实现这个功能很简单,只需要使用Java的输出语句System.out.println("Hello Java!");就可以了。 编写这个程序的步骤如下: 1. 打开编程软件,比如Eclipse或者IntelliJ IDEA等。创建一个Java项目。 2. 在项目的src目录下创建一个新的Java类。 3. 在这个Java类中,编写主函数public static void main(String[] args)。 4. 在主函数中,添加一行代码System.out.println("Hello Java!");,这行代码的作用是输出"Hello Java!"这句话。 5. 运行这个程序,可以看到控制台输出了"Hello Java!"这句话。 这个题目的目的是帮助我们熟悉Java的编程环境,并且学会使用基本的输出语句。虽然这个程序简单,但是它对于初学者来说是一个很好的入门练习。 在学习编程的过程中,我们会遇到很多类似的题目,通过完成这些题目,我们可以不断熟悉各种编程语言的语法和特性,提高我们的编程能力。而且,通过编写简单程序,我们还能够培养我们的逻辑思维能力和解决问题的能力。 总之,7-1 jmu-java-01入门-第一个pta上Java程序是一个帮助我们学习Java编程的题目,通过完成这个题目,我们可以学会使用Java的输出语句,熟悉Java的编程环境,提高我们的编程能力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值