编译最小值
‘壹’ 用条件编译的方式,实现用同一个函数指针对求最大值和最小值函数的调用。 如#define max,
#include<stdio.h>
#definemaxokey
intminn(int*a,intn);
intmaxx(int*a,intn);
voidmain()
{
int(*p)(int*,int);
intn,i,a[100];
printf("请输入数的个数");
scanf("%d",&n);
printf("请输入数");
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
printf("如果你要求最小值自己把#define内容改一下 ");
#ifdefmax
{
p=maxx;
printf("最da值是%d ",p(a,n));
}
#else
{
p=minn;
printf("最小值是%d ",p(a,n));
}
#endif
}
intmaxx(int*a,intn)
{
intf,i;
f=a[0];
for(i=0;i<n;i++)
{
if(f<a[i])
{
f=a[i];
}
}
returnf;
}
intminn(int*a,intn)
{
intf,i;
f=a[0];
for(i=0;i<n;i++)
{
if(f>a[i])
{
f=a[i];
}
}
returnf;
}
‘贰’ c语言编译,目的是输入一个四行四列的矩阵,找出最小值并输出转置矩阵
#include<stdio.h>
intmain()
{
inta[4][4];
intb[4][4];//
inti,j,min;
introw,colum;//
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
scanf("%d",&a[i][j]);
}
min=a[0][0];
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
if(a[i][j]<min)
{
min=a[i][j];
row=i;//
colum=j;//
}
}
printf("min=%d row=%d colum=%d ",min,row,colum);//
printf(" ");
printf(" ");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
b[j][i]=a[i][j];
}
}
printf("b: ");
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
printf("%5d",b[i][j]);
}
printf(" ");
}
return0;
}
‘叁’ 用c语言的循环语句,输入一个正整数n,在输入n个整数,输出最小值。
1、新建一个工程和.c文件 ,输入头文件和主函数。
‘肆’ 用C语言,任意输入10个数,求其中的最大值和最小值
任意输入10个数,求其中的最大值和最小值的源代码如下:
#include<stdio.h>
#define SIZE_MAX 30
int max(int b[],int n);
int min(int b[],int n);
int main(void)
{
int a[SIZE_MAX],b,c,i,m;
printf("任意多个数,判断最大值和最小值: ");
printf("输入一个数,表示你想比较多少个数字: ");
scanf("%d",&m);
printf("你输入了%d个数 ",m);
printf("请你输入%d个数 ",m);
for(i=0;i<m;i++)
{
scanf("%d",&a[i]);
}
b=max(a,m);
c=min(a,m);
printf("你输入的%d分别是: ",m);
for(i=0;i<m;i++)
{
printf("%d ",a[i]);
printf("最大数是:%d ",b);
printf("最小数是:%d ",c);
return 0;
}
(4)编译最小值扩展阅读
1、如果一个函数确定无需传入任何参数,那么用void限定是一个不错的选择。函数没有声明返回值时,编译器默认其返回值为int。
2、main函数的返回值最终会作为程序的退出状态,而一旦声明为void,在程序退出后,想要获取其退出状态也就不可以了。因此不建议其返回值为void。
‘伍’ 用C++编译一个5个数中求最大值和最小值的简单程序
// 本程序在5个输入数中,输出最大及最小数
// 在命令可输入个数2-10,可以改变输入数个数
// 本程序采用冒泡法排序
#include<iostream>
int main(int argc,char* argv[])
{
int n=5; // 缺省5个
if(argc>1 ) // 输入个数
{
n=atoi(argv[1]);
if(n<2 || n>10 ){ cout<<"输入错,2-10有效"<<endl; return -1;}
}
double *pData=new double[n]; // 分配n个元素数组
cout<<"输入"<< n << "个数,每个按回车"<< endl;
for(int i=0;i<n;i++) cin>> pData[i]; // 输入n个数
// 冒泡法排序,从大到小
for(int i=0,ok=0,sw=0;!ok ;++i%=n-1,ok=(!i)?!sw:ok,sw=(!i)?0:sw)
{
if(pData[i]<pData[i+1]) {sw++;double tmp= pData[i];pData[i]=pData[i+1];pData[i+1]=tmp;}
}
// 输出
cout<<"max="<< pData[0] <<endl <<"min="<<pData[n-1]<<endl;
delete pData;
return 0;
}
‘陆’ C语言中最大的整型数和最小的整型数是什么
C语言中最大的无符号整型常数为65535,最小的无符号整型常数为0。最大的有符号整型常数为32767,最小的有符号整型常数为-32768。
在C编译系统中,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围为0~65535,有符号数为-32768~+32767。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。
(6)编译最小值扩展阅读:
无符号整型常数的类型说明符为unsigned。可以单独使用代表unsigned int,也可以作为前缀,表示无符号整数,即永远为非负的整型变量,大于0的数据范围约扩大为原来的2倍。各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
长整数158L和基本整常数158在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,根据计算机的内部字长和编译器的版本分配2或4个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。
‘柒’ c语言编程 输入5个数 求出最大值和最小值
#include<stdio.h>
#include<math.h>
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
int min(int x,int y)
{
if(x<y)
return x;
else
return y;
}
int main()
{
int x,y,a,b,c,d,e,f,g,h,i,t,o,p,l;printf("输入任意五个整数: ");scanf("%d%d%d%d%d",&a,&b,&c,&d,&e);
f=max(a,b);
g=max(f,c);
h=max(g,d);
i=max(h,e);
t=min(a,b);
o=min(t,c);
p=min(o,d);
l=min(p,e);
printf("max=%d,min=%d ",i,l);
}
(7)编译最小值扩展阅读:
return
C++的关键字,它提供了终止函数执行的一种方式。当return语句提供了一个值时,这个值就成为函数的返回值.
说到return,有必要提及主函数的定义,下面是从网络上找到的资料,好好消化吧,对了解主函数中返回值的理解有很大的帮助.
很多人甚至市面上的一些书籍,都使用了void main(),其实这是错误的。C/C++中从来没有定义过void main()。
C++之父Bjarne Stroustrup在他的主页上的FAQ中明确地写着The definition void main(){/*...*/}is not and never has been C++,
nor has it even been C.(void main()从来就不存在于C++或者C)。下面我分别说一下C和C++标准中对main函数的定义。
1.C
在C89中,main()是可以接受的。Brian W.Kernighan和Dennis M.Ritchie的经典巨着The C programming Language 2e(《C程序设计语言第二版》)用的就是main()。不过在最新的C99标准中,只有以下两种定义方式是正确的:
int main(void)
int main(int argc,char*argv[])
(参考资料:ISO/IEC 9899:1999(E)Programming languages—C 5.1.2.2.1 Program startup)
当然,我们也可以做一点小小的改动。例如:char*argv[]可以写成char**argv;argv和argc可以改成别的变量名(如intval和charval),不过一定要符合变量的命名规则。
如果不需要从命令行中获取参数,请用int main(void);否则请用int main(int argc,char*argv[])。
main函数的返回值类型必须是int,这样返回值才能传递给程序的激活者(如操作系统)。
如果main函数的最后没有写return语句的话,C99规定编译器要自动在生成的目标文件中(如exe文件)加入return 0;,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return语句,虽然没有这个必要,但这是一个好的习惯。
注意,vc6不会在目标文件中加入return 0;,大概是因为vc6是98年的产品,所以才不支持这个特性。现在明白我为什么建议你最好加上return语句了吧!不过,gcc3.2(Linux下的C编译器)会在生成的目标文件中加入return 0;。
‘捌’ C语言数组求输入3个数的最小值。在VS2010上编译怎么总为0错在哪了,求解
没出现你说的问题,而且你这个是找最大值,
把if(min<=a[i])改了,才是求最小值
#include<stdio.h>
inti,a[3],min;
intmain()
{
for(i=0;i<3;i++)
scanf("%d",&a[i]);
min=a[0];
for(i=1;i<3;i++)
{
if(min>a[i])
min=a[i];
}
printf("%d ",min);
}
‘玖’ C语言编程,多种方法求一个数组里的最大值和最小值。
因为只是找出最大最小值,直接循环每个比较一次就可以。
#include<stdio.h> //挑选法
#define N 10
void main() { int a[N],m,n,i;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
m=n=a[0]; for ( i=1;i<N;i++ ) if ( m<a[i] ) m=a[i]; else if ( n>a[i] ) n=a[i];
printf("最大值%d,最小值%d ",m,n);
}
#include<stdio.h> //排序法
#define N 10
void main() { int a[N],i,j,k;
for ( i=0;i<N;i++ ) scanf("%d",&a[i]);
for ( i=0;i<N-1;i++ ) for ( j=i+1;j<N;j++ ) if ( a[i]<a[j] ) {k=a[i];a[i]=a[j];a[j]=k;}
printf("最大值%d,最小值%d ",a[0],a[N-1]);
}
(9)编译最小值扩展阅读:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。