我写的代码是这样的:
运行结果是2,总感觉代码怪怪的又不知道哪出问题
代码逻辑没啥问题,问题在数据类型上,你这个i和j是int型的,算出来肯定也是int型的。
你给转一个或者两个就都行了
把你的
sum+=i/j
改成:
sum+=double(i)/j
或者sum+=double(i)/double(j)
就行了
建议用double,结果更精准,你这个题明显算出来小数位是很多的。。。
整型数据分为short \int\long,为了充分利用变量的值的范围,引出unsigned,所以实际上是6种整型变量。在C语言程序中所有用到的变量都必须在程序中定义,即“强制类型定义”。而在将一个整型常量复制给变量时要根据不同整型变量的范围,若范围太大会造成空间浪费,太小则会有数据的“溢出”。整型数据的存储是以二进制的补码形式存储的。
浮点型变量是由有限的存储单元组成的,因此提供的有效数字总是有限的。在有效位以外的数字将被舍去。浮点型数据在内存中是按照指数形式存储的。
字符数据在内存中存储的形式是:将一个字符常量放到字符变量里,并不是存字符本身而是字符对应的ASCII码。它们存储的形式类似,因此整型数据与字符型数据之间可以互用。