pta C语言基础代码(10题)

7-24 书香节

当当网每年书香节都推出购书优惠活动:每满100元就减50元。请编写程序,输入你购书的金额,计算并输出可减金额和付款金额。

输入格式

购书金额

输出格式

可减金额
付款金额

样例输入1

228.76

样例输出1

100.00
128.76

样例输入2

1000.0

样例输出2

500.00
500.00

 #include<stdio.h>
int main()
{
	double m;
	int a;
	scanf("%lf",&m);
	a=m/100;
	printf("%.2lf\n%.2lf\n",(double)a*50,m-(double)a*50);
	return 0; 
}

 

7-25 买U盘(误差修正版)

IT 协会举办程序设计竞赛,准备购买 U 盘作奖品。请编写程序,根据活动经费和 U 盘单价预估可购买 U 盘的最大数量。

输入格式

活动经费和 U 盘单价

输出格式

可购买 U 盘的最大数量

输入样例

660.8 47.2

输出样例

14

输入样例2

504.9 19.8

输出样例2

25
#include<stdio.h>
#include<math.h>
int main()
{
    double a,b;
    int max;
    scanf("%lf%lf",&a,&b);
    max=a/b+0.00001;
    printf("%d",max);
    return 0;
}

 

7-28 何时空仓

某仓库现存货物 s 箱,每天上午出货 m 箱、下午进货 n 箱,若s≥m>n≥0,则第 k 天将会出现空仓的情况。请你帮仓库管理员编写程序,输入s、m 和 n,计算并输出 k。

输入格式

s,m,n  (s≥m>n≥0)

输出格式

k

输入样例

4705 268 193

输出样例

61
#include<stdio.h>
int main()
{                   
    int s,m,n,k=0;
    scanf("%d %d %d",&s,&m,&n);
    while(s>0){
        k++;
        s=s-m;
        if(s<=0)
        break;
        s=s+n;
    }
    printf("%d\n",k);
    return 0;    
}

 

7-32 交换两实数的整数部分

输入两个实数,将其整数部分交换后输出,结果保留2位小数。

输入格式:

输入2个实数A和B。

输出格式:

输出交换整数部分之后的两个实数。数据之间以一个“,”分隔。

输入样例:

23.45 54.22

输出样例:

54.45,23.22
#include<stdio.h>
int main()
{
    double a,b;
    int a1 ,b1;
    scanf("%lf %lf",&a,&b);
    a1=(int)a;
    b1=(int)b;
    a=a-a1+b1;
    b=b-b1+a1;
    printf("%.2f,%.2f",a,b);

}

 

7-34 反序显示一个四位数

从键盘上输入一个四位整数,将结果按反序显示出来。

输入格式:

输入在一行中给出1个四位整数a。

输出格式:

在一行中输出a的反序数。

输入样例:

1234

输出样例:

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

 

7-35 英文字母的大小写转换

输入一个大写字母c1和一个小写字母c2,把c1转换成小写,c2转换成大写,然后输出。

输入格式:

输入在一行中给出2个字母,第1个是大写字母c1,第2个是小写字母c2。

输出格式:

在一行中输出把c1转换成小写,c2转换成大写后的结果。数据之间留一个逗号。

输入样例:

Y e

输出样例:

y,E
#include<stdio.h>
int main()
{
	char c1,c2;
	scanf("%c %c",&c1,&c2);
	printf("%c,%c",c1+32,c2-32);
	return 0; 
}

 

7-36 4位整数的数位和

输入一个4位数的整数,求其各数位上的数字之和。

输入格式:

输入在一行中给出1个4位的正整数n。

输出格式:

在一行中输出n的各数位上的数字之和。

输入样例:

1234

输出样例:

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

 

 

7-38 等边三角形面积

数学基础对于程序设计能力而言很重要。对于等边三角形面积,请选择合适的方法计算之。

输入格式:

测试数据有多组,处理到文件尾。每组测试输入1个实数表示等边三角形的边长。

输出格式:

对于每组测试,在一行上输出等边三角形的面积,结果保留2位小数。

输入样例:

1.0
2.0

输出样例:

0.43
1.73
//s=sqrt(3)a*a/4等边三角形的面积
#include <stdio.h>
#include <math.h>
int main()
{
	float a,t,s;
	while(scanf("%f",&a)!=EOF)
	{
		s=sqrt(3)*a*a/4;
		printf("%.2f\n",s);
	}
	return 0;
}

 

7-40 统计闰年个数

现行格里高利历法的置闰规则可以概括为:四闰百不闰,四百闰。编程序实现:输入一个年份,求出到这一年的年末总共经历了多少个闰年,限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法。

(提示:求出经历了多少个4年、多少个100年、多少个400年。
1.假如所有能被4整除的年份都是闰年,那么到第n年的年末总共经历了多少个闰年?
2.假如所有能被100整除的年份都不是闰年,那么到第n年的年末总共减少多少个闰年?
3.假如所有能被400整除的年份都是闰年,那么到第n年的年末总共增加多少个闰年?)

输入格式:

输入一个代表年份的正整数。

输出格式:

输出闰年个数,最后换行。

输入样例:

2020

输出样例:

490
#include<stdio.h>
int main()
{
    int x,y,z,m,n;
    scanf("%d",&x);
    m=x/400;
    z=x/100;
    n=x/4;
    y=m+n-z;
    printf("%d",y);
    return 0;
}

 

7-41 计算年初总天数

编程序实现:输入一个年份,求出从公元1年1月1日到这一年的1月1日总共有多少天,限定不能使用循环结构。假定从公元第一天开始,就实施格里高利历法。格里高利历法的置闰规则是400年97闰,也可以概括为:四闰百不闰,四百闰。

输入格式:

输入一个代表年份的正整数。

输出格式:

输出总天数,最后换行。

输入样例:

2021

输出样例:

737791
#include<stdio.h>
int main()
{
    int a,b,c,m,n;
    scanf("%d",&m);
    a=m/400;
    b=m/100;
    c=m/4;
    if((m%4==0&&m%100!=0)||m%400==0)
        n=366*(a+c-b) +365*(m-a-c+b-1);
    else
        n=366*(a+c-b) +365*(m-a-c+b-1)+1;
    printf("%d",n);
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值