输入三个数,编程使其从小到大排列输出,用函数和指针完成。用c语言完成。
答案:4 悬赏:0
解决时间 2021-04-06 14:43
- 提问者网友:柠檬香
- 2021-04-06 07:28
输入三个数,编程使其从小到大排列输出,用函数和指针完成。用c语言完成。
最佳答案
- 二级知识专家网友:不服输就别哭
- 2021-04-06 08:18
#include <stdio.h>
int my_sort(int *arr, int n)
{
int i, j;
int tmp = 0;
for (i=0; i<(n-1); i++)
{
for (j=i+1; j<n; j++)
{
if (*(arr+j) < *(arr+i))
{
tmp = *(arr+j);
*(arr+j) = *(arr+i);
*(arr+i) = tmp;
}
}
}
return(*arr);
}
void main()
{
int arr[3] ;
int *p = arr;
printf("请输入三个整数: \n");
int i;
for (i=0; i<3; i++) {
scanf("%d", arr+i);
}
my_sort(p, 3);
printf("\n排序后: \n");
for (i=0; i<3; i++) {
printf("%d ", *(p+i));
}
printf("\n");
}
无错误请楼主放心
int my_sort(int *arr, int n)
{
int i, j;
int tmp = 0;
for (i=0; i<(n-1); i++)
{
for (j=i+1; j<n; j++)
{
if (*(arr+j) < *(arr+i))
{
tmp = *(arr+j);
*(arr+j) = *(arr+i);
*(arr+i) = tmp;
}
}
}
return(*arr);
}
void main()
{
int arr[3] ;
int *p = arr;
printf("请输入三个整数: \n");
int i;
for (i=0; i<3; i++) {
scanf("%d", arr+i);
}
my_sort(p, 3);
printf("\n排序后: \n");
for (i=0; i<3; i++) {
printf("%d ", *(p+i));
}
printf("\n");
}
无错误请楼主放心
全部回答
- 1楼网友:魅世女王
- 2021-04-06 11:14
是字母串还是字母从大到小输出啊?
- 2楼网友:佛说妍妍很渣
- 2021-04-06 09:38
#include <stdio.h>
void swap(int* p1, int* p2)
{
int tmp;
tmp = *p1;
*p1 = *p2;
*p2 = tmp;
}
void sort(int* p1, int* p2, int* p3)
{
if(*p1 > *p2)
{
swap(p1, p2);
if(*p2 > *p3 )
{
swap(p2, p3);
}
}
if(*p1 > *p2)
{
swap(p1, p2);
}
}
int main()
{
int a, b, c;
printf("Please input three integers:\n");
scanf("%d %d %d", &a, &b, &c);
sort(&a, &b, &c);
printf("%d %d %d \n", a, b, c);
return 0;
}
- 3楼网友:狙击你的心
- 2021-04-06 08:33
#include <stdio.h>
void sort(int* p, int n)
{
int* q = p;
int temp;
int i,j;
for (i=0; i<n-1; i++)
{
for (j=n-i; j>1;j--)
{
if (*p > *(p+1))
{
temp = *p;
*p = *(p+1);
*(p+1) = temp;
p++;
}
}
p = q;
}
}
void main()
{
int num[3];
int i;
for (i=0; i<3; i++)
scanf("%d", &num[i]);
sort(num, 3);
for (i=0; i<3; i++)
printf ("%d", num[i]);
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯