重拾起大学那段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) 输出排序后的数组元素;
*/
|