p5数组运用:数组:绝对值排序+求最小值+杨辉三角

输入1个正整数n(1<n<=10),再输入n个整数,按绝对值从小到大排序后输出。

输入输出示例:

输入数据的个数:10

输入10个整数:-11 2 8 5 -3 -16 9 7 6 10

排序后:2 -3 5 6 7 8 9 10 -11 -16

#include<stdio.h>
#include<math.h>
void main()
{
   int i,n,x,j,f[10];
   printf("输入数据的个数n:");
   scanf("%d",&n);
   printf("输入%d个整数:",n);
   for(i=0;i<n;i++)
      scanf("%d",&f[i]);
   printf("\n");
   for(i=0;i<n-1;i++)
	 for(j=0;j<n-1-i;j++)
	    if(fabs(f[j])>fabs(f[j+1]))
	    {
	       x=f[j];
	       f[j]=f[j+1];
	       f[j+1]=x;
	     }
   for(i=0;i<n;i++)
      printf("%5d",f[i]);
   printf("\n");
}

fabs()函数:取绝对值

if里面相当于这里就是 c=a,a=b,b=c,这样取值

输入一个n行m列(n<=4,m<=4)的数组,先以n行m列的格式输出该数组,然后找出该数组中值最小的元素,输出该元素及其行下标和列下标。

输入输出示例:

输入数组行和列数n、m:2  3

输入2行3列的数组元素:

12  -7  15

-18  9  11

12  -7  15

-18  9  11

a[1][0]=-18

#include<stdio.h>
void main()
{
   int i,j,n,m,x,y,min,f[4][4];
   printf("输入数组行和列数n、m:");
   scanf("%d%d",&n,&m);
   printf("输入%d行%d列的数组元素:\n",n,m);
   for(i=0;i<n;i++)
	   for(j=0;j<m;j++)
		   scanf("%d",&f[i][j]);
   for(i=0;i<n;i++)
   {
	   for(j=0;j<m;j++)
		   printf("%5d",f[i][j]);
	   printf("\n");
   }
   min=f[0][0];
   x=0;
   y=0;
   for(i=0;i<n;i++)
	   for(j=0;j<m;j++)
		   if(min>f[i][j])
		   {
			   x=i;
			   y=j;
			   min=f[i][j];
		   }
   printf("f[%d][%d]=%d\n",x,y,min);
}

这里相当于就是把最小值的位置,用min确定值,赋值x,y确定坐标值,其他都是数组基本操作

设计一个打印“杨辉三角形”的程序(要求输出10行)。

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

#include<stdio.h>
void main()
{
	int f[10][10];
	int i,j;
	for(i=0;i<10;i++)
	{
		f[i][0]=1;
		f[i][i]=1;
	}
	for(i=1;i<10;i++)
	   for(j=1;j<i;j++)
	   {
		   f[i][j]=f[i-1][j-1]+f[i-1][j];
	   }
    for(i=0;i<10;i++)
    {
	   for(j=0;j<=i;j++)
		   printf("%4d",f[i][j]);
	   printf("\n");
    }
}

这里运用之前拍p3中的循环,f[i][0]与f[i][i]都是在赋值每一行最后一个与第一个,

f[i][j] = f[i - 1][j - 1] + f[i - 1][j]而这里从i=1,j=1开始这样就可以取f[0]取得值,

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值