
这个用C++要怎么打啊?我想要详细的每一个步骤,有没有人来用这个简单题练练手。
#include<stdio.h>
// 插入排序
void insertion_sort(int arr[],int len){
for(int i=1;i<len;i++){
int key=arr[i];
int j=i-1;
while((j>=0) && (key<arr[j])){
arr[j+1]=arr[j];
j--;
}
arr[j+1]=key;
}
}
int main() {
// 所有数据
int num[10] = {0};
int list[10] = {0};
// 个数
int number = 0;
// 和
int zarea = 0;
// 输入
for ( int i = 0 ; i < 10 ; i++ ) {
scanf("%d", &num[i]);
}
// 记录
for ( int i = 0 ; i < 10 ; i++) {
// 记录正数的个数
if ( num[i] > 0 ) {
// 迁移到另一个数组里
list[number] = num[i];
// 如果是正数
number++;
// 求和
zarea += num[i];
}
}
// 排序
insertion_sort(list,number);
// 输出
printf("正数有 %d 个\n", number);
printf("和为 %d\n",zarea);
printf("排序后 :");
for( int i = 0 ; i < number ; i++ ){
printf("%d ",list[i]);
}
}