python123程序设计题a除以b_《C语言程序设计》实验作业--选择结构练习(1)--PTA.拼题A.刷题...

7-3 输出三角形面积和周长 (15分)本题要求编写程序,根据输入的三角形的三条边a、b、c,计算并输出面积和周长。

注意:在一个三角形中, 任意两边之和大于第三边。三角形面积计算公式:其中s=(a+b+c)/2。

输入格式:

输入为3个正整数,分别代表三角形的3条边a、b、c。

输出格式:

如果输入的边能构成一个三角形,则在一行内,按照

area = 面积; perimeter = 周长

的格式输出,保留两位小数。否则,输出

These sides do not correspond to a valid triangle

输入样例1:

5 5 3

输出样例1:

area = 7.15; perimeter = 13.00

输入样例2:

1 4 1

输出样例2:

These sides do not correspond to a valid triangle

参考代码如下:

#include

#include

int main()

{

int a,b,c;

float area,perimeter,s;

scanf("%d %d %d",&a,&b,&c);

if(a

{

s=(a+b+c)/2.0;

/* 注意如果算子都为整型则结果为整型,由于a、b、c都为整形,因此要 2 要写为 2.0(浮点型),或者写为(float)(a+b+c)/2 */

area=sqrt(s*(s-a)*(s-b)*(s-c));

perimeter=a+b+c;

printf("area = %.2f; perimeter = %.2f",area,perimeter);

}

else

printf("These sides do not correspond to a valid triangle");

return 0;

}

7-4 回文数 (10分)判断一个5位数是不是回文数。例如12321是一个回文数,即它的个位与万位相同,十位与千位相同。。

输入格式:

直接输入一个5位数正整数。

输出格式:

输出“yes”或“no”。此处均为小写字母

输入样例:

12521

输出样例:

yes

输入样例:

65432

输出样例:

no

参考代码如下:

#include

int main()

{

int a,b,c,d,i;

scanf("%d",&i);

a=i/10000;

b=i/1000%10;

c=i%100/10;

d=i%10;

if(a==d&&b==c)

printf("yes\n");

else

printf("no\n");

return 0;

}

/* 同学们要掌握如果取出一个整数的各个位数 */

7-5 A除以B (10分)真的是简单题哈 —— 给定两个绝对值不超过100的整数A和B,要求你按照“A/B=商”的格式输出结果。

输入格式:

输入在第一行给出两个整数A和B(−100≤A,B≤100),数字间以空格分隔。

输出格式:

在一行中输出结果:如果分母是正数,则输出“A/B=商”;如果分母是负数,则要用括号把分母括起来输出;如果分母为零,则输出的商应为Error。输出的商应保留小数点后2位。

输入样例1:

-1 2

输出样例1:

-1/2=-0.50

输入样例2:

1 -3

输出样例2:

1/(-3)=-0.33

输入样例3:

5 0

输出样例3:

5/0=Error

参考代码如下:

#include

int main()

{

int A,B;

scanf("%d %d",&A,&B);

if(A>=-100&&B<=100)  //写代码时一定要注意层级缩进,增强程序的可读性,便于调试维护

if(B>0)

printf("%d/%d=%.2f",A,B,(double)A/B);

else if(B<0)

printf("%d/(%d)=%.2f",A,B,(double)A/B);

else if(B==0)

printf("%d/%d=Error",A,B);

return 0;

}

7-6 出租车计价 (15分)本题要求根据某城市普通出租车收费标准编写程序进行车费计算。具体标准如下:起步里程为3公里,起步费10元;

超起步里程后10公里内,每公里2元;

超过10公里以上的部分加收50%的回空补贴费,即每公里3元;

营运过程中,因路阻及乘客要求临时停车的,按每5分钟2元计收(不足5分钟则不收费)。

输入格式:

输入在一行中给出输入行驶里程(单位为公里,精确到小数点后1位)与等待时间(整数,单位为分钟),其间以空格分隔。

输出格式:

在一行中输出乘客应支付的车费(单位为元),结果四舍五入,保留到元。

输入样例1:

2.6 2

输出样例1:

10

输入样例2:

5.1 4

输出样例2:

14

输入样例3:

12.5 9

输出样例3:

34

参考代码如下:

#include

int main(){

float km,charge=0 ;    //定义变量时,变量名要取有意义的名字,增强可读性。

int min ;

scanf("%f %d",&km,&min);

//scanf中的格式符%f,不能有精度的前缀,有写同学写%.1f是错的

if(km<=3)

charge = 10;

else if(km<=10)

charge = 10+2*(km-3);

else if(km>10)

charge = 24+3*(km-10);

charge += min/5*2;

printf("%.0f",charge);   // %.0f 会只保留整数部分,并自动进行四舍五入。

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言的词法分析程序是用来对源程序进行词法分析的工具。词法分析的目的是将源程序按照语法规则划分成一个个单词,包括关键字、自定义标识符、整数、界符和运算符。关键字是预定义的特殊单词,如main、if、else、for、while和int。自定义标识符是除关键字外的其他标识符。整数是无符号的数字。界符是一些特殊符号,如{ } ( ) , ;。运算符则包括= - * / < <= > >= == !=。为了实现词法分析,可以使用NFA(非确定有穷自动机)和DFA(确定有穷自动机)的方法构造词法分析程序。这个程序可以对输入的字符串流进行词法分析,识别出关键字、运算符和定界符,并识别其他单词为标识符(id)和整型常数(num)。词法分析程序的输出形式是按照二元组单词串的形式输出。构造一个小C语言的词法分析程序可以使用正规式来定义词法规则。例如,标识符可以由字母开头,后面可以是字母或数字,整数由数字组成。词法分析程序将按照这些规则来识别不同的单词类型。在词法分析程序中,还可以使用产生式来定义语法规则,如因子可以是标识符、无符号整数或算术表达式等。如果您想使用Python编写一个小C语言的词法分析程序,您可以根据上述的词法规则和语法规则来设计程序的逻辑,使用正则表达式来匹配不同的单词类型,并将其输出为二元组单词串的形式。在程序中,您可以使用字符串处理和正则表达式库来辅助实现词法分析的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [A - 小C语言--词法分析程序](https://blog.csdn.net/qq_46452300/article/details/123394158)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [【编译原理】使用python构造高级语言c语言的词法分析程序,模拟词法分析过程](https://blog.csdn.net/The_Handsome_Sir/article/details/124392414)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值