C程序设计—数据类型与运算

题目来源:pta

实验一 数据类型与运算

1 计算平均分

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均成绩(结果按整型输出)。
输入格式:
本题无输入
输出格式:
按照下列格式输出结果:
math = 87, eng = 72, comp = 93, average = 计算所得的平均成绩

本题思想:

利用C语言做简单的加减乘除运算

#include <stdio.h>
int main()
{
	int a,b,c,ave;
	a=87;
	b=72;
	c=93;
	ave=(a+b+c)/3;
	printf("math = %d, eng = %d, comp = %d, average = %d",a,b,c,ave);
    return 0;
}

2 整数152的各位数字

本题要求编写程序,输出整数152的个位数字、十位数字和百位数字的值。
输入格式:
本题无输入。
输出格式:
按照以下格式输出:
152 = 个位数字 + 十位数字10 + 百位数字100

本题思想:

利用C语言做数字的取余运算(需记住如何获取一个三位数上每一位的数字,在后面判断水仙花数时也会用到此方法)

#include <stdio.h>
int main()
{
	int A,a,b,c;
	A=152;
	a=A%10;
	b=(A/10)%10;
	c=A/100;
	printf("%d = %d + %d*10 + %d*100",A,a,b,c);
	return 0;
}

3 逆序的三位数

程序每次读入一个正3位数,然后输出按位逆序的数字。注意:当输入的数字含有结尾的0时,输出不应带有前导的0。比如输入700,输出应该是7。
输入格式:
每个测试是一个3位的正整数。
输出格式:
输出按位逆序的数。
输入样例:
123
输出样例:
321

本题思想:

和上一题类似,只不过需要判断逆序后百位上的数字是否为0

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

	return 0;
}

4 华氏温度转化为摄氏温度

将华氏温度转化为摄氏温度(下式中c表示摄氏温度,f表示华氏温度)。
c=5/9 (f-32)

输入格式:
直接输入一个实数,没有其它任何附加字符。
输出格式:
在一行中按照“c=结果”的顺序输出,结果为保留2位小数的实数,没有其它任何附加格式控制。
输入样例:
34
输出样例:
c=1.11**

本题思想:

由于结果为保留2位小数,所以需要用到float或者double类型。
另外,注意c=5/9(f-32)在编译器中的表达。

#include <stdio.h>
int main()
{
	float f,c;
	scanf("%f",&f);
	c=(f-32)*5/9;
	printf("c=%.2f",c);
	return 0;
}

【如果大家还有更好的方法,请到下方评论(题号+代码及思想)哦】

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值