想问一下我的这个代码为什么运行不出来想要的答案

想问一下我的这个代码为什么运行不出来想要的答案,这个要求如下

img


我的代码如下

img

printf输出n x是没有意义的,因为那时候没有值
然后,因为你都是整数,除法是整除,整数也没有什么保留小数的说法,你应该换成float
最后看看你的问题怎么问的,你的通项公式对不对

  • 帮你找了个相似的问题, 你可以看下: https://ask.csdn.net/questions/7585770
  • 你也可以参考下这篇文章:【数据结构与算法】冒泡排序详解(含代码)
  • 除此之外, 这篇博客: 如何写一个可以排所有类型的冒泡排序中的         代码实现 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • #include <stdio.h>
    
    void swap(char* buf1, char* buf2, int sz)
    {
    	int i = 0;
    	for (i = 0; i < sz; i++)
    	{
    		char tmp = *buf1;
    		*buf1 = *buf2;
    		*buf2 = tmp;
    		buf1++;
    		buf2++;
    	}
    }
    //写一个通用的冒泡排序
    void pop_sort(void* base, int num, int sz, int (*cmp)(const void* e1, void* e2))
    {
    	/
    	int i = 0;
    	int j = 0;
    	for (i = 0; i < num; i++)//循环的趟数
    	{
    		for (j = 0; j < num - i - 1; j++)//每趟循环的次数
    		{
    			if (cmp((char*)base +j* sz, (char*)base +(j+1) * sz) > 0)
    			{
    				swap((char*)base + j * sz, (char*)base + (j + 1) * sz, sz);
    			}
    		}
    	}
    }
    int cmp_int(void *e1,void *e2)
    {
    	return *((int *)e1) - *((int*)e2);
    }
    int main()
    {
    	int arr[10] = { 9,8,7,6,5,4,3,2,1,0 };
    	int sz = sizeof(arr[0]);
    	int num = sizeof(arr) / sizeof(arr[0]);
    	pop_sort(arr, num, sz, cmp_int);
    	int i = 0;
    	for (i = 0; i < num; i++)
    	{
    		printf("%d", arr[i]);
    	}
    }
  • 您还可以看一下 孙玖祥老师的图解数据结构与算法课程中的 左旋和右旋的代码实现小节, 巩固相关知识点