0
点赞
收藏
分享

微信扫一扫

复习第二章之Redis

茗越 2023-08-01 阅读 29

目录

1.输出100以内3的倍数

2.将3个数从大到小输出

3.打印100~200素数

方法一

方法二

4.显示printf的返回值

最大公约数

试除法

辗转相除法

九九乘法表

 求十个数的最大值


1.输出100以内3的倍数

 法一:

int n = 0;
while (n*3 < 100)
{
printf("%d ", n*3);
n++;
}

法二:

	int i = 0;
for (i = 1; i <= 100; i++)
{
if (i % 3 == 0)
{
printf("%d ", i);
}
}

2.将3个数从大到小输出

	int a = 0;
int b = 0;
int c = 0;
int tmp = 0;
scanf("%d %d %d",
if (a < c)
{
tmp = c;
c = a;
a = tmp;
}
if (a < b)
{
tmp = b;
b = a;
a = tmp;
}
if (b < c)
{
tmp = b;
b = c;
c = tmp;
}

printf("%d %d %d\n", a, b, c);
return 0;
}

3.打印100~200素数

方法一

	int i = 101;
int n;
for (i = 101; i < 200; i++)
{
int flag = 0;//开关
for (n = 2; n < i; n++)
{
if (i % n == 0)
{
flag = 0;
break;
}
else flag = 1;
}
if(flag == 1)
printf("%d ", i);
}

方法二

#include <stdio.h>
#include<math.h>
int main(){
int i = 101;
int n;
for (i = 101; i < 200; i+2)
{
int flag = 0;
for (n = 2; n <= sqrt(i); n++)
{
if (i % n == 0)
{
flag = 0;
break;
}
else flag = 1;
}
if(flag == 1)
printf("%d ", i);
}
return 0;
}

注意因子可以等于√n,sqrt是用来求根号的函数,需要包含头文件math.h

因为偶数不可能是素数,我们可以跳过偶数部分只进行奇数的循环。

4.显示printf的返回值

	int ret = printf("hello world!");
printf("\n%d", ret);
//等价于
int ret = printf("\n%d", printf("hello world!"));

 

由此我们可以得出结论:printf返回值是字符的个数 

最大公约数

试除法

    int a = 0, b = 0;
scanf("%d %d",
int ret = a > b ? b : a;

while (a % ret || b % ret)
{
ret--;
}
printf("%d\n", ret);

辗转相除法

	int a = 0, b = 0;
int r = 0;
scanf("%d %d",
while (r = a % b)
{
a = b;
b = r;
}
printf("%d\n", b);

九九乘法表

    int i = 0;
for (i = 1; i <= 9; i++)
{
//打印一行
int j = 0;
for (j=1; j<=i; j++)//列数不超过行数
{
printf("%d*%d=%-2d ", i, j, i * j);
}
printf("\n");
}

不多赘述,注意我们这里采用左对齐%-2d的方式使得代码整齐,希望大家写代码的时候也能用到这样的技巧。

 求十个数的最大值

int arr[] = { -1,-2,-3,-4,-5,-6,-7,-8,-9,-10 };
int max = arr[0];
int i = 0;
for (i = 1; i < 10; i++)//从第二个数开始
{
if (arr[i] > max)
max = arr[i];
}

printf("%d\n", max);
举报

相关推荐

0 条评论