C语言(排序、逆序、计算天数、矩阵转置)

一、对10个整数排序(从小到大)。例如原来 a[0]~a[9]的值为  6  90  45  56  1  15  44  78  58  101,排完序后a[0]~a[9]的值变为  1  6  15  44  45  56  58  78  90  101。

#include<stdio.h>
int main()
{
	int i,j,t;
	int a[10]={6,90,45,56,1,15,44,78,58,101};
	for(i=0;i<10;i++)
		{
			printf("%d",a[i]);
			if(i<9)
			printf(",");
		}
	for(j=0;j<9;j++)
	{
		for(i=0;i<9-j;i++)
		if(a[i]>a[i+1])
		{
			t=a[i];
			a[i]=a[i+1];
			a[i+1]=t;
		}
	}
	printf("这些数从小到大排序为:");
	for(i=0;i<10;i++)
		{
			printf("%d",a[i]);
			if(i<9)
			printf(",");
		}
	putchar('\n');
	return 0;
}
运行结果:

二、将一个数组中的值按逆序重新存放。例如原来a[0]~a[4]为 8、6、5、4、1,逆序后a[0]~a[4]变为  1、4、5、6、8。

#include<stdio.h>
int main()
{
	int i,j;
	int a[5],b[5];
	printf("请输入数组的5个数:");
	for(i=0;i<5;i++)
	{
		scanf("%d",&a[i]);
	}
	for(j=0,i=4;j<5;j++,i--)
	{
	    b[j]=a[i];
	}
	printf("该数组逆序为:");
	for(i=0;i<5;i++)
	{
		a[i]=b[i];
		printf("%d ",a[i]);
	}
	putchar('\n');
	return 0;
}
运行结果:

三、给出年,月,日,计算该日是该年的第几天

#include<stdio.h>
int main()
{
	void run_nian(int x,int y,int z);
	void ping_nian(int x,int y,int z);
	int a,b,c;
	printf("please enter year:");
	scanf("%d",&a);
	printf("please enter month:");
	scanf("%d",&b);
	printf("please enter day:");
	scanf("%d",&c);
	if(a%4==0&&a%100!=0||a%400==0)
		run_nian(a,b,c);
	else
		ping_nian(a,b,c);
	return 0;
}
void run_nian(int x,int y,int z)
{
	int i;
	int sum=0;
	int mon[12]={31,29,31,30,31,30,31,31,30,31,30,31};
	for(i=0;i<y-1;i++)
	{
		sum=sum+mon[i];
	}
	sum=sum+z;
	printf("这年为闰年,2月有29天\n");
	printf("%d年%d月%d日是这一年的第%d天\n",x,y,z,sum);
}
void ping_nian(int x,int y,int z)
{
	int i;
	int sum=0;
	int mon[12]={31,28,31,30,31,30,31,31,30,31,30,31};
	for(i=0;i<y-1;i++)
	{
		sum=sum+mon[i];
	}
	sum=sum+z;
	printf("这年为平年,2月有28天\n");
	printf("%d年%d月%d日是这一年的第%d天\n",x,y,z,sum);
}
运行结果:
闰年

平年

四、写一个函数,是给定的一个3*3的一个二维整数型数组转置,即行列互换

#include<stdio.h>
int main ()
{
	int a[3][3]={{4,9,3},{8,5,0},{2,4,6}};
	int b[3][3],i,j;
	printf("矩阵a为:\n");
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			printf("%5d",a[i][j]);
		}
		putchar('\n');
	}
	printf("矩阵a的转置为:\n");
	for(i=0;i<3;i++)
	{
		for(j=0;j<3;j++)
		{
			b[i][j]=a[j][i];
			printf("%5d",b[i][j]);
		}
		printf("\n");
	}
	return 0;
}
运行结果:

相关推荐

  1. 4.7 矩阵运算(C语言实现)

    2024-03-20 17:20:03       61 阅读
  2. 矩阵C语言

    2024-03-20 17:20:03       51 阅读
  3. C语言,数组元素

    2024-03-20 17:20:03       51 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-20 17:20:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-20 17:20:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-20 17:20:03       82 阅读
  4. Python语言-面向对象

    2024-03-20 17:20:03       91 阅读

热门阅读

  1. 数据结构和算法:哈希表

    2024-03-20 17:20:03       41 阅读
  2. Ubuntu介绍

    2024-03-20 17:20:03       35 阅读
  3. uniapp app端跳转到应用商店

    2024-03-20 17:20:03       40 阅读
  4. 13_学习日志_数据结构_二叉排序树的删除

    2024-03-20 17:20:03       39 阅读
  5. 什么是数组流

    2024-03-20 17:20:03       42 阅读
  6. 【样式】Html 卡片样式

    2024-03-20 17:20:03       36 阅读
  7. 2024届 C++ 刷题 笔试强训 Day 03

    2024-03-20 17:20:03       34 阅读
  8. js截取网址参数值方法

    2024-03-20 17:20:03       35 阅读