菜蛙


私信TA

用户名:hu2022

访问量:13515

签 名:

明日复明日,明日何其多。我生待明日,万事成蹉跎。

等  级
排  名 617
经  验 3996
参赛次数 0
文章发表 75
年  龄 0
在职情况 学生
学  校 哈工程
专  业

  自我简介:

出现问题:
1.输入a直接printf时,窗口显示为一串方框(因为输入和输出的数据类型不一致)

2.k = a[0];语句执行后,打印出的k值不是a[0](因为k与a的数据类型不一致)

3.只有b[0]是正确的值,其余b元素均为0(k比大小循环的终止条件过大)
注意事项:

1.数组a,b全部定义为int型

2.输入a中元素时用%d

3.输出b中元素也用%d

4.k与a中元素比大小的for循环中,终止条件应该排除已“作废”的数据

参考代码:

#include<stdio.h>
#include<string.h>

int main(void){
	int k,n;
	int a[10],b[10];
	int i,j;
	
	for(i=0;i<10;i++){
		scanf("%d",&a[i]);
	} 

	
	for(j=0;j<10;j++){
		k = a[0];
		n = 0;
		for(i=1;i<10-j;i++){
			if(k>a[i]){
				k = a[i];
				n = i;
			}
		}
		b[j] = k;
		for(i=n;i<10-j;i++){
			a[i] = a[i+1];
		}
	}
	
	for(j=0;j<10;j++){
		printf("%d ",b[j]);
	}
	
	
	return 0;
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区