C语言部分编程题

文章包含多个C语言编程示例,涉及二维数组元素的右移操作、特定整数范围计数、学生成绩统计与排序、玫瑰花数判断、列最小值提取、选择排序及矩阵转置等算法实现。
摘要由CSDN通过智能技术生成

demo01_29

/*请编写程序,将二维数组a中每个元素向右一列,最后一列换到最左一列,移后的数组存到
另一个二维数组b中,并按矩阵形式输出a和 b。
例如:array a:       array b:
	4  5  6			6  4  5
	1  2  3   		3  1  2
*/
#include <stdio.h>
#define M 2
#define N 3
void array_scanf(int a[M][N]);
void array_printf(int a[M][N]);
void array_right(int a[M][N],int b[M][N]);

int main()
{
   
	int a[M][N];
	int b[M][N];
	array_scanf(a);
	array_right(a,b);
	array_printf(a);
	printf("\n");
	array_printf(b);
	return 0;
}

/*---初始化数组输入---start*/
void array_scanf(int a[M][N])
{
   
	for(int i = 0;i<M;i++)
	{
   
		for(int j = 0;j<N;j++)
		{
   
			scanf("%d",&a[i][j]);
		}
	}
	printf("\n");
}
/*---初始化数组输入---end*/


/*---数组输出---start*/
void array_printf(int a[M][N])
{
   
	for(int i = 0;i<M;i++)
	{
   
		for(int j=0;j<N;j++)
		{
   
			printf("%-4d",a[i][j]);
		}
		printf("\n");
	}
}
/*---数组输出---end*/

/*---数组右移一列---start*/
void array_right(int a[M][N],int b[M][N])
{
   
	for(int i = 0;i<M;i++)
	{
   
		b[i][0]=a[i][N-1];//b数组中的每一行第一个元素值等于a数组的每一行最后一列数。
		for(int j=1;j<N;j++)
		{
   
			//b数组从第二列开始等于a数组的前N-1列每一个数
			b[i][j]=a[i][j-1];
		}
	}
}
/*---数组右移一列---end*/

demo01_30

/*从键盘输入若千个整数,只统计其值在0至4范围内的整数个数,
*输入-1时输入结束。
*/
#include <stdio.h>
int main(){
   
	int a;
	int count = 0;
	while(1)
	{
   
		scanf("%d",&a);
		if(a>=0&&a<=4)
		{
   
			count++;
		}
		if(
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值