习题
确定带“*”的语句的语句频度
2)
i=1;k=0;
do{
k+=10*i;//* 当n<=1时为1,n>1时为n-1
i++;
}while(i<=n-1);
6)
x=n;y=0;
while(x>=(y+1)*(y+1)){
y++;//* 根号n取整
}
7)
x=91;y=100;
while(y>0){
if(x>100){x-=10;y--;}//* 1100
else x++;
}
算法设计题
1、包含100个实数的数组,编写求最大数据元素的值及其下标的算法,并分析时间复杂度。
void max(double[]a){
double max=a[0];
int index=0;
for(int i=0;i<a.length;i++)
if(max<a[i]){
max=a[i];
index=i;
}
System.out.println("最大的实数为:"+max+"\n其在数组中的下标为:"+index);
}
上机实践题
1、编写一个实现将整型数组按值递增顺序进行排序的java程序。
冒泡排序
public class Main{
public int[]bubbleSort(int[]a){
int n=a.length;
boolean isExchange=true;
for(int i=0;i<n-1&&isExchange;i++){//最多做n-1次排序
isExchange=false;
for(int j=0;j<n-i-1;j++){//对当前无序区排序
if(a[j]>a[j+1]){
int temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
isExchange=true;//发生了交换,交换标志置为真
}
}
if(!isExchange)
break;
}
return a;
}
public static void main(String[] args){
int[]values={49,38,65,97,76,13,27,49};
Main e=new Main();
values=e.bubbleSort(values);
for(int i=0;i<values.length;i++)
System.out.print(values[i]+" ");
}
}