输入x、y、z三个整数,按从小到大的顺序排列后输出,求算法。
如题
#include using namespace std; int change(int * x, int * y) { int tmp = 0; if (*x > *y) { tmp = *x; *x = *y; *y = tmp; return 1; } else return 0; } int main() { int num1,num2,num3; cout > num1 >> num2 >> num3; change(&num1,&num2);//前两个升序 if (0 == change(&num2,&num3)) //num2 using namespace std; int main() { int arry[3] = {0} ; int i,j; cout > arry[i] ; } /*排序*/ for (i = 0 ; i using namespace std; int main() { int num1,num2,num3; cout > num1; cout > num2; if (num2 > num3; if (num3 > num2) { cout num1) cout << num1 << " " << num3 << " " << num2 << endl; else cout << num3 << " " << num1 << " " << num2 << endl; } return 0; }。
我说这么简单的算法,随便借本入门级别的编程书就有
三个整数求平均数 设为e。 2。 使用x,y,z 分别与e进行比较。 2.1 如果有两个数大于e, 则另外一个为最小数. 两个大于e的数再进行比 对,这样就列出从小到大的顺序. 2.2 如果两个数小于e,则剩下的一个数为最大数,再比对剩下两个数,得出从小到大的顺序. 2.3 如果有一个数字等于平均数,那么大于平均数的为最大,小于平均数的为最小.
可用直接插入排序法或冒泡排序法
#include void sort(int *p, int *q, int *t) { int temp; if(*p > *q) { temp = *p; *p = *q; *q = temp; } if(*p > *t) { temp = *t; *t = *p; *p = temp; temp = *q; *q = *t; *t = temp; } else if(*q > *t) { temp = *q; *q = *t; *t= temp; } } main() { int num1,num2,num3; int *p,*q,*t; p = &num1; q = &num2; t = &num3; printf("please input 3 numbers:"); scanf("%d%d%d",p,q,t); sort(p,q,t); printf("%d %d %d\n",*p,*q,*t); } 测试通过了。
主要是用LARGE,MAX,MIN函数,请看附件。用一个LARGE也可以全部搞定。
答:你没有理解函数参数类型的意义和区别 函数参数在C中有两类: (1)值参,也就是传递数据的值。这种参数编译器在处理的时候会自动在栈空间里创建一个临时变量,将参数的...详情>>
答:详情>>