本文目录一览:
- 1、用C语言(数组)取最小数的程序
- 2、C语言查找数组中的最小数
- 3、C语言编写函数求数组中最小值
- 4、C语言找出二维数组的最小值,并输出其下标
- 5、C语言,求数组最大最小值
- 6、c语言用函数找一个数组的最小值
用C语言(数组)取最小数的程序
#includestdio.h
#define SIZE 8
void find(int a[],int size,int*p1,int*ap1,int*p2,int*ap2);
int ifmin(int a1,int a2);
main()
{
int a[SIZE]={5,15,25,76,16,45,55,35};
int min,submin,amin,asubmin;
if(SIZE=1)
{ printf("There should be more numbers.");
return 0;}
find(a,SIZE,min,amin,submin,asubmin);
printf("The smallest is a[%d]=%d\n",min,amin);
if(submin!=-1)
printf("The subsmallest is a[%d]=%d\n",submin,asubmin);
else printf("All the numbers are the same.\n");
return 0;
}
void find(int a[],int size,int*p1,int*ap1,int*p2,int*ap2)
{
int i=1,k,j;
k=ifmin(a[0],a[1]);
while(k==0i=size-2)
{i++;
k=ifmin(a[0],a[i]);} /*针对数组前几个值相等的情况*/
if(k==0)
{*ap1=a[0]; /*对应于所有值都相等的情况*/
*p1=0;
*p2=-1;}
else if(k==-1) /*先赋初值*/
{*p1=0;
*ap1=a[0];
*p2=i;
*ap2=a[i];}
else
{*p1=i;
*ap1=a[i];
*p2=0;
*ap2=a[0];}
for(j=i+1;j=size-1;j++) /*在循环中修正*/
{if(*ap1a[j])
{
*ap2=*ap1;
*p2=*p1;
*ap1=a[j];
*p1=j;}
else if(*ap1!=a[j]*ap2a[j]) /*确保次小值不被多次出现的最小值覆盖*/
{*ap2=a[j];
*p2=j;}}
}
int ifmin(int a1,int a2) /*判断值是否相等*/
{
if(a1==a2)
return 0;
else if(a1a2)
return -1;
else return 1;
}
C语言查找数组中的最小数
#includestdio.h
int main()
{
int a[5];
int i,max,min;
printf("input number:\n");
for(i=0;i5;i++)
scanf("%d",a[i]);
max=a[0];
min=a[0];
for(i=0;i5;i++){
if(a[i]max)
max=a[i];
}
for(i=0;i5;i++){
if(a[i]min)
min=a[i];
}
for(i=0;i5;i++){
printf("%d",a[i]);
printf(" ");
}
printf("\n");
printf("最大值为%d\n",max);
printf("最小值为%d\n",min);
return 0;
}
C语言编写函数求数组中最小值
可以参考下面的代码:
int findMin(int szIn[], int size)
{
int tmpMin = szIn[0];
for(int i = 0; i size; ++i)
{
if(tmpMin = szIn[i])
{
tmpMin = szIn[i];
}
}
return tmpMin;
}
扩展资料:
C语言isupper()函数:判断一个字符是否是大写字母
C语言isspace()函数:判断一个字符是否是空白符
C语言isprint()函数:判断一个字符是否是可打印字符
C语言islower()函数:判断一个字符是否是小写字母
C语言ldexp()函数:返回x乘以2的exponent次方(次幂)的值
int isdigit(int ch) 若ch是数字('0'-'9')返回非0值,否则返回0
参考资料来源:百度百科-c语言
参考资料来源:百度百科-C语言函数
C语言找出二维数组的最小值,并输出其下标
你这个程序本身没什么大问题,就是你输入超过了要输入的次数,也就是说你那 55 9 都没输入
下面这个我忘了c语言怎么开辟动态二维数组的空间了,你有时间自己看看动态数组的开辟
#include "stdio.h"
main()
{
printf("输入你要操作数组的大小,即M*N的方阵的M和N\n");
int n,m;
scanf("%d%d",n,m);
int a[100][100],max,h,l,i,j;
printf("please input numbers:\n");
for(i=0;in;i++)
for(j=0;jm;j++)
scanf("%d",a[i][j]);
for(i=0;in;i++)
{
for(j=0;jm;j++)
printf("%5d",a[i][j]);
printf("\n");
}
l=0;h=0; //应该首先把h,l初始化为0,如果第一个数最大,你的h,l 输出很大的负数
max=a[0][0];
for(i=0;in;i++)
for(j=0;jm;j++)
if(a[i][j]max)
{
max=a[i][j];
h=i;
l=j;
}
printf("The max number is:%d,h=%d,l=%d\n",max,h,l);
}
C语言,求数组最大最小值
求数组中的最大值和最小值,一般使用假设法,即假设数组的第1个元素为最大值,同时也是最小值,然后遍历数组,找到最大值和最小值。示例如下:
#includestdio.h
int main()
{
int a[] = {1,2,3,4,5,6,7,8,9,10};
int max, min;
max = min = a[0]; //假设第1个元素即是最大值也是最小值。
int max_pos = 0, min_pos = 0;
//遍历数组,找出数组a中的最大数和最小数
for (int inx=0; inx!=sizeof(a) / sizeof(int); ++inx) {
if (a[inx] max) max = a[inx], max_pos=inx;
else if (a[inx] min) min = a[inx], min_pos=inx;
}
printf("最大数:%d\t最小数:%d\n", max ,min );
return 0;
}
c语言用函数找一个数组的最小值
1、首先定义一个Max最大值变量。
2、然后把首地址的值赋予最大值。
3、接下来哦我们呢就可以开始便利查找。
4、如果有个数大于最大值便替换。
5、然后我们把最小值输出。
6、运行后, 我们可以看到屏幕上显示最小值。