根据框图的功能: 处理框的功能是:处理数据或计算; 判断框的功能是:根据条件选择程序执行方向; 终端框的功能是:表示程序的开始和结束; 输入输出框的功能是:数据的输入输出, 故选A |
这个流程图有两个错误:
(一)中间的“a>c”真的错了,正确的应该是c>a。
原因:前面已经把ab按照从大到小排起来了,也就是a一定是大数,b一定是小数,即a>b。这时,如果判断大数a与c的大小,如果(c比a大)为真,那么肯定c是最大的数了,所以按照cab的顺序打印就可以了。所以这个判断一定是c>a了。
(二)中间的“输出cab"也是错误的,应该是”输出acb"。原因请楼主自己分析好吗?
#include<stdio.h>int main()
{
int a[10]
int i,j
int tem
bool bchange = false
printf("请输入10个整数,空格隔开:\n")
for(i = 0i<10i++)
{
scanf("%d",&a[i])
}
//Bubble
for(i=1i<10i++)
{
//bchange = false
for(j=0j<10-ij++)
{
if(a[j]>a[j+1])
{
tem = a[j]
a[j] = a[j+1]
a[j+1] = tem
bchange = true
}
}
if(i == 3)
{
printf("第%d趟排序的结果为:\n",i)
for(int k = 0k<10k++)
{
printf("%3d",a[k])
}
printf("\n")
}
//if(!bchange)//not change
//break
}
printf("排序后的结果为:\n")
for(i = 0i<10i++)
{
printf("%3d",a[i])
}
printf("\n")
return 0
}
在排序过程中i代表第几次排序,通过变量i既可以控制 输出第几行排序结果。
希望能够帮到你。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)