c语言打擂台写成函数形式 c语言打擂法程序

用“打擂台法”输出10个数最大值及第几个数,c语言 。#includestdio.h
#includewindows.h
int main()
{
int arr[10] = {1,5,6,3,4,2,4,5,3,4};//创建一个数组,然后放入10个数
int max = 0;//定义一个数max,用来放打擂后c语言打擂台写成函数形式的擂主
int i = 0;//定义一个数i,循环来遍历数组
int num = 0;//定义第几个数
while (i = 9) {
if (arr[i]max) {
max = arr[i];//当打擂成功时,将较大数赋值给max,作为新的擂主
num = i;
}
i;//每次循环结束后给i加1,达到数组遍历的目的
}
printf("这10个数中最大的数为:苡镅源蚶尢ㄐ闯珊问?, 排在第%d位", max,num 1);
system("pause");
return 0;
}
扩展资料c语言打擂台写成函数形式:
if (max(m,a[i])m),比较条件错误 。
此时的比较条件,应该是擂主的数字和当前循环的数字进行比较,如果当前循环的数字比较大,则把擂主数字替换掉 。反之,继续循环数字比较 。
max(m,a[i])m,先把m和a[i]比较一次,再把此次的结果和m比较一次 。比较的动作进行c语言打擂台写成函数形式了两次,是不对的 。
if...else...:
if 和 else 是两个新的关键字,if 意为“如果”,else 意为“否则”,用来对条件进行判断,并根据判断结果执行不同的语句 。总结起来,if else 的结构为:
if(判断条件){
语句块1
}else{
语句块2
}
c语言“打擂台”算法思想及应用场合使用数组是最为简便高效c语言打擂台写成函数形式的办法,可以处理成千上万的数据 。打擂台算法,可以用伪代码描述如下:
(1)?确定一个擂主(最简便的办法就是首个到场的即为擂主)c语言打擂台写成函数形式;
(2)?挑战者上台c语言打擂台写成函数形式;
(3)?擂主和挑战者比较c语言打擂台写成函数形式;
(4)?挑战者胜的话,挑战者做擂主,否则擂主卫冕(不用更改)c语言打擂台写成函数形式;
(5)?重复执行(2)~(4)?步骤,直到最后一个挑战者;
(6)?输出最后的擂主 。
#include
#define N 10
int main()
{ int a[N],max,i;
for ( i=0;iN;i)
scanf("%d",a[i]);
max=a[0];
for (i=1;iN;i)
if (a[i]max)max=a[i];
printf("最大值=%d\n",max);
return 0;
}
求解?C语言编程题先定义一个包含学号和成绩的结构体类型c语言打擂台写成函数形式 , 然后再编写一个通过打擂台取最小值的函数c语言打擂台写成函数形式,返回最低成绩的结构体c语言打擂台写成函数形式,最后输出 。
#includestdio.h
struct stud{
int id;
int score;
};
struct stud findmin(struct stud a[],int n)
{int i,m=0;
for(i=1;in;i)
if(a[i].scorea[m].score)m=i;
return a[m];
}
int main()
{ int n,i;
scanf("%d",n);
struct stud min,a[n];
for(i=0;in;i)
scanf("%d%d",a[i].id,a[i].score);
min=findmin(a,n);
printf("min_id=%d\tmin_score=%d\n",min.id,min.score);
return 0;
}
c语言 改写成函数能不能说清楚函数c语言打擂台写成函数形式的功能
我写一个函数c语言打擂台写成函数形式,功能是判断一个字符是数字还是字母
函数名我用的is()c语言打擂台写成函数形式你可以随便改
int is(char c)
{
if(c='9'c='0') return 1; //如果是数字,就返回1
else if(c='Z'c='A') return 2; //如果是大写字母,就返回2
else if(c='z'c='a') return 3; //如果是小写字母,就返回3
esle return 0;//啥都不是就返回0
}
int main(void)
{
int i;
char str[80];
gets(str);//输入一个字符串 , 相当于scanf("%s",str);
for(i=0;str[i]!=0;i)
switch( is(str[i]) )
{
case 1:printf(" 数字"); break;
case 2: case 3:printf("字母");break;
default:printf("啥都不是");
}
returned 0;
}
如果是初学,你应该是要这种方式吧
不过建议使用上面那种‘
int fun(char str[])
{
int i;
//把你循环那部分放在这里
}
int main(void)
{
char str[80];
gets(str);
fun(str);
returned 0;
}
求C语言 输入10个数 输出最大值这个问题涉及数组问题和循环语句,明确“打擂台”算法可以快速写出 。
利用计算机在一批数中找出最大值的一般方法为:
1.将数据存入一个一维数组中,例如存入a数组中 。
2.在数组中找最大值(假设用变量max存放最大数) 。
【c语言打擂台写成函数形式 c语言打擂法程序】(1)首先将a[0]视为最大数,即首先使max=a[0] 。
(2)将除a[0]之外的其他元素(用a[i]表示)逐个与max比较,若a[i]max,则a[i]为目前的最大数,使max=a[i] 。在所有元素比较完之后,max即为最大数 。
3.输出最大数(max的值) 。
具体程序为:
#includestdio.h
int
main()
{int
i,max,data[10];//定义3个变量
for(i=0;i10;i)
scanf("%d",data[i]);
//输入10个整数
//打擂台算法,就是假设第一个数据是最大,并赋给max , 然后看后面的数是否有
//大于max的,如果有,则将该数赋给max
,这样始终在max中存放最大的数 。
max=data[0];
for(i=1;i10;i)//输入循环体
{ if(data[i]max)
max=data[i];}
printf("\nmax
num
is:%d",max);//输出最大数
return
0;}
扩展资料:
所谓打擂台法,就是一种求最大值的方法 , 依次读入数据,按先后顺序存入一个变量 , 后读入的数与前面读入的数比,输出较大的一个 。
例子:
var
a,b,temp:integer;
begin
temp:=0;readln(a,b);temp:=a;
if
b=temp
then
temp:=b , else
temp:=a;
writeln(temp);
end.
因为像打擂台的时候一个一个上,赢得留下,输的下去,所以被称之为打擂台法 。
参考资料:打擂台法_百度百科
c语言打擂台写成函数形式的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言打擂法程序、c语言打擂台写成函数形式的信息别忘了在本站进行查找喔 。

    推荐阅读