初学C语言的一些关于ACM的题目问题,百度了一些内容但还是不理解哎

2025-01-06 09:06:23
推荐回答(3个)
回答1:

首先,你还是找本入门书好好看,这些都是基础。
1:输入:
for(int i=0;i scanf("%d",&a[i]);
输出:
for(int j=0;j printf("%d",a[j]);
这样即可实现。
2:
判断某个数是不是整数不能用 if(x==int(x)) 来判断,,
一个数既然已存在与内存中(不然你如何来判断这个数是否是什么类型的),,那么在定义
这个变量时就已经给他分配了类型了。。。
很明显%2==0是判断奇偶性的,,,
3:
int /int 型结果必然为int 型,,你不必需要将他们都设为float,只需一个为float就可以使结果为float,
且存在类型转换,(自动类型转换和强制类型转换)
像这种你只需用个强制类型转换就可以了。。

回答2:

1, 按照那样操作没问题的 ,可能是你代码有问题
2, 如果x是float, 按照if(x==(int)x)判断是没问题的, 这条语句隐含地和if(x==(float)(int)x)一样(类型提升),
也可以用if(x-(int)x == 0)来判断
3, ((float)a-b)/2, float放外面有问题的, 如果a-b=1, 那结果就是0.0了, 自己体会下

回答3:

走都没有学会,就想学跑? 先把基础打牢固吧。