重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
我给你回答了啊!
10年的建水网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整建水建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“建水网站设计”,“建水网站推广”以来,每个客户项目都认真落实执行。
用数组的方法先“动态赋值”,输入10个数,然后按大小排序这些数,同时输出最大的,和最小的!
我写的源代码,调试通过!
#include
stdio.h
#define
N
10
void
main()
{
int
a[N],i,max,min,t;
for(i=0;iN;i++)
scanf("%d",a[i]);
/*
动态赋值*/
printf("\n");
for(i=0;i10;i++)
/*比较法,就是先把数组第一个元素和第二个元素比较大小,若a[0]比a[1]大,就调换位置,这样一直比较下去,到最后最大的数字就在a[9],最小的在a[0].*/
if(a[i]a[i+1])
{
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
}
for(i=0;i10;i++)
printf("%d
",a[i]);
printf("\n");
printf("max=%d,min=%d",a[9],a[0]);
getch();
}
#includestdio.h
#includestdlib.h
//因为是整型数组,必须要传递数组大小
void F(int *p,int size , int *max,int *min)
{
int i;
*max=*p;*min=*p;
for(i=1;isize;i++)
{
if(*max*(p+i)) *max=*(p+i);
if(*min*(p+i)) *min=*(p+i);
}
}
int main()
{
int a[6]={8,2,3,4,5,6},max,min;
F(a,6,max,min);
printf("%d %d\n",max,min);
system("pause");
return 0;
}
我知道你为什么会错了,因为你输入数据的方式不对,正确的如:(3.5,4.5\n)就可以了,你么有好的习惯,也有么调式的经验,如果你输入错误如:(3.5 4,5)或者(3,5 回车 4,5) 就会出错,因为你的b变量没有得到数据或者数据溢出了,调试的结果是这样的 b= -1.0737418e+008 float,
正确的代码如:scanf("%f,%f,",a,b); (3.5,4.5)比较等于4,注意是道号,输入也要加道号
正确的代码如:scanf("%f %f,",a,b); (3.5 4.5)比较等于4 ,%f后面是空格,你输入的数后也需要是空格或者回车
你这代码错太多了,比如float比较的是两个实数,但你实际是int 类型结果,所以你的代码只是用与2个int类型的整数比较,可以看看郝斌的C语言视频有详细讲这个Max函数的
一起学习,谢谢
1、c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数)。
例如:
int data[4];
int length;
length=sizeof(data)/sizeof(data[0]); //数组占内存总空间,除以单个元素占内存空间大小
printf("length of data[4]=%d", length ); //输出length of data[4]=4
2、但是,通过传递数组名参数到子函数中,以获得数组长度是不可行的。
例如:
int getLength(int[] a){
int length;
length=sizeof(a)/sizeof(a[0]); //这样是错误的,得到的结果永远是1
return length;
}
因为,a是函数参数,到了本函数中,a只是一个指针(地址,系统在本函数运行时,是不知道a所表示的地址有多大的数据存储空间,这里只是告诉函数:一个数据存储空间首地址),所以,sizoef(a)的结果是指针变量a占内存的大小,一般在32位机上是4个字节。a[0]是int类型,sizeof(a[0])也是4个字节,所以,结果永远是1。
3、因此,获得数组长度,只能在数组定义所在的代码区中,采用以上方法,才可以达到效果。
用 sizeof 可以获得数据类型或变量在内存中所占的字节数。同样,用 sizeof 也可以获得整个数组在内存中所占的字节数。因为数组中每个元素的类型都是一样的,在内存中所占的字节数都是相同的,所以总的字节数除以一个元素所占的字节数就是数组的长度。
比较特别的是,比特右移()运算符可以是算术(左端补最高有效位)或是逻辑(左端补0)位移。例如,将11100011右移3比特,算术右移后成为11111100,逻辑右移则为00011100。
运算符的优先级从高到低大致是:单目运算符、算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符(=)和逗号运算符。
C语言特点:
其一,广泛性。C语言的运算范围的大小直接决定了其优劣性。C语言中包含了34种运算符,因此运算范围要超出许多其它语言,此外其运算结果的表达形式也十分丰富。
其二,简洁性。9类控制语句和32个关键字是C语言所具有的基础特性,使得其在计算机应用程序编写中具有广泛的适用性,不仅可以适用广大编程人员的操作,提高其工作效率,同时还能够支持高级编程,避免了语言切换的繁琐。
可以在函数中借用sizeof运算符,来获取数组大小。
1
获取数组a整体占用空间可以使用
sizeof(a)
该值为这个数组占用的总内存值,单位为字节。
2
获取数组元素个数可以用
sizeof(a)/sizeof(a[0])
该值为数组开辟的元素个数。