重拾起大学那段C语言时光啦…… #include<stdio.h> main() { int a[] = {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}; int i=0,j = sizeof(a)/sizeof(a[0])-1,temp; while( i <= j ) { if(!(a[i]&1)) { if(a[j]&1) { temp = a[i]; a[i] = a[j]; a[j]= temp; i++; } j--; } else i++; } for(i=0;i<=(sizeof(a)/sizeof(a[0])-1);i++) printf("%d ",a[i]); ------------------------------------------------- #include "stdio.h" #include "stdlib.h" main() { int score[20],flag; int i,j,x,max=0,min=100,sum=0,temp,minTag,maxTag,k; for(i=0;i<20;i++){ score[i]=random(70)+30; /*随机参生30-100的学生成绩*/ printf("%3d/t",score[i]); /*3个列宽输出*/ if((i+1)%5==0) printf("/n"); /*控制输出行号*/ sum=sum+score[i]; /*累加*/ if(max<score[i]){max=score[i];maxTag=i;}/*求最高分*/ if(min>score[i]){min=score[i];minTag=i;}/*求最低分*/ } printf("最大分:%d,位置:%d/n最低分:%d位置:%d/n平均成绩:%d/n",max,maxTag,min,minTag,sum/20); /*冒泡排序 */ for(i=0;i<20;i++){ for(j=1;j<20-i;j++){ if(score[j-1]<score[j]){ temp=score[j]; score[j]=score[j-1]; score[j-1]=temp; } } } printf("/n排序后的结果:"); for(i=0;i<20;i++){ printf("%3d",score[i]); } /***************************************************************/ /*冒泡排序*/ for(i=0;i<20;i++){ for(j=i+1;j<20-i;j++){ if(score[j-1]<score[j]){ temp=score[j]; score[j]=score[j-1]; score[j-1]=temp; } } } printf("/n排序后的结果:"); for(i=0;i<20;i++){ printf("%3d",score[i]); } getch(); } /* 编程实现:随机产生20个学生的计算机课程的成绩(30~100之间的整数), 1) 显示生成的数组元素,每个元素用3个列宽输出,每行5个,共4行; 2) 记录并输出最高分,最低分以及其对应的数组元素下标 3) 记录并显示20个同学的平均成绩; 4) 把成绩从高到低排序,可采用冒泡法 5) 输出排序后的数组元素; */ |