pta求交错序列c语言编程,浙江大学 PTA 函数编程 第一部分

练习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)的值:

7e6599310ced328c5ed8ec0dac1ceb67.png

输入格式:

输入在一行中给出实数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)的值:

8c69253e8356ffb9d6664f6c521e5b2e.png

注:可在头文件中包含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个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。

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

输入格式:

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

输出格式:

第一行输出:"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);

}

标签:输出,编程,样例,PTA,浙江大学,result,格式,include,输入

来源: https://blog.csdn.net/songbai220/article/details/94455428

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值