任意输二十个整数,从大到小输出原来数据信号c语言
答案:3 悬赏:40
解决时间 2021-01-02 10:35
- 提问者网友:控制庸俗
- 2021-01-02 06:09
任意输二十个整数,从大到小输出原来数据信号c语言
最佳答案
- 二级知识专家网友:恕我颓废
- 2021-01-02 07:15
#include<stdio.h>
void sort(int *a, int n)
{
int t;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (*(a + i) < *(a + j))
{
t = *(a + i);
*(a + i) = *(a + j);
*(a + j) = t;
}
}
}
}
void output(int *a, int n)
{
printf("排列如下:");
for (int i = 0; i < n; i++)
printf("%d ", *(a + i));
printf("\n");
}
void input(int *a, int n)
{
printf("输入20个数:");
for (int i = 0; i < n; i++)
scanf("%d", (a + i));
}
int main()
{
int a[10];
input(a, 20);
sort(a, 20);
output(a, 20);
return 0;
}
祝你愉快!
void sort(int *a, int n)
{
int t;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (*(a + i) < *(a + j))
{
t = *(a + i);
*(a + i) = *(a + j);
*(a + j) = t;
}
}
}
}
void output(int *a, int n)
{
printf("排列如下:");
for (int i = 0; i < n; i++)
printf("%d ", *(a + i));
printf("\n");
}
void input(int *a, int n)
{
printf("输入20个数:");
for (int i = 0; i < n; i++)
scanf("%d", (a + i));
}
int main()
{
int a[10];
input(a, 20);
sort(a, 20);
output(a, 20);
return 0;
}
祝你愉快!
全部回答
- 1楼网友:你好陌生人
- 2021-01-02 09:04
#include <stdio.h>
#define N 20
void sort(int * a, int size)
{
int i, j, temp, pos;
for (i = 0; i < N; i++)
{
temp = a[i];
pos = i;
for (j = i + 1; j < N; j++)
{
if (temp < a[j])
{
temp = a[j];
pos = j;
}
}
a[pos] = a[i];
a[i] = temp;
}
}
void main()
{
int a[N];
int i;
for (i = 0; i < N; i++)
{
scanf("%d", &a[i]);
}
sort(a, N);
for (i = 0; i < N; i++)
{
printf("%d ", a[i]);
}
}
- 2楼网友:晨与橙与城
- 2021-01-02 07:41
用宏定义最好解决,而且节省空间
#define max(x,y) (((x)>(y))?(x):(y))
记住括号必须这样写,要不然就错了,这也是教你一个常识!
我给你写个函数也行
#include
int max(int x,int y)
{
if(x>y)
return x;
else
return y;
}
int main()
{
int m,n
printf("please input two number:");
scanf("%d,%d",&m,&n);
int result = max(m,n);
printf("the max is %d\n",result);
return 0;
}
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯