慕杨公子


私信TA

用户名:zhangygq

访问量:9493

签 名:

等  级
排  名 1263
经  验 3033
参赛次数 3
文章发表 5
年  龄 0
在职情况 学生
学  校 贵州商学院
专  业

  自我简介:

 

0.0分

62 人评分

  评论区

不错int main()
//{
//	int a[10] = { 0 };
//	int n = 0;//需要插入的数
//	int i = 0;
//	// 为了方便解释,这里把for循环的范围改成了0到8,这样数组中就只有9个元素
//	for (int i = 0; i < 9; i++)//这样1大小为10的数组就有了九个元素
//	{
//		scanf("%d\n", &a[i]);
//	}
//	scanf("%d", &n);
//	//三种情况
//	//1.当n > a[8]时
//	//将n存储在a[9]中
//
//	if (n >= a[8])
//	{
//		a[9] = n;
//	}
//	//2.当n < arr1[0]时
////将n存储在a[0]中,原有排序依次向后移一位
//	
//	//其他情况
//	//  3.在数组a中找到一个位置,使得n插入后仍保持升序的排列方式,
//	//    把比n大的元素都向后移动一个位置,然后把n插入到合适的位置	
//	
//	
//	
//	else
//	{   
//		for (i = 8; i >= 0; i--)//从数组末尾开始向前遍历,最后一个元素是空的,so是i=8
//		{
//			if (n <= a[i])
//			{
//				a[i + 1] = a[i];//
2023-08-02 17:07:21
#include<stdio.h>
void swap(int *str,int num)//
{
    int i,j=0,bf=0,a=str[num],c;
//    printf("a==%d",a);
    if(str[0]<=str[8]){
        for(i=0;i<=num-2;i++){
            if(!bf)
                if(str[num]<str[i+1]||str[0]>str[num])
               {
                   bf=1;
                   c=i+1;
//                   printf("下标==%d",str[num]);
               }
            if(bf)
            {
                str[num-j]=str[num-j-1];
                j++;
            }
        }

        if(bf) {
        str[c] = a;
//        printf("%d=====%d\n",str[num],str[str[num]]);
    }}
    else
2023-05-04 12:46:10
发现个问题,当输入的值大于101的时候,值是排序在倒数第二,i需要小于等于9
for(i=0;i<=9;i++)
    {
        if(a[i]>=n)
        {
            c=i;
            break;
        }    
    }
2022-04-24 15:22:57
#include <stdio.h>

int main()
{
	int a[10];
	int i,j;
	printf("请输入已经正序排序好的9个数:");
	for(i=0;i<9;i++)
	{
		scanf("%d",&a[i]);
	}
	printf("请输入要插入的数值:");
	scanf("%d",&a[9]);
	for(i=9;i>0;i--)
	{
		if(a[i-1]>a[i])
		{
			j=a[i];
			a[i]=a[i-1];
			a[i-1]=j;
		}
		else 
		{
			break;
		}
	}
	printf("排序后的数值为:\n");
	for(i=0;i<10;i++)
	{
		printf("%d ",a[i]);
	}
	printf("\n");
	return 0;
}
2022-04-01 16:11:27
#include<stdio.h>

int main(void){
	int a[10], i;
	for(i=0;i<9;i++){
		scanf("%d", &a[i]);
	}
	int num;
	scanf("%d", &num);
	for(i=8;i>0;i--){
		if(num > a[i]){
			a[i+1]=num;
			
		
			break;
		}
		a[i+1] = a[i];
	}
	for(i=0;i<10;i++){
		printf("%d\n", a[i]);
	}
	return 0;
}
2022-02-11 09:32:21
#include <stdio.h>
int main ()
  {
  	int a[] = {1,25,46,78,100,102,471,};// 已知的数组 可以改成用户输入
  	int n = sizeof a / sizeof a[0] ;    // 获取数组的大小 
  	int x , i = 0 ;
  	
	scanf ("%d", &x) ;					// 输入 x  
  	for ( ; x > a[i] && i != n ; i++)  
  		printf ("%d ", a[i]) ; 			//输出小于 x 的数 
  		
	printf ("%d ", x) ;        			//输出 x 
	
	for ( ; i < n ; i++ )
		printf ("%d ", a[i]) ;  		//输出大于 x 的数 
	
		
 		
  }
2021-04-08 22:40:09
int main ()
  {
  	int a[] = {1,25,46,78,100,102,471,};
  	int b[7] ;
  	int n = sizeof a / sizeof a[0] ; 
  	int x , i = 0 ;
  	scanf ("%d", &x) ;
  	for ( ; x > a[i] && i != n ; i++)
  		printf ("%d ", a[i]) ;
	printf ("%d ", x) ;
	for ( ; i < n ; i++ )
		printf ("%d ", a[i]) ;
2021-04-08 22:34:04
你这个c的话  当原有序列中没有比输入的n大的数据时  c是没有值的 会存在潜在的错误   可以将初始值定义位9  没找到比n大的数时c为9  找到了 就替换
2021-03-29 15:07:47