1.for循环的,for的括号中不能出现如下形式
for(i=i;i<1;i++) -- i= i这种形式是错误的!
2.关于浮点数的相等判断
浮点数在计算机中存储时必然会出现数据丢失等误差,为了在这种前提下判断两个浮点数是否相等,我们规定只要两个浮点数之差小于一定值的时候,我们认为这两个浮点数相等,具体的格式如下。
1.引用fabs函数来计算误差 -- 头文件是 math,h
#include <math.h>
2.设定我们规定的最大误差值
const double esp = 1e - 6
3.调用函数计算误差
fabs ( a - b ) -- 此处是计算a和b这两个浮点数之间的误差
如果fabs(a - b) <= esp 我们认为这两个浮点数相等,否则不相等。
4.如何直接让我们输入的数据存到数组中?
简单,用 一个循环就可以实现
int arr[元素个数] = { 0 }
for (i=0;i<元素个数;i++)
scanf("%d",&arr[i]);
用这个方法时一定要记得将数组中的元素初始化。
5.循环结构中的循环变量可以是表达式
int main()
{
int i = 0;
int m = 0;
for (i = 0; i < 3; i++)
{
for (m = i + 1; m < 3; m++)
printf("haha\n");
}
return 0;
}
6.关于数组交换位置时的内存报错问题
#include <stdio.h>
int main()
{
int a[11];
int i, j, n;
int k = 0;
int tem = 0;
n = 11;
a[10] = 0;
for (i = 0; i < 10; i++)
{
scanf_s("%d",&a[i]);
}
for (i = 0; i < n-1; i++)
{
for (j = i + 1; j < n-1; j++)
{
while (a[i] == a[j])
{
for (k = j; k < n-1; k++)
{
tem = a[k];
a[k] = a[k + 1];
a[k + 1] = tem;
}