当前位置:网站首页>【c】大学生在校学习c语言常见代码
【c】大学生在校学习c语言常见代码
2022-08-02 14:02:00 【silence-Tan】
哈喽大家好,大家好 !
我是Mr.tan
今天给大家总结几个我近期学到的代码,并且这也是大学学习c语言常见的代码。
一、素数
素数:一个大于1的自然数,除了1和它本身外,不能被其他自然数整除。
#include <stdio.h>
#include <math.h>
int is_primer(int n)
{
int j = 0;
for (j = 2; j <= sqrt(n); j++)
{
if (n % j == 0)
{
return 0;//返回0不是素数;
}
}
return 1;//返回1是素数;
}
int main()
{
int i = 0;
for (i = 100; i <= 2000; i++)
{
if (is_primer(i) == 1)
{
printf("%d ", i);
}
}
return 0;
}
二、闰年
闰年:一个能被4整除且不能被100整除的数,或者能被400整除的数。
int main()
{
int year = 0;
for(year=1000; year<=2000; year++)
{
if(((year%4==0)&&(year%100!=0))||(year%400==0))
{
printf("%d ", year);
}
}
return 0;
}
三、斐波那契数列
斐波那契数列:指的是这样一个数列:1、1、2、3、5、8、13、21、34、……; 对于斐波那契数列我们可以通过递归和非递归两种方法来求解,如果利用递归这种求法,会变低效率,因为有大量的重复计算,如图所示;但是,如果不使用递归的方式,效率会大大提升,所以对于斐波那契数列的求法不推荐使用递归的方式。
int Fib(int n)
{
int a = 1;
int b = 1;
int c = 1;
while (n > 2)
{
c = a + b;
a = b;
b = c;
n--;
}
return c;
}
int main()
{
int n = 0;
scanf("%d", &n);
int ret = Fib(n);
printf("%d", ret);
return 0;
}
四、冒泡排序
冒泡排序是利用两两相邻的元素进行比较
void bobble_sort(int arr[],int sz)
{
//冒泡排序的趟数
int i = 0;
for (i = 0; i < sz - 1; i++)
{
int j = 0;
for (j = 0; j < sz-1-i; j++)
{
//一趟冒泡排序
if (arr[j] > arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main()
{
int arr[10] = { 22,14,67,8,46,18,80,54,35,6};
int sz = sizeof(arr) / sizeof(arr[0]);//计算数组中的元素个数
bobble_sort(arr,sz);
int i = 0;
for (i = 0; i < sz; i++)
{
printf("%d ", arr[i]);
}
return 0;
}
五、阶乘
#include <stdio.h>
//递归
long int Fac2(int n)
{
int i = 0;
int ret = 1;
for (i = 1; i <= n; i++)
{
ret = ret * i;
}
return ret;
}
int main()
{
int n = 0;
scanf("%d", &n);
long int ret = Fac2(n);//可以用long int 求比较大的数的阶乘
printf("%d", ret);
return 0;
}
//非递归
long long Fac(int N)
{
long long ret = 1;
for(int i = 2; i <= N; ++i)
{
ret *= i;
}
return ret;
}
六、九九乘法表
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
void pTable(int n)
{
int i, j;
for (i = 1; i <= n; i++)
{
for (j = 1; j <= i; j++)
{
printf("%d*%d=%d\t", j, i, i * j);
}
printf("\n");
}
}
int main()
{
int n, i, j;
scanf("%d", &n);
pTable(n);
return 0;
}
今天的内容到此结束啦,这几个代码就是我近期学到的内容,在此分享给大家,希望大家喜欢。
感谢大家的阅读!!!
边栏推荐
猜你喜欢
随机推荐
Unit 7 ORM table relationships and operations
Deep learning framework pytorch rapid development and actual combat chapter3
Unit 14 Viewsets and Routing
chapter7
[ROS](01)创建ROS工作空间
chapter6可视化(不想看版)
第十二单元 关联序列化处理
Sentinel源码(四)(滑动窗口流量统计)
drf serializer - Serializer
Network pruning (1)
深度学习框架pytorch快速开发与实战chapter4
第五单元 保持状态
drf视图组件
[ROS](04)package.xml详解
第十五单元 分页、过滤
drf view component
[ROS]roscd和cd的区别
php开源的客服系统_在线客服源码php
8576 Basic operations of sequential linear tables
Briefly write about the use and experience of PPOCRLabel