C语言的一些基本算法

天文学上的润年

原理:年数能整除于4且不能整除100或者可以整除400,下面用标准C语言的两种实现方式

1平润年的判断

#include<stdio.h>

int main(void){

         inti;

         printf("请输入一个数:\n");

         scanf("%d",&i);

         if(i%4==0&&i%100!=0||i%400==0){

                   printf("您输入的是润年");

         }else{

                   printf("您输入的不是润年");

         }

         return0;

2平润年的判断

#include<stdio.h>

int main(void){

         inti;

         printf("请输入一个数:\n");

         scanf("%d",&i);

         if(!(i%4)&&i%100||!(i%400)){

                   printf("您输入的是润年");

         }else{

                   printf("您输入的不是润年");

         }

         return0;

3素数的判断

原理:利用判断能不能整除2之间的所有数字来判断的

#include<stdio.h>

#include<math.h>

int main(void){

         intm,s,i;

         printf("请输入一个数:\n");

         scanf("%d",&m);

         s=sqrt(m);

         for(i=2;i<=s;i++){

                   if(m%i==0)

                   break;

         }

         if(i>s){

                   printf("您的输入为素数");

         }else{

                   printf("您输入的不是素数");

         }

         return0;

4求任意一个数字的千位数

原理:这里n4

#include<stdio.h>

int main(void){

         intm,k;

         printf("请输入一个整数:\n");

         scanf("%d",&m);

         k=m/1000%10;

         printf("您输入的数字的千位数是:%d",k);

         return0;

5将一个由数字构造的字符串转换成数值变量

原理:小于10的数字构造的字符串其ASCALL码对应减去48即可得到能够运算的数值性变量

#include<stdio.h>

int main(void){

         charstr[10];

         intl=0,m=0;

         printf("请输入一个整数(不要超过9位):");

         gets(str);

         while(str[l]!='\0'){

                   printf("%d\n",str[l]);

                   m=m*10+str[l]-48;

                   l++;

         }

         printf("%d",m);

         return0;

6大小写字母的转换

原理:字符运算,ASCALL码的加减32

#include<stdio.h>

int main(void){

         charl,m;

         printf("请输入一个大写字母:\n");

         scanf("%c",&m);

         l=m+32;

         printf("%c",l);

         return0;

7对浮点型数据的四舍五入的实现

原理:利用取整计算int实现

#include<stdio.h>

int main(void){

         floatl,m;

         printf("请输入一个浮点型数据:\n");

         scanf("%f",&m);

         m=int(m*100+0.5);

         l=m/100;

         printf("%f",l);

         return0;

8冒泡排序算法

原理:将相邻像个数相比较,小的放在前面,大的放在后面,用C语言实现时,我们首先产生一个随机数组,然后进行冒泡排序,最后将排序后的数组中元素一一打印出来,这里给出被调用函数。

void sort(int n)

{

         inti,j,t;

         inta[n];

                   for(i=0;i<n;i++){

                   a[i]=rand()%n;

         }

         for(i=1;i<n+1;i++){

                   for(j=0;j<n-i;j++){

                            if(a[j]>a[j+1]){

                                     t=a[j];

                                     a[j]=a[j+1];

                                     a[j+1]=t;

                            }

                   }

         }

         for(i=0;i<n;i++){

                   printf("%d\t",a[i]);  

         }

         return;

}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值