0
点赞
收藏
分享

微信扫一扫

趣味算法-读书笔记(三)


流程控制

分支语句-if

可以写范围

#include <stdio.h>

int main() {
int i = 20;
if (i < 60) {
if (i > 30) {
printf("java");
} else {
printf("C++");
}
}
}

趣味算法-读书笔记(三)_#include

分支语句-switch

#include <stdio.h>

int main() {
char i = 'B';
switch (i) {
case 'A':
printf("C++");
break;
case 'B':
printf("JAVa");
break;
case 'C':
printf("python");
break;
default:
printf("CCCC");
}
}

趣味算法-读书笔记(三)_c语言_02

循环语句for

#include <stdio.h>

int main() {
for (int i = 0; i <4 ; ++i) {
printf("what are you doing ?\n");
}
}

趣味算法-读书笔记(三)_#include_03

if 和 for循环语句:

#include <stdio.h>

int main() {

for (int i = 0; i < 4; ++i) {
if (i == 3) break;
printf("%d\n", i);

}
}

趣味算法-读书笔记(三)_c语言_04

在循环过程中提前终止和或是加速循环的进行:

比如我们现在希望在满足某个条件下提前终止循环,可以使用break关键字来跳出循环

使用continue关键字会加速循环,无论后面有没有未执行完的代码,都会直接开启下一轮

#include <stdio.h>

int main() {

for (int i = 0; i < 10; ++i) {
if (i == 5) continue;
printf("%d", i);

}
}

趣味算法-读书笔记(三)_#include_05

注意使用break和continue

#include <stdio.h>

int main() {

for (int i = 0; i < 4; ++i) {
for (int j = 0; j < 4 ; ++j) {

printf("%d,%d\n", i, j);
}
}
}



趣味算法-读书笔记(三)_c语言_06

循环语句while

相比for循环,while循环更多用在不明确具体的结束时机的情况下,而for循环更多用于明确知道循环的情况

#include <stdio.h>

int main() {
int i = 100;
while (i > 0) {
printf("%d\n", i);
i /=2;
}

}

趣味算法-读书笔记(三)_1024程序员节_07

#include <stdio.h>

int main() {
int i = 100;
while (i > 0) {
if(i < 30) break;
printf("%d\n", i);
i /=2;
}

}

趣味算法-读书笔记(三)_数据结构_08

阶乘:

#include <stdio.h>

int main() {
int i =3, res=1;
for (int j = 0; j < 5; ++j) {
res *= i;
printf("%d\n",res);
}

}

趣味算法-读书笔记(三)_数据结构_09

实战:寻找水仙花数

也被称为超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数,水仙花数是指一个3位数,它的每个位上的数字的3次幂之和等于它本身。例如:1^3+5^3+3^3=153。

打印出所有1000以内的水仙花数

#include <stdio.h>

int main() {
for (int i = 0; i < 1000; ++i) {
int a = i % 10, b = i / 10 % 10, c = i / 10 / 10;
if (a * a * a + b * b * b + c * c * c == i) {
printf("%d\n", i);
}
}
}

趣味算法-读书笔记(三)_算法_10

实战:打印九九乘法表

#include <stdio.h>

int main() {
for (int i = 1; i < 10; ++i) {
for (int j = 1; j < 10; ++j) {
if(i < j) continue;
printf("%d * %d = %d ",i ,j ,i *j );
}
printf("\n");
}
}

趣味算法-读书笔记(三)_数据结构_11

实战:斐波那契数列

#include <stdio.h>

int main() {
int target = 10, result;
int a = 1, b = 2, c;
for (int i = 2; i < 10; ++i) {
c = a + b;
a = b;
b = c;
}
result = c ;
printf("%d \n", c );
}

趣味算法-读书笔记(三)_算法_12

数组

#include <stdio.h>

int main() {
int arr[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
for (int i = 0; i < 12 ; ++i) {
int days = arr[i];
printf("%2d : %d \n",(i + 1), days);
}
}

趣味算法-读书笔记(三)_1024程序员节_13

#include <stdio.h>

int main() {
int arr[12] = {[4]=31};
for (int i = 0; i < 12 ; ++i) {
int days = arr[i];
printf("%2d : %d \n",(i + 1), days);
}
}

趣味算法-读书笔记(三)_c语言_14

#include <stdio.h>

int main() {
int arr[12] = {999,111,222,333};
arr[1]=1000;
printf("%d",arr[1]);
}

数据替换

趣味算法-读书笔记(三)_数据结构_15

超出大于30的月份

#include <stdio.h>

int main() {
int arr[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
for (int i = 0; i < 12; ++i) {
if(arr[i] > 30){
printf("%d\n",i + 1);
}
}
}

趣味算法-读书笔记(三)_c语言_16

将低于31天的修改为0

#include <stdio.h>

int main() {
int arr[12] = {31,28,31,30,31,30,31,31,30,31,30,31};
for (int i = 0; i < 12; ++i) {
if(arr[i] < 31 ) arr[i] = 0;
}
for (int i = 0; i < 12; ++i) {
printf("%d,",arr[i]);
}
}

趣味算法-读书笔记(三)_算法_17

多维数组

#include <stdio.h>

int main() {
int arr[3][12] = {{31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31},
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 },
{ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }};
printf("%d\n",arr[0][4]);
}

趣味算法-读书笔记(三)_数据结构_18

冒泡排序算法

#include <stdio.h>

int main() {
int arr[10] = {2, 2, 43, 19, 5, 5, 6, 76, 7, 10};
for (int i = 0; i < 10; ++i) {
_Bool flag = 0;
for (int j = 1; j < 10; ++j) {
if (arr[j] < arr[j - 1]) {
int tmp = arr[j - 1];
arr[j - 1] = arr[j];
arr[j] = tmp;
flag = 1;
}
}
if (flag == 0) break;
}
for (int i = 0; i < 10; ++i) {
printf("%d ", arr[i]);
}
}

趣味算法-读书笔记(三)_数据结构_19

斐波那契数列

动态规划算法通常用于求解具有某种最优性质的问题

#include <stdio.h>

int main() {
int target = 10;

int dp[target];
dp[1] = dp[0] =1;
for (int i = 2; i < target; ++i) {
dp[i] = dp[i-1] + dp[i-2];
}
printf("%d",dp[target - 1]);

}

趣味算法-读书笔记(三)_算法_20

备注:如有错误,请谅解!


举报

相关推荐

0 条评论