算法设计——3个小例子

举报
wh555 发表于 2021/03/31 22:32:37 2021/03/31
【摘要】 1、算法设计:对数据排序 #include <stdio.h>int main(){    int a[5]={3,5,4,2,1};    int i,j,k,t;    printf("(1)排序之前的数是:\n");    for(i=0;i<5;i++){        printf("%d\t",a[i]);    }    for(i=0;i<5;i++){    //此循环结构...

1、算法设计:对数据排序

 #include <stdio.h>

int main(){

    int a[5]={3,5,4,2,1};

    int i,j,k,t;

    printf("(1)排序之前的数是:\n");

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

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

    }

    for(i=0;i<5;i++){    //此循环结构实现选择法排序

        k=i;            //默认本轮序号最前的数最小,k记录最小数的下标

        for(j=i+1;j<5;j++){

            if(a[k]>a[j]){   //判断后续元素a[j]是否更小

                k=j;         //更新最小数的下标k

            }

        }

        if(k!=i){  //判断如果最小数的下标不是本轮序号最前的数的下标

            t=a[k]; //将最小数与本轮序号最前的数进行交换

            a[k]=a[i];

            a[i]=t;

        }

    }

    printf("\n(2)升序排序后的数是:\n");

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

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

}

    printf("\n");

    return 0;

} 

2、算法设计:输入年份判断是否为闰年

#include <stdio.h>

int main()

{

    int year;

    printf("Please enter a year:");

    scanf("%d",&year);

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

    {

        printf("%d 年是闰年\n",year);

    }

    else

    {

        printf("%d年不是闰年\n",year);

    }

    return 0;

}

3、算法设计:输出数字三角形

#include <stdio.h>

int main()

{

    int i,j,k;

    for(i=1;i<=9;i++)

    {

        for(j=1;j<=9-i;j++)

        {

            printf(" ");

        }

        for(k=1;k<=2*i-1;k++)

        {

            printf("%d",i);

        }

        printf("\n");

    }

    return 0;

}

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。