算法设计——3个小例子
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;
}
- 点赞
- 收藏
- 关注作者
评论(0)