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;
}

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

猜你喜欢

转载自blog.csdn.net/weixin_44917733/article/details/103536239