有一个数组int A[SIZE],其中里面包含若干0和其余非0的整数,写一个函数int Func(int* A, int nSize),使A把0元素移至后面,非0整数移至数组前面并保持从大到小排序,函数的返回值为第一个为0的元素的下标。
使用#define SIZE 100定义数组维数,并使用rand()函数随机生成数组A的元素,其中大于20000的数都强制为0;怎么写?
有关c语言的编程问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-03-10 15:36关注
一个简单的实现:
#include <stdio.h> #include <stdlib.h> #define SIZE 100 int Func(int *A ,int nSize){ int i,j; int max; int temp; for(i=0;i<nSize-1;i++){ for(j=i;j<nSize;j++){ if(A[i]<A[j]){ temp=A[i]; A[i]=A[j]; A[j] =temp; } } } // // printf("Afeter sort:\n"); // for(i=0;i<SIZE;i++){ // printf("%d ",A[i]); // if((i+1)%5==0){ // printf("\n"); // } // } int index=-1; for(i=0;i<nSize;i++){ if(A[i]==0){ index=i; return index; } } } int main(void){ int A[SIZE]; int i; int num; for(i=0;i<SIZE;i++){ num = rand(); if(num>20000){ num=0; } A[i] =num; // printf("%d ",A[i]); // if((i+1)%5==0){ // printf("\n"); // } } printf("数组第一个为0的元素的下标为:%d.\n",Func(A,SIZE)); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用
悬赏问题
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭
- ¥15 2020长安杯与连接网探
- ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么