第一题 将数组A中的内容和数组B中的内容进行交换
- 分析
数组中所存变量可以通过数组下标取出,问题就转换成两变量交换 - 思路
遍历两个数组,取出对应的值,引入第三变量,交换其中的值并重新储存到对方数组中 - 实现
void exchangeArray() {
int arr1[] = { 1,2,3 };
int arr2[] = { 4,5,6 };
int temp;
for (int i = 0; i < 3; i++)
{
temp = arr1[i];
arr1[i] = arr2[i];
arr2[i] = temp;
}
for (int k = 0; k < 3; k++)
{
printf("arr1:%d\n", arr1[k]);
printf("arr2:%d\n", arr2[k]);
}
}
第二题 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值
- 分析
通过观察算式,被除数都为1,除数为1到100,符号也是-+交替。 - 思路
- 使用for循环,得到1-100的数进行运算
- 注意定义变量类型,应为float或者double,如果是int,计算结果会被转换为整形
- 定义 flag以改变符号。
- 实现
void count() {
float result = 0;
float flag = 1.0;
for (int i = 1; i <= 100; i++)
{
result = result + flag * (1.0 / i);
flag = -flag;
}
printf("%f\n", result);
}
第三题 编写程序数一下 1到 100 的所有整数中出现多少次数字9
- 分析
1到100中,分为个位是9和十位是9两种。 - 思路
for循环 1到100,如果这个数对10求模结果是9的话,计数器加1,如果这个数除以10结果是9的话计数器也加1 - 实现
void Numbernine() {
int count = 0;
for (int i = 1; i <= 100; i++)
{
if (i % 10 == 9)
{
count++;
}
if (i / 10 == 9)
{
count++;
}
}
printf("九出现的次数%d\n", count);
}
写在最后
最近推出了公众号 coding趣谈,一位在读学生的技术提升之路,为您提供一系列我在学习路上的笔记,经验,以及感悟。往与君共勉,共同进步! 欢迎大家来关注哦!