1. 将数组A中的内容和数组B中的内容进行交换(数组一样大)
#include <stdio.h>
#include <stdlib.h>
#define N 9
int main()
{
int a[N] = {0}, b[N] = {1,1,1,1,1,1,1,1,1};
int i = 0;
//遍历交换元素
for(i=0; i<=N; i++)
{
int temp = a[i];
a[i] = b[i];
b[i] = temp;
}
//打印数组a,b
for(i=0; i<N; i++)
{
printf("%d %d\n",a[i],b[i]);
}
system("pause");
return 0;
}
2. 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a = -1, i = 0;
double sum = 0;
for(i=1; i<=100; i++)
{
a = -a;
sum += a * (1.0/i);
}
printf("%.6f\n",sum);
system("pause");
return 0;
}
在写程序的时候,忽略了分数是浮点数,导致结果一直为0。经过排查检验后发现算法本身并没有问题,在网上查阅了相关资料后,然后仔细排查程序发现是 ptintf输出 出了问题,浮点数的输出为%f。说明对浮点数这块有点生疏,需要多注意,并加强训练。
3. 编写程序数一下 1到 100 的所有整数中出现多少次数字9
#include <stdio.h>
#include <stdlib.h>
int main()
{
int count = 0, num = 0;
for(num=1; num<=100; num++)
{
if(num%10 == 9 || num/10 == 9)
{
count++;
if(num == 99)
{
count++;
}
}
}
printf("%d\n",count);
system("pause");
return 0;
}
有个坑:1-100之间有个99,出现了两次,所以需要额外考虑这个情况。