重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
#includestdio.h
专注于为中小企业提供网站设计制作、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业班玛免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
main()
{
int a[10]={1,2,3,4,5,44,7,8,9,10};
int i;
int max,maxb;
max=a[0];maxb=0;
for(i=0;i10;i++)
{
if(a[i]max)
{
max=a[i];
maxb=i;
}
}
printf("max=%d , is %d\n",max,maxb+1);
}
知识拓展:
C语言必备的装置和书籍:
A)开发环境
例如turbo C 2.0,这个曾经占据了DOS时代开发程序的大半个江山。但是现在windows时代,用turbo C有感觉不方面,编辑程序起来很吃力,并且拖放,更没有函数变量自动感应功能,查询参考资料也不方便。建议使用Visual C++,这个平台虽然体积大,但是一旦安装好了,用起来很方便。
B)一本学习教程
现在C语言教材多如牛毛,推荐大家使用《C语言程序设计》第二版。此书很适合初学者,并且内容也很精到。
C)利用辅助学习软件
毕竟现在是Windows时代了,学习软件多如牛毛,这里向大家推荐一个“集成学习环境(C语言)”,里边的知识点总结和例程讲解都非常好,有好几千题的题库测试环境,包括一个windows下的trubo C,初学者甚至不用装其它的编译器,就可以练习编程了。还有一个“C语言学习系统”软件,不过感觉只是一个题库系统,如果你觉得题做的不够,不妨也可以试试。
二、葵花宝典
读程序是学习C语言入门最快,也是最好的方法。我们大家都应该有个体验——在最初学习windows系统操作或Microsoft words如果操作的过程中,刚开始总是正儿八经地买来教材,结果读来读去却云里雾里,而当我们将教材丢在一边,拿起鼠标反复地试,几个小时就搞定。包括学习J#,C#等其他语言,在今天的Windows时代,也不再提倡抱着书本逐行啃,而是学习它们的例程。
当然,对于没有学过任何计算机语言的初学者,多少要先阅读教程,认真体会所有概念,然后不放过这一章中提到的所有例程,仔细研读,直到每一行都理解了,再找几个编程题目,最好是和例程类似的或一样的,自己试图写出这段已经读懂的程序。如果写不出来,回过头来再继续研究例程,想想自己为什么写不出来,然后再去写这段程序,反反复复,直到你手到擒来为止。
三、登峰造极
写程序的最高境界其实就是掌握各种解决问题的手段(数据结构)和解决问题的方法(算法)。
是不是写出底层程序就是程序设计高手呢?非也,写底层程序,无非是掌握了硬件的结构,况且硬件和硬件还不一样,要给一个芯片写驱动程序,无非就是掌握这块芯片的各种寄存器及其组合,然后写值读值,仅此而已。这不过是熟悉一些I/O函数罢了。
举个例子:
你面前有10个人,找出一个叫“张三”的人,你该怎么办?第一种方法:直接对这10个人问:“谁叫张三”。第2种方法:你挨个去问“你是不是张三?”,直到问到的这个人就是张三。第三种方法:你去问一个人“你认不认识张三,指给我看”。不要小看这个问题,你说当然会选第一种方法,那么恭喜你答对了,因为这个方法最快,效率最高,但是在程序设计中找到解决问题的最优方法和你用的手段却是考验一个程序员程序设计水平的重要标志,而且是不容易达到的。
#include stdio.h
#include conio.h
void array_input (int array[], int n);
int max (int array[], int n);
int main (void) {
int array[10];
printf ("请输入10个数据:");
array_input (array, 10);
printf ("10个元素最大值:%d\n", max (array, 10));
getch (); /*屏幕暂留*/
return 0;
}
/* 输入数组 */
void array_input (int array[], int n) {
int i;
for (i=0; in; i++)
scanf ("%d", array[i]);
putchar ('\n');
}
/* 计算数组最大值 */
int max (int array[], int n) {
int i;
int max = array[0];
for (i=0; in; i++) {
if (array[i] max)
max = array[i];
}
return max;
}
DataType
Max(DataType
a[],int
n)
//DataType是数据类型
n是元素个数
{
int
i;
Datatype
max=0;
for(i=0;in;i++)
if(a[i]max)
max=a[i];
return
max;
}
//调用的时候把DataType换成相应的数据类型就OK啦、
#include "stdio.h"
int main()
{
int x[100],max,min,i,n;
printf("输入整数个数:");
scanf("%d",n);
printf("输入一组正整数:");
scanf("%d",x[0]);
max=0;min=0;
for(i=1;in;i++)
{
scanf("%d",x[i]);
if(x[max]x[i]) max=i;
if(x[min]x[i]) min=i;
}
printf("最大值是%d,下标(从0开始)%d\n最小值是%d,下标(从0开始)%d\n",x[max],max,x[min],min);
}
求数组中的最大值和最小值,一般使用假设法,即假设数组的第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;
}
int max(int d[ ],int n)
{
int max=d[0];
int i;
for(i=0;in;i++)
{
if(maxd[i])
{
max=d[i];
}
}
return max;
}