一、对一组数据进行降序或者升序排序(冒泡算法)
intnums[10] = {4,5,1,10,7,1,8,3,6,9};
inti, j, temp, isSorted;
//优化算法:最多进行 n-1 轮比较
for(i=0; i<10-1; i++){
isSorted =1;//假设剩下的元素已经排序好了
for(j=0; j<10-1-i; j++){
if(nums[j] > nums[j+1]){
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
isSorted =0;//一旦需要交换数组元素,就说明剩下的元素没有排序好
}
}
if(isSorted) break; //如果没有发生交换,说明剩下的元素已经排序好了
}
for(i=0; i<10; i++){
printf("%d \n ", nums[i]);
}
二、求1到100之间的质数
inti_1, i_2, flag;
for(i_1 =2; i_1 <100; i_1++) {
for(i_2=2,flag =0; i_2 <= i_1; i_2++) {
if(i_2==1||i_2==i_1) {
continue;
}
if(i_1%i_2 ==0) {
flag =1;
}
}
if(!flag) {
printf("%2d 是1-100内的质数\n",i_1);
}
}
三、写一个递归加或者乘
-(int)add:(int)num{
if(num==1){
return1;
}
else{
return num+[self add:(num-1)];
}
}
-(int)mulity:(int)num{
if(num==1){
return1;
}
else{
return num * [self mulity:(num-1)];
}
}
网友评论