33,311
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#define N 10 //定义常数N=10
void sum(int* p, int num) //计算数组所有元素之和并输出
{
int sum = 0;
for (int i = 0; i < num; i++)
sum = sum + p[i];
printf("sum=%d\n",sum);
}
int reverse(int* a, int* b, int num)//实现数组b,逆序保存原数组a的元素;
{
for (int i = 0; i < num; i++){
b[i] = a[num - i - 1];
}
return 0;
}
int sort(int* p, int num)//将数组由大到小排序
{
int temp;
for(int i=0;i<num-1;i++)
for(int j=0;j<num-i-1;j++)
if (p[j] < p[j + 1]) {
temp = p[j];
p[j] = p[j + 1];
p[j + 1] = temp;
}
return 0;
}
int main()
{
int a[N],b[N];
for(int i=0;i<N;i++){ //初始化数组a[]并输出看看
a[i] = i+1;
printf("%d ",a[i]);//1 2 3 4 5 6 7 8 9 10
}
printf("\n");
//1 计算数组a的所有元素之和并输出
sum(a,N);
//2 数组b,逆序保存原数组a的元素;
reverse(a,b,N);
for(int i=0;i<N;i++){ //输出看看逆序的b[]数组
printf("%d ",b[i]);
}
printf("\n");
//3 将数组a按由大到小排序
sort(a, N);
for(int i=0;i<N;i++){ //输出看看由大到小排序的a[]数组
printf("%d ",a[i]);
}
printf("\n");
return 0;
}