2026/3/25 9:43:15
网站建设
项目流程
卖辅助网站怎么做的,天津网站优化公司电话,网页设计怎么分析网站啊,龙岗网络公司题目1#xff1a;求n个实数去掉最大最小值后的平均值#xff08;快乐刷题周末B#xff09;问题#xff1a;思路#xff1a;找到最大值最小值的下标#xff0c;将0赋值给该下标对应的数组元素#xff0c;再遍历数组#xff0c;将所有元素相加#xff0c;最后/#xff…题目1求n个实数去掉最大最小值后的平均值快乐刷题周末B问题思路找到最大值最小值的下标将0赋值给该下标对应的数组元素再遍历数组将所有元素相加最后/n-2)代码#includestdio.h #includestdlib.h int main(){ int n; scanf(%d,n); float *nummalloc(sizeof(int)*n); for(int i0;in;i){ scanf(%f,num[i]); } float ave,minnum[0],maxnum[0],sum0; int idx_min0,idx_max0; for(int i1;in;i){ if(num[i]min){ minnum[i]; idx_mini; } if(num[i]max){ maxnum[i]; idx_maxi; } } num[idx_max]0;num[idx_min]0; for(int i0;in;i){ sumnum[i]; } avesum/(n-2); printf(%.2f,ave); return 0; }题目2萝卜的冒泡排序快乐刷题周末C问题思路冒泡排序都很熟悉了但这题新出现了一个规则如果存在相同的数那么出现较早的那个数就排在后面。错误想法只改变第二个for循环中的if语句交换条件num[j]num[j1]改为num[j]num[j1]错误原因冒泡排序过程中元素的位置不断变化原始下标信息会丢失。当相邻元素相等时我们无法通过索引直接判断到底哪个元素是先出现的因此我们必须用idx[]记录每个元素的初始下标元素交换的同时让初始下标也跟着交换保证元素与初始下标保持一致。交换条件改为num[j]num[j1]||(num[j]num[j1]idx[j]idx[j1])代码#includestdio.h #includestdlib.h int main(){ int n; scanf(%d,n); int num[100]; int idx[100]; for(int i0;in;i){ scanf(%d,num[i]); idx[i]i; } int count0; for(int i0;in-1;i){ for(int j0;jn-1-i;j){ if(num[j]num[j1]||(num[j]num[j1]idx[j]idx[j1])){ int tnum[j]; num[j]num[j1]; num[j1]t; int idx_tidx[j]; idx[j]idx[j1]; idx[j1]idx_t; count; } } } printf(%d\n,count); return 0; }题目3智将点兵快乐刷题周末E问题思路数字在100以内较小可以从i10开始暴力循环一个个判断i是否同时满足%3a、%5、%7c是的话则输出i并将1赋值给变量is表示有解跳出循环不是的话is0输出No answer代码#includestdio.h #includestdlib.h int main(){ int a,b,c; int is0; scanf(%d %d %d,a,b,c); for(int i10;i100;i){ if(i%3ai%5bi%7c){ printf(%d,i); is1; break; } } if(!is){ printf(No answer); } return 0; }题目4密码发生器快乐刷题周末F问题思路将输入字符串按位置%6 分成 6 组外层for循环控制分组编号i0~5内层for循环对每组字符的 ASCII 值求和用num[i]储存再用do-while语句嵌套将每个num[i]通过“各个位数相加”压缩成一位数字数字根最终输出 6 位数字作为密码代码#includestdio.h #includestdlib.h #includestring.h int main(){ int n; scanf(%d,n); while(n--){ char str[100]; scanf(%s,str); int num[6]{0}; for(int i0;i6;i){ for(int ji;jstrlen(str);j6){ num[i]str[j]; } // printf(%d ,num[i]); do{ int digit0; while(num[i]0){ digitnum[i]%10; num[i]/10; } num[i]digit; } while(num[i]10); printf(%d,num[i]); } printf(\n); } return 0; }