C语言,找找下面代码的错误

下面是代码要实现的功能:

img


请找下面代码的错误,有两个
会认真采纳的

img

for (j = 1; j < i; j++) 而不是<=1000

下面也是同样的
for (j = 1; j < i; j++)

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/7602979
  • 你也可以参考下这篇文章:C语言实现二分法查找代码和顺序查找代码
  • 除此之外, 这篇博客: C语言快速排序中的 下面我将用代码实现上述的过程: 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    #include<stdio.h>
    #include<windows.h>
    void swap(int array[], int low, int high)//用于交换数组中两个数值
    {
    	int temp;//中间变量用于交换两个数值
    	temp = array[low];
    	array[low] = array[high];
    	array[high] = temp;
    }
    int partition(int array[], int low, int high)
    {
    	int pivotkey = array[low];//设置数组第一个元素为比较元素
    	while (low < high)
    	{
    		while ((low<high) && (array[high] >= pivotkey))
    		{/*数组最后一个元素比pivotkey大,那么array[high]就应该放
    			在pivotkey的后面,所以high需要向前移动*/
    			high--;
    		}
    		//否则就交换array[low]和array[high]的数值
    		swap(array, low, high);
    		while ((low<high) && (array[low] <= pivotkey))
    		{
    			low++;
    		}
    		//否则就交换array[low]和array[high]的数值
    		swap(array, low, high);
    	}
    	return low;//最后返回枢轴的位置。
    
    }
    void Qsort(int array[], int low, int high)
    {
    	if (low<high)//如果符合判断条件的话就递归
    	{
    		int key = partition(array, low, high);//用key去接收第一躺排序之后枢轴的位置】、
    		
    		Qsort(array, low, key - 1);//左边子序列
    
    		Qsort(array, key + 1, high);//右边子序列
    	}
    }
    void Quicksort(int array[], int len)//快排开始
    {
    	Qsort(array, 0, len - 1);//调用递归函数
    }
    
    void Print(int array[], int len)//用于打印整个数组
    {
    	for ( int i = 0;i<len; i++)
    	{
    		printf("%3d",array[i]);
    	}
    }
    
    void main()
    {
    	int array[] = { 13, 27, 38, 49, 49, 65, 76, 97};
    	Quicksort(array,8);//调用快速排序的函数对上面的数组进行快速排序
    	printf("快速排序的结果为:\n");
    	Print(array, 8);
    	printf("\n");
    	system("pause");//暂停一下
    
    }
    
  • 您还可以看一下 李月喜老师的企业微信自建代开发应用开发篇课程中的 创建代开发模板处理回调并提交审核上线小节, 巩固相关知识点
  • 以下回答来自chatgpt:

    问题解答:

    该代码中存在两处错误:

    1.在printf函数中/n应为\n,为换行符的转义字符。

    2.在printf函数中%d应该为%ld,因为sum的类型为long int。

    改正后的代码如下:

    #include <stdio.h>
    
    int main(){
        int a = 5, b = 7;
        long int sum;
        sum = a + b;
    
        printf("The sum of %d and %d is %ld\n", a, b, sum);
        return 0;
    }
    

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^