哪里错了,最后结果老是1? Lengshan023 人生而自由,却无往不在枷锁之中。 在int数据类型中,结果是整数,1/2 1/3 1/4结果全部为0,把数据类型换成浮点数float就行 阅读全文 赞同添加评论 分享 收藏喜欢 C语言自定义函数中如何将函数内部计算好的值传递给函数的长整数指针参数并让它...
做指向指针下一个地址后换行
void InsertSort(int* arr, int sz){for (int i = 0; i < sz - 1; i++){int end = i;int tmp = arr[end + 1];//保存下一个值while (end >= 0){if (tmp < arr[end]){arr[end + 1] = arr[end];//把前面的数按顺序往后挪end--;}else{break; //比前一个数要大时,说明找到...
//希尔排序void ShellSort(int* a, int n){//预排序 分成gap组//gap > 1 预排序//gap = 1 直接插入排序int gap = n;while (gap > 1){//gap = gap / 2;gap = gap / 3 + 1; //保证除到最后一次gap一定是1for (int i = 0; i < n - gap; ++i) //gap组并排比较{int end = i;...
.word gdt_end - gdt - 1 # size of GDT-1 .long gdt # GDT offset hw: .string "Hello, World!" msg1: .asciz "I'm bootloader!" len1: .int . - msg1 msg2: .asciz "My job is loading our OS!" len2: .int . - msg2
gap = gap /3+1;for(inti =0; i < n - gap; i++) {intend = i;inttmp = a[end + gap];while(end >=0) {if(tmp < a[end]) { a[end + gap] = a[end]; end -= gap; }else{break; } } a[end + gap] = tmp;
(start1 < end1)//将左边剩下的元素放置到数组b中b[k ] = a[start1 ];while(start2 < end2)//将左边剩下的元素放置到数组b中b[k ] = a[start2 ]; }int*temp = a; a = b; b = temp; }if(a != arr) {inti;for(i =0; i < len; i ) b[i] = a[i]; b = a; }free(b...
// 我们上课用的是bit,大家下去以后自己练习用自己名字缩写即可,如张三:zs// 1. 正常的命名空间定义namespace bit{// 命名空间中可以定义变量/函数/类型int rand=10;intAdd(int left,int right){returnleft+right;}struct Node{struct Node*next;int val;};}//2. 命名空间可以嵌套// test.cppnamespaceN1...
voidf1(){int a=0;}voidf2(){int a=1;}intmain(){return0;} 这样就没问题,因为虽然有两个a,但是它们两个都是局部变量,它们的作用域都是自己所在的函数,互不干扰,所以就没事。 那这时候如果我们在main函数里打印a其实是不行的: 为什么不行呢?
这样就能最终排序出1 2 3 4 5 5 6 7 8 9的结果 最后以代码的形式操作,如下面所示 // 插入排序 voidInsertSort(int*a,intn) { //在一个数组中插入新的数,每一趟都让最后的end+1的数据大于end for(inti=0;i<n-1;i++) ...