【C | PTA】顺序结构专项练习

数据结构第1~2章练习答案(PTA) an )用一维数组表示,假定删除线性表中任一元素的概率相同(都为1/n),则删除一个元素平均需要移动元素的个数是(2-18将两个结点数都为N且都从小到大有序的单向链表合并成一个从小到大有序的单向链表,那么可能的最少比较次数是(A.访问第i个结点(1≤i≤N)和求第i个结点的直接前驱(2≤i≤N)2-12在单链表指针为p的结点之后插入指针为s的结点,正确的操作是(D.顺序表的特点是:逻辑上相邻的元素,存储在物理位置也相邻的单元中。2-8在N个结点的顺序表中,算法的时间复杂度为O(1)的操作是( 阅读详情

本文结合PTA专项练习带领读者掌握顺序结构,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。

7-1 是不是太胖了

据说一个人的标准体重应该是其身高(单位:厘米)减去100、再乘以0.9所得到的公斤数。已知市斤的数值是公斤数值的两倍。现给定某人身高,请你计算其标准体重应该是多少?(顺便也悄悄给自己算一下吧……)

输入格式:

输入第一行给出一个正整数H(100 < H ≤ 300),为某人身高。

输出格式:

在一行中输出对应的标准体重,单位为市斤,保留小数点后1位。

输入样例:

169

输出样例:

124.2

代码如下:

#include <stdio.h>
int main()
{
	int h;
	scanf("%d",&h);
	double bz;
	bz=(h-100)*0.9*2;
    printf("%.1f",bz);
}

7-2 计算存款利息

本题目要求计算存款利息,计算公式为interest=money×(1+rate)^year−money,其中interest为存款到期时的利息(税前),money是存款金额,year是存期,rate是年利率。

输入格式:

输入在一行中顺序给出三个正实数money、year和rate,以空格分隔。

输出格式:

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

输入样例:

1000 3 0.025

输出样例:

interest = 76.89

代码如下:

#include <stdio.h>
#include <math.h>
//pow功能为计算(1+rate)的year次幂,返回幂指数的结果
int main()
{
	double money,year,rate;
	scanf("%lf %lf %lf",&money,&year,&rate);
	double inter;
	inter=money*pow((1+rate),year)-money;
	printf("interest = %.2f",inter);
}

7-3 整数算术运算

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

输入格式:

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

输出格式:

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

输入样例:

5 3

输出样例:

在这里给出相应的输出。例如:

5 + 3 = 8
5 - 3 = 2
5 * 3 = 15
5 / 3 = 1
5 % 3 = 2

代码如下:

#include <stdio.h>
int 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);
	printf("%d %% %d = %d\n",a,b,a%b);
}//注意取余号的表示方法

7-4 21-大鸟转转转实验室

Dayu2001在实验室看到Stump在研究四位数,突发奇想想要把这个四位数反转一下,
比如4396反转后变成6934。

Stump提醒Dayu2001不是所有的四位数都可以反转,比如2200反转后变成0022是不合法的。

Dayu2001不想理会这么繁琐的细节,四位数反转后的前导0都忽略不计。

现在输入Dayu2001反转后的数,请问反转前的数是多少?

输入格式:

仅一个整数 n 。

输出格式:

反转前的四位数n(数据保证反转前1000≤n≤9999)。

输入样例:

22

输出样例:

在这里给出相应的输出。例如:

2200

代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a,b,c,d;
	a=n/1000;
	b=n/100%10;
	c=n%100/10;
	d=n%10;
	
	printf("%d",d*1000+c*100+b*10+a);
}

7-5 21-石头剪刀布

dls 和sld 要来一次紧张刺激的石头剪刀布大赛。

通过观察,Yoshinow发现出石头、剪刀、步的概率分别为p1,p2和p3 ,而sld 为q1,q2,q3 。

他们共进行了n次比赛,Yoshinow 想知道dls 获胜次数的期望为多少?

输入格式:

输入共三行,第一行包含一个整数n (1<=n<=1e4) ,表示比赛轮数;

第二行包含三个两位小数,表示dls 出石头、剪刀、布的概率分别为p1,p2,p3;

第三行包含三个两位小数,表示sld 出石头、剪刀、布的概率分别为q1,q2,q3;

概率保证均为[0,1] 内的数字。

输出格式:

仅一行包括一个数,表示dls 获胜次数的期望。
输出精确到小数点后4位。

输入样例1:

1
0.30 0.40 0.30
0.10 0.20 0.70

输出样例1:

0.3700

输入样例2:

10
1.00 0.00 0.00
0.10 0.20 0.70

输出样例2:

2.0000

代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	double p1,p2,p3;
	scanf("%lf %lf %lf",&p1,&p2,&p3);
	double q1,q2,q3;
	scanf("%lf %lf %lf",&q1,&q2,&q3);
    double qw;
	qw=(p1*q2+p2*q3+p3*q1)*n;
	printf("%.4f",qw);
}//注意期望的计算公式

7-1 顺序 - A-B

相信很多刚刚接触编程的人做的第一道题就是a+b,小明觉得很奇怪,为什么是a+b而不是a-b呢?所以小明这里要求大家做一次减法。当然单纯的a-b太简单了,所以小明提出了一个要求,那就是输出a-b结果的十位数,请大家编程满足这个奇怪的要求。

输入格式:

输入为一行,包含两个整数a,b(0<a,b<10000),以空格作为间隔。

输出格式:

输出为一个数代表a-b的十位数

输入样例:

1323 1254

输出样例:

6

代码如下:

#include <stdio.h>
int main()
{
    int a,b;
    scanf("%d %d",&a,&b);
    printf("%d",(a-b)%1000%100/10);
}

7-2 顺序 - 彩色链子

某天盖茨不知道从哪里弄来n种颜色的珠子,你可以认为这些颜色的珠子足够使用。现在盖茨想把他们串起来,做成一条由4个珠子组成的长条形的链子,为了美观,要求相邻的珠子颜色不能一样,盖茨想知道能编成几种不同的链子。

输入格式:

输入一行,仅包含一个整数n,代表盖茨拥有的珠子的颜色数量。

输出格式: 输出一行,包含一个整数,代表能编成的不同链子的种类数。

输入样例:

5

输出样例:

320

代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	printf("%d",n*(n-1)*(n-1)*(n-1));
}//类似于涂色问题

7-3 顺序 - 鸡兔同笼

鸡兔同笼是我国古代著名趣题之一。大约在1500年前,《孙子算经》中就记载了这个有趣的问题。书中是这样叙述的:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? 经过运算我们可以很快的得出兔子有12只,小鸡有23只。
现在请你编写一个程序,输入笼中头的个数H 和 脚的只数 F,输出笼中各有几只鸡和兔。

输入格式:

输入为标准输入,输入共一行,包含两个正整数a和b,用空格隔开,分别表示笼子中头和脚的数量。且满足(0<a<100,0<b<400)。输入应保证问题有解。

输出格式:

输出仅一行,包含两个整数,用空格分隔。分别代表鸡和兔子的数量。

输入样例:

2 4

输出样例:

2 0

代码如下:

#include <stdio.h>
int main()
{
	int h,f;
	scanf("%d %d",&h,&f);
	int a,b;
	b=(f-2*h)/2;
	a=h-b;
	printf("%d %d",a,b);
}//设h为头数量,f为脚数量,a为鸡数量,b为兔数量

7-4 顺序 - 买房

马斯克要买房子啦。大家都知道,房子是很贵的,所以他不能全款买房子,于是他决定贷款。
银行规定贷款的金额不能超过房子总价的70%,而且必须是整数万元。例如房子的总价是100万元,那么贷款的金额最多是70万元。
那么现在马斯克的钱不是那么的多,但是他的计算能力太差了,于是他需要你帮他计算出他能贷款的最大金额。
(友情提示:此题有坑点,大家小心)

输入格式:

输入一个正整数N,表示房子的总价格(单位是万元,不超过int)

输出格式:

输出一个整数,表示最大贷款金额(单位为万元)

输入样例:

100

输出样例:

70

代码如下:

#include <stdio.h>
int main()
{
    double n;
    scanf("%lf",&n);
    int c=n*7/10;
    printf("%d",c);
}

7-5 顺序 - 三角形

毕达哥拉斯学了一年c语言,但是他现在不想做题。给你a,b,c三个整数作为三角形的三边,请你依次输出角A(b和c的夹角)、角B(a和c的夹角)、角C(a和b的夹角)的余弦值(之间用一个空格隔开,保留六位小数)。

输入格式:

输入只有一行三个整数:
a,b,c(0<a,b,c<=1000)。

输出格式:

输出角A(b和c的夹角)、角B(a和c的夹角)、角C(a和b的夹角)的余弦值(之间用一个空格隔开,保留六位小数)

输入样例:

1 1 1

输出样例:

在这里给出相应的输出。例如:

0.500000 0.500000 0.500000

代码如下:

#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	double A,B,C;
	A=(b*b+c*c-a*a)/(2.0*b*c);
	B=(a*a+c*c-b*b)/(2.0*a*c);
	C=(b*b-c*c+a*a)/(2.0*b*a);
	printf("%.6f %.6f %.6f",A,B,C);
}//注意是2.0而不是2

7-6 顺序 - 飞机

陶喆的飞机又延误了,飞机本来是h1:m1:s1起飞,但现在已经h2:m2:s2了,请问陶喆已经等了多少秒(两个时间点在同一天,采用二十四小时计时法,且h2:m2:s2的时间会靠后)

输入格式:

输入两行分别为两个时间点(符合时间显示规则):

h1 m1 s1

h2 m2 s2

0<=h1,h2<=23

0<=m1,m2,s1,s2<=59

输出格式:

输出等待的秒数

输入样例:

在这里给出一组输入。例如:

18 30 00
19 00 00

输出样例:

在这里给出相应的输出。例如:

1800

代码如下:

#include <stdio.h>
int main()
{
	int h1,h2,m1,m2,s1,s2;
	scanf("%d %d %d %d %d %d",&h1,&m1,&s1,&h2,&m2,&s2);
	printf("%d",(h2-h1)*3600+(m2-m1)*60+s2-s1);
}

7-7 顺序 - wifi密码

火星哥到学校的第一件事就是连上学校的WiFi,已知初始密码是学号的后六位。

输入格式:

输入长度为长度为8的学号(10000000~99999999)

输出格式:

输出对应的密码(注意前导0)

输入样例:

31702101

输出样例:

在这里给出相应的输出。例如:

702101

代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int a,b,c,d,e,f;
	a=n%10;
	b=n%100/10;
	c=n%1000/100;
	d=n%10000/1000;
	e=n%100000/10000;
	f=n%1000000/100000;
	printf("%d%d%d%d%d%d",f,e,d,c,b,a);         
}

7-8 顺序 - 正六边形

现在要计算正六边形的面积,确保六条边均为整数。

输入格式:

输入一个整数:a(0< a <= 100)

输出格式:

输出正六边形的面积S(保留两位小数)

输入样例:

2

输出样例:

在这里给出相应的输出。例如:

10.39

代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
	int a;
	scanf("%d",&a);
	 printf("%.2f",1.5*sqrt(3.0)*a*a);
}//sqrt用于计算算数平方根的结果

7-9 顺序 - 字符转换

现在有2个字母,第一个字母为小写字母,第二个字母为大写字母,请你将小写转化为大写,大写转化为小写。

输入格式:

输入只有一行,含有2个字母

输出格式:

输出转化后的字母(两字母中含有一个空格,行末换行)

输入样例:

a B

输出样例:

在这里给出相应的输出。例如:

A b

代码如下:

#include <stdio.h>
int main()
{
	char a,b;
	scanf("%c %c",&a,&b);
	printf("%c %c",a-32,b+32);
}

7-10 顺序 - 果汁的零花钱

果汁(PS:这是一个小朋友的名字)想让他的妈妈给他点零花钱,妈妈决定第一天给他一块钱,以后的每一天就再多给他一块钱,果汁打算忍痛攒钱。请问在第n天的时候他有多少钱呢?

输入格式:

输入只有一行一个整数:
n(0<n<=1000)

输出格式:

输出得到的钱数

输入样例:

6

输出样例:

在这里给出相应的输出。例如:

21

代码如下:

#include <stdio.h>
int main()
{
	int n;
	scanf("%d",&n);
	int sum;
	sum=(1+n)*n/2;
	printf("%d",sum);
}//等差数列求和

7-11 顺序 - 你迟到了

爱因斯坦和海森堡约好早上一起去学习的,但是爱因斯坦又赖床睡过了头,海森堡从m1分s1秒等到了m2分s2秒,他想要知道自己等了爱因斯坦多久,请你帮他算一下吧(m1、s1,m2、s2处于同一小时内,且保证m2、s2在m1、s1在之后)!

输入格式:

输入有两行:

第一行为等待的起始时刻:

m1 s1 (0<=m1,s1<=59)

第二行为等待的结束时刻:

m2 s2 (0<=m2,s2<=59)

输出格式:

输出等待的时间(格式为 xx:yy)

输入样例1:

3 8
9 15

输出样例1:

06:07

输入样例2:

3 8
3 15

输出样例2:

00:07

代码如下:

#include <stdio.h>
int main()
{
	int m1,s1,m2,s2;
    scanf("%d %d %d %d",&m1,&s1,&m2,&s2);
    int a,b;
    a=(m2-m1)*60+s2-s1;
    printf("%02d:%02d",a/60,a%60);
}//不足两位自动补0

7-12 顺序 - 买花

粉红猪惹呲溜喵生气了,于是粉红猪决定到花店给呲溜喵买她喜欢的花,粉红猪知道呲溜喵喜欢玫瑰,月季和茉莉花,已知花店有a朵玫瑰,b朵月季,c朵茉莉,花店的老板说这3种花只有以下的情况能够结成花束:

玫瑰和月季长相相似能够相互替代,只要有任意种类的3朵就能结成一束,而茉莉花比较特殊,不能自己单独成束,必须搭配一朵玫瑰或者月季才能成束(即茉莉花成束条件为:茉莉+月季或茉莉+玫瑰,此时花束仅需2朵花),请问现在花店中花的数目最多能够扎成几束呲溜喵喜欢的花束?

输入格式:

输入只有一行三个整数:
a,b,c(0<c<=a,b<=1000)

输出格式:

输出最多能够扎成的花束

输入样例:

20 30 2

输出样例:

在这里给出相应的输出。例如:

18

代码如下:

#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d %d %d",&a,&b,&c);
	int sum=0;
	sum=(a+b-c)/3+c;
	printf("%d",sum);
}//先分配c

7-13 顺序 - 剪绳子

在挑选完花后,高斯需要礼品绳将花朵绑起来,老板有一条长L米的礼品绳,需要将礼品绳截成长为x米的小段,请问老板能截成几小段呢,如果截完后礼品绳有剩,剩了多少米呢?(结果保留一位小数)

输入格式:

输入只有一行两个数:
L x ( 0<=L<=x<=1000)

输出格式:

输出能截的段数和剩余的长度(中间用空格隔开,行末换行):

输入样例:

在这里给出一组输入。例如:

15.0  5.0

输出样例:

在这里给出相应的输出。例如:

3 0.0

代码如下:

#include <stdio.h>
int main()
{
	double l,x;
	scanf("%lf %lf",&l,&x);
	int a;
	a=l/x;
	printf("%d %.1f",a,l-a*x);	
}

7-14 顺序 - 方和圆

已知一个圆的半径r,请问你能求出它的外接正方形和内接正方形的面积,和正方形内接时占圆的百分比,正方形外接时,圆占其的百分比嘛?(π取3.14 ,结果保留2位小数)

输入格式:

输入只有一行一个整数:
r ( 0<=r<=100)

输出格式:

第一行输出内接正方形的面积和正方形内接时的占比中间用一个空格隔开。
第二行输出外接正方形的面积和外接时的占比同样用空格隔开。

输入样例:

3

输出样例:

18 63.69%
36 78.50%

代码如下:

#include <stdio.h>
int main()
{
int r;
scanf("%d",&r);
int s1=2*r*r;
double zb=s1/(3.14*r*r);
int s2=4*r*r;
double zb1=(3.14*r*r)/s2;
printf("%d %.2f%%\n",s1,zb*100);
printf("%d %.2f%%",s2,zb1*100);
	}

7-15 顺序 - 最短路

在一个8*8的棋盘上,国王的家在A1的位置,现在国王站在棋盘的某一个位置,他感到十分的疲惫,于是他想尽快回到自己的家,请告诉他最少可以走几步回到自己的家

在这里插入图片描述

(国王只能向上下左右四个格子走,走一格算一步。)

输入格式:

输入一行,为国王现在的坐标。
棋盘的坐标由两个字符组成,第一个是一个大写字母(从A到H),第二个是一个数字(从1到8)。

输出格式:

输出国王回家所需的最短距离。

输入样例:

H1

输出样例:

7

代码如下:

#include <stdio.h>
int main()
{
	int a;
	char c;
	scanf("%c%d",&c,&a);
	printf("%d",(a-1)+(int)(c-'A'));	
}

7-16 顺序 - ASCII码值

给定一个字符,请输出他的ASCII码值。

输入格式:

输入仅有一个可见字符。

输出格式:

输出给定字符的ASCII码值。

输入样例:

a

输出样例:

97

代码如下:

#include <stdio.h>
int main()
{
	char c;
	scanf("%c",&c);
	printf("%d",c);	
}

7-17 顺序 - 矩阵坐标

在9*9的矩阵中,每个点都可以表示成一个坐标,坐标由两个字符组成,第一个是一个大写字母(从A到I),第二个是一个数字(从1到9)。

小明写坐标时总是不规范,比如A1位置,小明有时写成“A 1”,有时写成“A,1”,有时写成“A.1”。现在小明想把从前写的坐标都规范化成“(x,y)”形式,即A1位置写成“(A,1)”形式。

输入格式:

输入仅有一行,包含一个坐标,坐标的两个字符会用一个空格或者一个逗号或者一个点隔开。

输出格式:

输出规范化的坐标形式,即“(x,y)”形式(输出不包括引号)。

输入样例:

A 1

输出样例:

在这里给出相应的输出。例如:

(A,1)

代码如下:

#include <stdio.h>
int main()
{
	int a;char b,c;
	scanf("%c%c%d",&c,&b,&a);
	printf("(%c,%d)",c,a);	
}//空格 逗号 点 都算字符

7-18 顺序 - 摆火柴棒

Alice很喜欢摆火柴棒玩,她经常用火柴棒摆成各种奇奇怪怪的图案。

现在她有N(N为偶数)根火柴棒,她可以将这些火柴棒摆成一个长方形,但是她惊奇的发现不是每次摆成的长方形面积都相同。

假设每根火柴棒的长度相同,横截面半径长度不记,现在她想知道可以摆成的长方形最大面积是多少。

由于Alice很爱惜这些火柴棒,她不允许将任意一个火柴棒折断。

输入格式:

输入仅有一行,包含一个偶数N(4<=N<=10000),即火柴棒的个数。

输出格式:

输出仅有一行,包含一个整数,为长方形的最大面积。

输入样例1:

8

输出样例1:

4

输入样例2:

10

输出样例2:

6

代码如下:

#include <stdio.h>
int main()
{
	int n;scanf("%d",&n);
	int a=n/4;
	int b=n/2-n/4;
	printf("%d",a*b);
} //长宽最接近的时候面积最大

7-19 顺序 - 青春广场

位于福大生活一区的青春广场是一个大小为n*m的长方形。为了更好地让同学们在青春广场上开展活动,现准备将青春广场用正方形花岗岩石板重新铺一遍。每一个正方形花岗岩石板边长为a。

请问最少需要多少石板才能覆盖整个青春广场?覆盖范围可以大于青春广场,但是切割石板是不允许的。

输入格式:

输入包含3个正整数:n,m,a(1<=n,m,a<=10000)

分别代表青春广场的长度,宽度和石板的边长。

输出格式:

输出最少需要的石板的数量。

输入样例:

6 6 4

输出样例:

4

代码如下:

 #include <stdio.h>
 #include <math.h>
 int main()
 {
 	//将青春广场的长度和宽度分别除以石板的边长
 	//并向上取整得到所需的石板行数和列数。
 	//然后将行数和列数相乘即可得到最少需要的石板数量。
 	double n,m,a;
 	scanf("%lf%lf%lf",&n,&m,&a);
 	double h=n/a;
 	double h1=ceil(h);
 	double s=m/a;
 	double s1=ceil(s);
 	printf("%d",(int)(s1*h1));
 }

也可以用这种方法:

#include <iostream>
using namespace std;
int main() {
    int n, m, a;
    cin >> n >> m >> a;
    // 计算需要的石板数量
int num = ((n + a - 1) / a) * ((m + a - 1) / a);
    cout << num;
}

7-20 顺序 - 简化的A+B

小明今年3岁了, 现在他已经能够认识100以内的非负整数, 并且能够进行100以内的非负整数的加法计算。
对于大于等于100的整数, 小明仅保留该数的最后两位进行计算, 如果计算结果大于等于100,那么小明也仅保留计算结果的最后两位。

例如, 对于小明来说:
1) 1234和34是相等的
2) 35+80=15

给定非负整数A和B, 你的任务是代表小明计算出A+B的值。

输入格式:

输入包含两个非负整数A和B (A和B均在int型可表示的范围内)。

输出格式:

对于所给数据,输出小明A+B的结果。

输入样例:

35 80

输出样例:

在这里给出相应的输出。例如:

15

代码如下:

#include <stdio.h>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	a=a%100;
	b=b%100;
	int sum=a+b;
	sum=sum%100;
	printf("%d",sum);
	
}

7-21 顺序 - 八进制

给定一个十进制数,把它转化为八进制数。

HINT: 可以查查输出格式符

输入格式:

输入仅有一行,包含一个十进制数。

输出格式:

输出转化为八进制后的数。

输入样例:

9

输出样例:

11

代码如下:

#include <stdio.h>
int main()
{
	int a;
	scanf("%d",&a);
	printf("%o",a);	
}

7-22 顺序 - 台上一分钟台下十年功

俗话说“台上一分钟台下十年功”,我们观看了一个演员的表演,不知道他到底训练多久,根据给出表演的时间,现在你的任务是要帮忙计算出演员的训练时间,训练时间以年为单位。

输入格式:

输入包含3个整数 a,b,c。表示表演了a天b小时c分钟。(0<=a,b,c<=10^6)

输出格式:

输出一个数表示训练时间多少年。

输入样例:

1 2 3 

输出样例:

15630

代码如下:

#include <stdio.h>
int main()
{
	int a,b,c;
	scanf("%d%d%d",&a,&b,&c);
	printf("%d",a*24*60*10+b*60*10+c*10);
}

7-23 顺序 - 十位数是多少

小明刚学习了C 语言刚学习到取模运算。他知道如果要知道一个数个位上的数值只需对10取摸即可。现在他遇到一个问题。求一个大于等于10的正整数的十位上的数字是多少。

现在请你替他想办法求出这个数。

输入格式:

输出 a (10<=a<=10^9);

输出格式:

输出一整数表示a十位上的数字

输入样例:

110

输出样例:

1

代码如下:

#include <stdio.h>
int main()
{
	int a;
	scanf("%d",&a);
	a=a%100;
	a=a/10;
	printf("%d",a);
}

7-24 顺序 - 三角形面积

给定三条边,输出三角形的面积。
海伦公式:
假设三边长为a,b,c;
p=(a+b+c)/2
则三角形面积的平方s^2=p*(p-a)(p-b)(p-c)

输入格式:

输入数据包含三个正数a, b, c。其中a, b, c <1000。

输出格式:

输出三角形的面积,结果保留两位小数。

输入样例:

3 4 5

输出样例:

6.00

代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
	double a,b,c;
	scanf("%lf%lf%lf",&a,&b,&c);
	double p=(a+b+c)/2.0;
	double s=p*(p-a)*(p-b)*(p-c);
	printf("%.2f",sqrt(s));
}//注意是除以2.0而不是2

7-25 顺序 - 距离

输入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离。

HINT:需要用到<math.h>中的sqrt函数。

输入格式:

输入数据由4个实数组成,分别表示x1,y1,x2,y2,数据之间用空格隔开。

输出格式:

输出一行,表示两点间距离,结果保留两位小数。

输入样例:

1 1 0 0

输出样例:

1.41

代码如下:

#include <stdio.h>
#include <math.h>
int main()
{
	double x1,y1,y2,x2;
	scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
	printf("%.2f",sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
}

【WUT】PTA 2022春-MOOC-练习题 数组 | 函数和指针 | 选择结构 | 顺序结构 | 循环结构 阅读详情

相关推荐

C语言——顺序结构程序设计练习题.pdf

C语言——顺序结构程序设计练习题.pdf

C语言基础题 -PTA 鸡兔同笼

分析: (1)设鸡有mm只,兔有nn只,可知无解的其中两个条件是mm

nwlhcm的博客 2783

西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践

本文详细解析了西门子OMAC PackML V2022在S7-1200/S7-1500中的状态机设计与应用实践。通过实际案例和代码示例,介绍了状态机的基础认知、硬件配置、逻辑开发、调试技巧以及与MES系统集成的高级应用,帮助工程师高效实现设备自动化控制。

weixin_29255731的博客 532

【PTA】【C语言】鸡兔同笼问题

《孙子算经》记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?” 函数原型 int ChickenRabbit(int *chicken, int *rabbit, int head, int foot); 说明:head 和 foot 为头和脚的数量,chicken 和 rabbit 为指示鸡和兔数量的指针。若问题有解,则将鸡和兔的数量保存到 chicken 和 rabbit 所指示的变量中,函数值为 1(真);否则不改变 chicken 和 rabbit 所指示的变量,函数值为 0

yewanyuan的博客 6001

485芯片AB波形正负半周的问题探讨

      本人做的一个产品,产品的其中一个接口是RS485的,我们使用的芯片是MAX13487E。MCU是STM32F103,MCU的USART通过光耦隔离后,接到MAX13487E。因为STM32F103的VCC是3.3V的,MAX13487E的VCC是5V。      部分原理图如下,上述部分电路参考了官方的参考设计,现在测试的AB波形时候发现如下问题。1.把R10和R16改为1k,示波器C...

qq_26308521的博客 1万+

QuickFix Java 讲解(五)消息的收发与查看

本系列力求手把手教你怎样利用QuickFix Java 搭建自己的 FIX 协议收发平台,以及其中的注意事项。 所有源码的地址(免费): https://github.com/zongzhec/QuickFixPractise 这节我们讨论将Acceptor和Initiator启动以后,收到的消息极其查看方式。 6. 收发双方的通信 6.1. 启动后的通信和登录 为方便起见,这里我们使用统一的源码:https://github.com/zongzhec/QuickFixPractise ..

2246

【PTA】 鸡兔同笼

一个笼子里面关了鸡和兔子(鸡有2只脚,兔子有4只脚,没有例外)。已经知道了笼子里面脚的总数a,问笼子里面至少有多少只动物,至多有多少只动物。 这题关键点是怎么表达二元一次方程组的思想,即2x+4y=a(假设鸡数量为x,兔数量为y)。 通过观察上式很容易可以发现当a为偶数时才符合题意,那我们就可以抓住这个隐藏点水过这道题啦! 因为题目要求至多和至少多少只动物,所以只需要一个除法就可以得到答案。(a分别整除4只脚和2只脚) 不要忘记不满足条件的情况! #include<bits/stdc++.h&g

SG_teresa's blog 3217

Unity详细介绍说明限制Unity帧率的方式

在Unity开发中,帧率(FPS,Frames per Second)是一个非常重要的表现标准,它直接影响了游戏运行的流畅度。在某些应用场景里,我们可能需要手动限制帧率。限制帧率可以减少电脑的CPU和GPU负载,使运行更加稳定,同时对于移动设备来说还能有效降低电量消耗。下面就详细介绍几种限制Unity中帧率的方式。

zjw1349547081的专栏 5437

C语言第三章程序设计实训教程选题

1、文字描述法: 1.定义一个整型变量跟一个长整型变量分别是a,b 2.输入a,b的值 3.输出a,b的值 4.结束 2、流程图 。。。 3、代码 2)填空 13 1、文字描述法: 1.声明三个小数类型变量a,b,c 2.输入a和b的值 3.c等于sqrt(aa+bb)/(a+b); 4.输出c此时c为数学式的答案 2、流程图: ...... 3、代码: (3)填空14 1、文字描述法: 2、流程图: ...... 3、代码: (4)选择题2 ...

Inkpore的博客 1049

Appsflyer S2S事件上报实战:从参数获取到避坑指南(附Firebase对比)

本文详细解析了Appsflyer S2S事件上报的实战技巧,包括核心参数获取、测试环境搭建、生产环境最佳实践以及高级场景处理。通过对比Firebase的事件上报机制,帮助开发者高效避坑并优化数据上报流程,提升应用分析与营销效果。

egg99的博客 885

Orange:一个基于 Python 的数据挖掘和机器学习平台

Orange是一个开源的数据挖掘和机器学习平台,采用可视化编程方式,用户可通过拖拽组件构建数据分析工作流。它支持交互式数据探索、多种机器学习算法,并允许Python脚本扩展。Orange特别适合教育和研究,提供直观的界面和丰富的可视化工具。最新版本为3.39.0,支持Windows、macOS和Linux系统。作为GPL许可的免费工具,它既能满足初学者需求,又能通过Python集成实现高级功能。

likuoelie的博客 1435

【C语言必知必会 | 子系列第二篇】深入剖析顺序结构(2)

在【C语言你还没卷起来?】系列中,我们学习了顺序结构、选择结构、循环结构等,同时也通过专项练习进行了知识点的巩固和手敲代码的锻炼。在子系列中,我们将基于PTA教学平台,向C语言学习者提供更优质的题目与更巧妙、精髓的解题思想与方法。PTA是一个程序设计类实验辅助教学平台,由千名老师共同建设,里面包含了上万道高质量题目,用户量达百万。在本讲中,将深入讲解顺序结构的选择题,在思想上引领读者带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。此文为【C语言必知必会】子系列第二篇。

等风来 5723

新买的USB无线网卡插上没反应?保姆级排查指南:从设备管理器到网络列表

本文提供USB无线网卡无法识别的全流程排查手册,涵盖硬件检测、驱动管理和网络配置三大维度。重点解析设备管理器中的设备状态诊断和驱动解决方案,特别适用于Realtek芯片的无线网卡(如RTL8188GU、RTL8812BU等),帮助用户快速解决网卡插上无反应的问题。

weixin_29876033的博客 504

【C语言必知必会 | 子系列第一篇】深入剖析顺序结构(1)

在【C语言必知必会】系列中,我们学习了顺序结构、选择结构、循环结构等,同时也通过专项练习进行了知识点的巩固和手敲代码的锻炼。在子系列中,我们将基于PTA教学平台,向C语言学习者提供更优质的题目与更巧妙、精髓的解题思想与方法。PTA是一个程序设计类实验辅助教学平台,由千名老师共同建设,里面包含了上万道高质量题目,用户量达百万。在本讲中,将深入讲解顺序结构的选择题,在思想上引领读者带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。此文为【C语言必知必会】子系列第一篇。

等风来 5980

Python自动化生成HyperMesh Tcl命令流:从几何建模到有限元分析

本文详细介绍了如何利用Python自动化生成HyperMesh的Tcl命令流,实现从几何建模到有限元分析的全流程二次开发。通过封装常用操作函数,工程师可以高效完成参数化建模、自动网格划分及求解器文件输出,显著提升CAE前处理效率与标准化水平。

weixin_29041767的博客 424

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

C/C++语法练习之顺序结构篇

C/C++语法练习之顺序结构篇

Code_流苏:在代码中寻诗意,在实践中觅真知 1583

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ptaa乘以b_《C语言程序设计》实验作业--PTA顺序结构练习

7-1 简单题 (5分)这次真的没骗你 —— 这道超级简单的题目没有任何输入。你只需要在一行中输出事实:This is a simple problem. 就可以了。参考代码如下:#include int main(){printf("This is a simple problem.\n");//注意PTA严格比对输出,包括全半角、标点空格大小写,必须完全一致。return 0;}7-2 将x的...

weixin_35764712的博客 2161

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

PTA和MOOC上的编程题目答案(自编仅供参考)

武汉理工大学20届—C实验+C编程方法学—编程题答案 自己写的代码,不代表唯一性,目前没写解析(懒)。 如果评论人数超过8人就写~~ 有什么问题欢迎直接指出。 最后说句废话,编程的题目复制代码容易,再自己写出来就难了,题目还是要自己想想的。

m0_51982410的博客 1万+

pta19c语言第一次作业,c语言------第一次作业,分支,顺序结构

c语言------第一次作业,分支,顺序结构1.1思维导图 1.2 本章学习体会及代码量学习体会##1.2.1 学习体会一星期下来,接触了顺序结构和分支结构,虽然这些东西在暑假都已经自学完了,但是毕竟有点久了,有些细节问题,比如switch-case语句要用花括号,我现在就有点不记得了。再次看书之后,就又重拾知识点,记忆更深刻。假期、周末是很好的学习时间,我会好好利用,毕竟,在老师讲授新知识之前,...

weixin_39805644的博客 925

C博客01——分支,顺序结构

C博客01——分支,顺序结构 1. 本章学习总结 1.1 思维导图 请以思维导图总结本周的学习内容。 1.2 本章学习体会及代码量体会 1.2.1 学习体会 对于C语言课程的理解,我有点吃力,不是说老师上的快,而是自己缺乏练习,知识点掌握得太少,导致做题的时候出现很多错误,令人头大。宿舍的其他人在开学之前就已经开始看视频,学习了,很多知识已经掌握了,也能很快的做题目。而...

ake474328502366的博客 193

【C语言必知必会 | 子系列第三篇】深入剖析选择结构(1)

在【C语言必知必会】系列中,我们学习了顺序结构、选择结构、循环结构等,同时也通过专项练习进行了知识点的巩固和手敲代码的锻炼。在子系列中,我们将基于PTA教学平台,向C语言学习者提供更优质的题目与更巧妙、精髓的解题思想与方法。PTA是一个程序设计类实验辅助教学平台,由千名老师共同建设,里面包含了上万道高质量题目,用户量达百万。在本讲中,将深入讲解选择结构的选择题,在思想上引领读者带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。此文为【C语言必知必会】子系列之第三篇。

等风来 6009

【C语言必知必会 | 子系列第四篇】深入剖析选择结构(2)

在【C语言你还没卷起来?】系列中,我们学习了顺序结构、选择结构、循环结构等,同时也通过专项练习进行了知识点的巩固和手敲代码的锻炼。在子系列中,我们将基于PTA教学平台,向C语言学习者提供更优质的题目与更巧妙、精髓的解题思想与方法。PTA是一个程序设计类实验辅助教学平台,由千名老师共同建设,里面包含了上万道高质量题目,用户量达百万。在本讲中,将深入讲解选择结构的编程题,在思想上引领读者带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。此文为【C语言必知必会】子系列第四篇。

等风来 5982

c语言------第一次作业,分支,顺序结构

c语言------第一次作业,分支,顺序结构 1.1思维导图 1.2 本章学习体会及代码量学习体会 1.2.1 学习体会 一星期下来,接触了顺序结构和分支结构,虽然这些东西在暑假都已经自学完了,但是毕竟有点久了,有些细节问题,比如switch-case语句要用花括号,我现在就有点不记得了。再次看书之后,就又重拾知识点,记忆更深刻。假期、周末是很好的学习时间,我会好好利用,毕竟,在老师讲...

dengsha5388的博客 465

【C语言必知必会 | 子系列第六篇】深入剖析循环结构(2)

在【C语言必知必会】系列中,我们学习了顺序结构、选择结构、循环结构等,同时也通过专项练习进行了知识点的巩固和手敲代码的锻炼。在子系列中,我们将基于PTA教学平台,向C语言学习者提供更优质的题目与更巧妙、精髓的解题思想与方法。PTA是一个程序设计类实验辅助教学平台,由千名老师共同建设,里面包含了上万道高质量题目,用户量达百万。在本讲中,将深入讲解循环结构编程题,在思想上引领读者带领读者在理论结合实际的基础上更好地学习、吸收、掌握C语言。此文为【C语言必知必会】子系列第六篇。

等风来 6286

C博客作业01——分支、顺序结构

1.本章学习总结 1.1思维导图 本章学习体会及代码量学习体会 1.2.1学习体会 在暑假的时候就有加入新生学习群,对C语言有一定的基础,所以这周的学习相对轻松,但一些细节方面的知识并不是很了解。在这周的学习中,掌握了C语言程序设计中的一些规范,例如:在标识符的命名中应该采用驼峰命名法,并且对变量的命名要清晰易懂;在使用大括号的时候应该分行……在之前做分支结构的相关习题的时候多...

248

c语言不足1公里按1公里收费,c语言------第一次作业,分支,顺序结构

1.1思维导图 ##1.2本章学习体会及代码量学习体 ###1.2.1学习体会初次接触C语言,由于比较懒惰,感觉学习脚步跟不上身边的同学,也比较困扰。但伴随着pta上多次显示的##编译错误##,坚持不懈地问舍友、看书、看视频,也慢慢懂得有些C语言的应用。但是之后的路还很长,还需要付出更多的精力去选好自己的专业。学习方法就像平常一样,多多问同学中学得快的人以及多打一些代码。落后并不重要,重要的是要保...

weixin_42139429的博客 3042
上一篇: CTF/AWD实战速胜指南,《AWD特训营》
下一篇: 【MySQL进阶之路丨第十篇】一文带你精通MySQL排序、分组、连接
秋说
秋说 优质创作者: 编程框架、信息安全技术领域 优质创作者: 编程框架、信息安全技术领域
博客等级 码龄4年 3万+粉丝 1906原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值