write in front个人主页:打打酱油desu_泽En_CSDN博客目录
本文由 泽En 原创 CSDN首发 如需转载还请通知?
2021年度博客之星物联网与嵌入式开发TOP5→作者周榜56→总排名3255
欢迎各位→点赞 + 收藏?? + 留言?
系列专栏:【C】题目_打打酱油desu-CSDN博客
总结:希望你看完之后,能对你有所帮助,不足请指正!共同学习交流
??我们并非登上我们所选择的舞台,演出并非我们所选择的剧本 ?
write in front
?第二十六题代码?
?第二十七题代码?
?第二十八题代码?
?第二十九题代码?
?第三十题代码?
?第二十六题→实现N的阶层(分别实现while、for)?
首先N的阶层实际上就是假设5的阶层就是1x2x3x4x5这种就叫做是5的阶层,本题要求用while循环和for循环求阶层这道题目实际上就是考察你对循环的理解,本道题目要特别注意下循环当中的表达式,以及创建个sum总值用于每次循环i相乘sum,直到循环结束打印sum。?第二十七题→在一个有序的数组中查找具体某个数字k(二分查找)?
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。?第二十八题→使用for循环语句显示10个随机数!打印产生随机数1~100~?
二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止;如果xa[n/2],则只要在数组a的右半部搜索x。最后,当我们找到元素进行打印再跳出。如果没找到就跳出循环。
在C语言中,我们一般使用头文件中的 rand() 函数来生成随机数,它的用法为:
int rand (void); 那么上述程序当中需要我们生成随机数是1~100这个怎么去生成,实际上很容易。我们直到rand()生成的最大值是0~32768,那么在本题目当中我们需要生成1~100也就是说我们需要产生一定随机值的方法,这个时候就可以用到取模运算符。示例如下代码所示:
int ret = rand() % 10;
//产生0~9的随机数 - 注意10会被整除
当然如果你这里取模100只是会产生0~99的数字,你必须还要+1才行这样就是1~100范围之间的数字了刚好吻合题目要求。所以,在本道题目实际上就是用到取模运算符来解决这个问题。
使用?第二十九题→打印出金字塔?头文件中的 time() 函数即可得到当前的时间(精确到秒),就像下面这样:
srand((unsigned)time(NULL)); 通常只需要引用一次即可!
打印金字塔无非就是用for循环进行嵌套,当我们输入数字5的时候,我们来假设它的一个运行结果来看看这样有利于我们解题↓
*
***
*****
*******
*********
上述就是输入数字5,所打印出的金字塔。从这个运行结果我们再来做题就好办多了。 如果你不理解它的运行步骤可以多去调试,调试真的能帮助你解决很多问题,尤其是你刚学C语言的人或者是初学者,那怕是大牛阿,都是需要调试的。可以说一个人写代码的时间可能只有百分之30~40,而大多数人写代码调试的时间却有百分之60~70了。?第三十题→输入两个数字,求它们的最大公约数?
最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。?第二十六题代码?
a,b的最大公约数记为(a,b),同样的,a,b,c的最大公约数记为(a,b,c),多个整数的最大公约数也有同样的记号。求最大公约数有多种方法,常见的有质因数分解法、短除法、辗转相除法、更相减损法。与最大公约数相对应的概念是最小公倍数,a,b的最小公倍数记为[a,b]。
这个也是在数学当中我们会经常用到短除法。
for循环的使用↓
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main(void)
{
int i = 0;
int j = 0;
int sum = 1;
printf("请输入数字:");
scanf("%d", &j);
for (i = 1;
i <= j;
i++)
{
sum = sum * i;
//sum 实现N的阶乘之和
}
printf("sum = %d\n", sum);
return 0;
}
while循环的使用↓
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main(void)
{
int input = 0;
int sum = 1;
puts("请输入数字:");
scanf("%d",&input);
while (input)
{
sum = input * sum;
input--;
}
printf("sum = %d\n", sum);
}
运行结果
可能运行结果
请输入数字:5
*
***
*****
*******
*********
?第二十七题代码?
#include
int main(void)
{
int k = 7;
int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int sz = sizeof(arr) / sizeof(arr[0]);
int left = 0;
int right = sz - 1;
while (left <= right)
{
int mid = (left + right) / 2;
if (arr[mid] < k)
{
left = mid + 1;
}
else if (arr[mid] > k)
{
right = mid - 1;
}
else
{
printf("找到了,数组下标:%d,元素%d\n", mid,arr[mid]);
break;
}
}
if (left > right)
{
printf("找不到!\n");
}
return 0;
}
运行结果?第二十八题代码?
找到了,数组下标6,元素7
#include
#include
#include
#define NUM 10
int main(void)
{
int i = 1;
srand((unsigned)time(NULL));
for (i = 1;
i <= NUM;
i++)
{
int ret = rand() % 100 + 1;
printf("第%-2d次:数字-->%d\n", i, ret);
}
return 0;
}
运行结果?第二十九题代码?
第1 次 : 数字-->13
第2 次 : 数字-->74
第3 次 : 数字-->71
第4 次 : 数字-->42
第5 次 : 数字-->23
第6 次 : 数字-->10
第7 次 : 数字-->10
第8 次 : 数字-->47
第9 次 : 数字-->11
第10次: 数字-->46
#define _CRT_SECURE_NO_WARNINGS 1
#include
int main(void)
{
int i, j, k;
int input;
printf("请输入数字:-->");
scanf("%d", &input);
for (i = 1;
i <= input;
i++)
{
//思路:空格 & 打印 *
for (j = 1;
j <= input - i;
j++)
{
printf(" ");
}
for (k = 1;
k <= 2 * i - 1;
k++)
{
printf("*");
}
printf("\n");
}
return 0;
}
运行结果
请输入数字:-->5
*
***
*****
*******
*********
?第三十题代码?
#define _CRT_SECURE_NO_WARNINGS 1
#include
#include
int main(void)
{
int a = 0, b = 0, t = 0;
printf("请输入两个数字:");
scanf("%d %d", &a, &b);
while (t = a%b)
{
a = b;
b = t;
}
printf("|--------------------|\n");
printf("|两个数的最大公约数:%d|\n",b);
printf("|--------------------|\n");
return 0;
}
运行结果
请输入两个数字:10 20
两个数的最大公约数:5
这个系列都没更新自从上篇已经有三个多月了,其实我一直有写这个系列毕竟我自己也会刷C语言的一些题目然后把这些刷过题目总结起来五题写一篇博客,但是东西比较多落下了这个,现在才想起来( ?? .? ?? )?
那么以上这五道题目不知道你学会了没有(^?^●)??
【【C】题目|【C语言】题集 of ⑥】听说长按收藏按钮会有惊喜不妨去使使吧ヾ(^▽^*)))
文章图片
推荐阅读
- C语言学习|第十一届蓝桥杯省赛 大学B组 C/C++ 第一场
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- 单片机|自学单片机好找工作吗(会单片机能找什么工作?)
- 单片机|keil把源代码生成lib的方法
- c语言|一文搞懂栈(stack)、堆(heap)、单片机裸机内存管理malloc
- 爬虫|若想拿下爬虫大单,怎能不会逆向爬虫,价值过万的逆向爬虫教程限时分享
- 游戏|2022年如何学习前端前沿技术,破卷而出()
- 分布式|《Python3网络爬虫开发实战(第二版)》内容介绍