int等强制类型转化,不会永久改变数据类型,只会在当前语句生效

int等强制类型转化,不会永久改变数据类型,只会在当前语句生效

验证代码

#include<iostream>
using namespace std;
int main()
{
	char a = 'a';
	int b = (int)a;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
}

输出结果为:
a=a
b=97

#include<iostream>
using namespace std;
int main()
{
	double a=3.14;
	int b = (int)a;
	cout << "a=" << a << endl;
	cout << "b=" << b << endl;
}

输出结果:
a=3.14
b=3

PTA例题

6-11 拆分实数的整数与小数部分

分数 10
作者 张泳
单位 浙大城市学院
本题要求实现一个拆分实数的整数与小数部分的简单函数。

函数接口定义:
void splitfloat( float x, int intpart, float fracpart );
其中x是被拆分的实数(0≤x<10000),
intpart和
fracpart分别是将实数x拆分出来的整数部分与小数部分。

裁判测试程序样例:

#include <stdio.h>

void splitfloat( float x, int *intpart, float *fracpart );

int main()
{
    float x, fracpart;
    int intpart;
    
    scanf("%f", &x);
    splitfloat(x, &intpart, &fracpart);
    printf("The integer part is %d\n", intpart);
    printf("The fractional part is %g\n", fracpart);
    
    return 0;
}

/* 你的代码将被嵌在这里 */

输入样例:
2.718
输出样例:
The integer part is 2
The fractional part is 0.718

答案

void splitfloat( float x, int *intpart, float *fracpart )
{
    *intpart=(int)x;
    *fracpart=x-*intpart;
}
posted @ 2024-03-07 20:59  yesno233233  阅读(40)  评论(0)    收藏  举报