b64_c3VuJTIwYm95 #01数据结构练习一

提示:参考代码在最下方

1.温度转换(一)

题目描述
一美国人来华,测量体温后不太确定自己是否发烧,原来美国是遵循华氏温度而不是摄氏温度。编一程序,将摄氏温度换为华氏温度。公式为:f=9/5*c+32。其中f为华氏温度,c是摄氏温度。
输入描述
输入一行,只有一个整数c
输出描述
输出只有一行,包括1个实数。(保留两位小数)
样例输入
50
样例输出
122.00
提示
友情提示:如果变量定义的是double类型,scanf要写成scanf("%lf",变量名); printf要写成printf("%格式控制f",变量名)。

2. 位数对调

题目描述
输入一个三位自然数,然后把这个数的百位数与个位数对调,输出对调后的数
输入描述
输入一行,只有一个整数x(100<=x<=999)。
输出描述
输出只有一行,包括1个整数,注意不要有前置0的存在。
样例输入
123
样例输出
321

3. 大小写转换

题目描述
输入一个大写字母,输出其小写形式
输入描述
一个大写字母
输出描述
输入的大写字母的小写形式
样例输入
A
样例输出
a

4. 一元二次方程

题目描述
解一元二次方程ax^2+bx+c=0的解。
输入描述
a,b,c的值。
输出描述
两个根X1和X2,其中X1>=X2,结果保留两位小数
样例输入
1 5 -2
样例输出
0.37 -5.37

5. 三位数分解求累加和

题目描述
输入一个3位的正整数n,编程计算整数n的各位数字之和。
输入描述
输入一个正整数n。
输出描述
各位数字之和sum。
样例输入
208
样例输出
10

6. 鸡兔同笼

题目描述
鸡和兔关在一个笼子里,鸡有2只脚,兔有4只脚,没有例外。已知现在可以看到笼子里m个头和n只脚,求鸡和兔子各有多少只?
输入描述
输入两个整数m和n,分别代表笼子里头的个数和脚的个数。(假设m和n都在合法的数据范围内)
输出描述
依次输出鸡和兔的只数。(数字为0的也要输出)
样例输入
12 40
样例输出
4 8

7. 四位数拆分

题目描述
输入一个四位数,判断千位、百位、十位和个位数字之和是否为偶数,如果是,输出Yes,如果不是,输出No;如果不是四位数,输出Invalid data。
输入描述

输出描述
样例输入
4321
样例输出
Yes

8. 混合类型数据格式化输入

题目描述
顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
输入描述
输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
输出描述
在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
样例输入
2.12 88 c 4.7
样例输出
c 88 2.12 4.70

9. 时间戳

题目描述
国家安全局获得一份珍贵的材料,上面记载了一个即将进行的恐怖活动的信息。不过,国家安全局没法获知具体的时间,因为材料上的时间使用的是LINUX的时间戳,即是从2011年1月1日0时0分0秒开始到该时刻总共过了多少秒。此等重大的责任现在落到了你的肩上,给你该时间戳,请你计算出恐怖活动在哪一天实施?(为了简单起见,规定一年12个月,每个月固定都是30天)
输入描述
一个整数n,表示从2011年1月1日0时0分0秒开始到该时刻过了n秒。
输出描述
输出一行,分别是三个整数y、m、d,表示恐怖活动在y年m月d日实施。
样例输入
130432457
样例输出
2015 3 10

10. 分段函数1

题目描述
编写程序,计算下列分段函数y=f(x)的值。
y=-x+2.5; 0<=x<2
y=2-1.5(x-3)(x-3); 2<=x<4
y=x/2-1.5; 4<=x<6
输入描述
一个浮点数x
输出描述
测试数据可能有多组,对于每一组数据, 输出x对应的分段函数值:f(x)。结果保留三位小数
样例输入
1
样例输出
1.500

参考答案:

  1. 温度转换(一)
#include<stdio.h>
int main()
{
	double f,c;			//定义双精度类型的f,c
	scanf("%lf",&c);	//输入
	f=c*9/5+32;			//注意:公式写为f=c*9/5+32
	printf("%.2f\n",f);		//注意:保留两位有效数字%.2f
	return 0;
}
  1. 位数对调
#include<stdio.h>
int main(){
	int i,x,y,z;
	scanf("%d",&i);
	if(i>=100&&i<=999){
		x=i/100;
		y=i%100/10;
		z=i%10;
		i=z*100+y*10+x;
	}else{
		printf("输入不合法"); 
	}
	printf("%d",i);
	return 0;
}
  1. 大小写转换
#include<stdio.h>
int main()
{
	char w;
	scanf("%c",&w);
	printf("%c",w+32);
	return 0;
}
  1. 一元二次方程
#include<stdio.h>
#include<math.h>
int main()
{
	double a,b,c,x1,x2;
	//公式:x1=[-b+sqrt(b^2-4*a*c)]/2a
	scanf("%lf%lf%lf",&a,&b,&c);
	x1=(-b+sqrt(pow(b,2)-4*a*c))/2*a;
	x2=(-b-sqrt(pow(b,2)-4*a*c))/2*a;
	printf("%.2f %.2f",x1,x2);
	return 0;
}

  1. 三位数分解求累加和
#include<stdio.h>
int main()
{
	int n,sum,x,y,z;
	scanf("%d",&n);
	if(n>99&&n<=999){
		x=n/100;
		y=n%100/10;
		z=n%10;
		sum=x+y+z;
		printf("%d",sum);
	}else{
		printf("输入错误!");
	}
}
  1. 鸡兔同笼
#include<stdio.h>
int main()
{
	int j,t,m,n;
	scanf("%d%d",&m,&n);
	//t:2脚 j:2脚
	//m=j+t;n=2*j+4*t;=>j=m-t;t=n/2-m
	t=n/2-m; 
	j=m-t; 
	printf("%d %d",j,t); 
	return 0; 
}
  1. 四位数拆分
#include<stdio.h>
int main()
{
	int n,q,b,s,g,sum;
	scanf("%d",&n);
	if(n>999&&n<10000){
		q=n/1000;
		b=(n/100)%10; 
		s=(n/10)%10; 
		g=n%10; 
		sum=q+b+s+g;
		if(sum%2==0){
			printf("Yes"); 
		} else{
				printf("No"); 
			} 
		} else{
			printf("Invalid data"); 
		} 
}
  1. 混合类型数据格式化输入
#include<stdio.h>
int main()
{
	//题目描述

//顺序读入浮点数1、整数、字符、浮点数2,再按照字符、整数、浮点数1、浮点数2的顺序输出。
	float f1,f2;
	int z;
	char c; 
//输入描述

//输入在一行中顺序给出浮点数1、整数、字符、浮点数2,其间以1个空格分隔。
	scanf("%f %d %c %f",&f1,&z,&c,&f2); 
//输出描述

//在一行中按照字符、整数、浮点数1、浮点数2的顺序输出,其中浮点数保留小数点后2位。
	printf("%c %d %.2f %.2f",c,z,f1,f2); 
//样例输入
	return 0; 
//2.12 88 c 4.7 
}
  1. 时间戳
#include<stdio.h>
int main()
{
    int years=12*30*24*60*60;
    int months=30*24*60*60;
    int days =24*60*60;
    int n, ss, y, m, d;
    scanf("%d", &n);
    y = n/years;
    ss = n%years;
    m = ss/months+1;
    ss = ss%months;
    d = ss/days+1;
    printf("%d %d %d\n", 2011+y, m, d);
    return 0;
}
  1. 分段函数1
#include<stdio.h>
int main()
{
    double x,y;
    scanf("%lf",&x);
    if(0<=x&&x<2)
    {
        y=-x+2.5;
    }
    else if(2<=x&&x<4)
    {
        y=2-1.5*(x-3)*(x-3);
    }
    else if(4<=x&&x<6)
    {
        y=x/2-1.5;
    }
    printf("%.3lf",y);
    return 0;
}
  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

挖洞的杰瑞

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值