C语言实现用数组输入10个整数从大到小排序然后输出下标为偶数的元素之和

如题所述

第1个回答  2012-06-15
#include<stdio.h>
main()
{
int A[]={1,4,5,6,9,8,7,3,2,0};
int i,j,temp,t;
t=0;
for(i=0;i<9;i++) //冒泡排序法
for(j=0;j<9-i;j++)
if(A[j]<A[j+1]) //降序排列
{
temp=A[j];
A[j]=A[j+1];
A[j+1]=temp;
}
for(i=0;i<10;i+=2) //求和
t+=A[i];
printf("%d\n",t);
}
楼主可以自己试试用其它方法排序,而且这个函数只能排这一组数据,要想任意输入只需加上scanf()函数即可,这个就交给楼主自己完成吧
第2个回答  2012-06-15
void main()
{
int a[10];
int sum = 0;
for(int i = 0;i < 10; i ++)
{
printf("input a[%d]:\n",i);
scanf("%d", &a[i]);
// 因为数据是一个一个来的,所以用插入排序比较好,边输入边排序.
for(int j = 0; j< i ; j ++)
{
if(a[j]>a[i])
{
int iTemp = a[i];
for(int k = i; k > j; k--)
{
a[k] = a[k-1];
}
a[j] = iTemp;
break;
}
}
}
for(int i = 0; i < 10; i ++)
{
printf("input a[%d]=%d\n",i,a[i]);
if(i%2 == 0)sum+=a[i];
}
printf("sum = %d\n",sum);
}
第3个回答  2012-06-15
输入函数,输入十个数字,需要十个变量
用IF嵌套函数比较大小
然后再用if函数判断能整除2的数字,将这些数字相加
第4个回答  2012-06-15
/////////////////////////////////////////
// C-Free 4.1
// MinGW 3.4.5
// veket的小号
/////////////////////////////////////////
#include <stdio.h>
int main()
{
int a[10];
int i;
int j;
int temp;
int sum;

//循环输入10个数组存放到数组a
for(i=0;i<10;i++)
{
scanf("%d", &a[i]);
}

//冒泡法排序
for(i=0;i<9;i++)
{
for(j=0;j<9-i;j++)
{
if(a[j]<a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}

//计算下标为偶数的元素之和
sum = 0;
for(i=0;i<10;i+=2)
{
sum += a[i];
}

printf("sum = %d\n", sum);
return 0;
}本回答被提问者和网友采纳
第5个回答  2012-06-15
这个好写,千万别偷懒,自己写吧
相似回答