求大神帮助找出下面C程序的错误!问题描述按程序功能要求编写程序.(1)从键盘输入一个正整数(不多于5位),计算该正整数与789之和(记为sum);(2)将整数sum各个位拆分到数组a中;(
【问题描述】按程序功能要求编写程序.
(1)从键盘输入一个正整数(不多于5位),计算该正整数与789之和(记为sum);
(2)将整数sum各个位拆分到数组a中;
(3)数组a从小到大排序;
(4)将排序后的数组a组成一个值为最小的整数(记为min);
(5)输出min及其位数(两数中间以空格分隔).
【样例输入】52387
【样例输出】13567 5
【样例说明】52387+789=53176,重排后得到的最小数为13567,其位数为5位.
#include
int main()
{
int sum,n=0,i=0,k,x,index,temp,min=0;
int a[5];
scanf("%d",&x);
sum=x+789;
while(sum!=0)
{
a[i]=sum%10;
sum=sum/10;
i++;
n++;
}
for(k=0;k
三个错误:
for(k=0;k<n-1;k++) 应该为 for(k=0;k<n;k++) 【n为数字位数,所以需要循环n次】
if(a[i]<a[index]) 如果满足条件,则后面四句都需要执行,所以需要加{}
这四句话中,index=i; 需要放到最后执行,否则下标值已经相同了,交换没有意义
修改后代码段:
for(k=0;k<n;k++)
{
index=k;
for(i=k+1;i<n;i++)
if(a[i]<a[index])
{
temp=a[i];
a[i]=a[index];
a[index]=temp;
index=i;
}
}
结果:
52387
13567 5
Press any key to continue
公路上行驶的汽车急刹车时,刹车距离s(m)与时间t(s)的函数关系式为s=20t-5t2,当遇到紧 2020-05-13 …
初三二次函数的复习1.某汽车刹车后行驶的路程s(m)与行驶的时间t(s)的函数解析式是s=15t- 2020-05-13 …
某种牌号的汽车在一种路面上的刹车距离s(m)与汽车车速x(km/h)的数值之间有如下关系s=0.0 2020-05-16 …
(1/3)跪求!我有一道这数学题不会写.汽车刹车后行驶的距离S(单位:m)与行驶的时间t(单位:S 2020-05-17 …
汽车在行驶的过程中,由于惯性的作用,刹车后还要向前行驶一段距离才能停止,我们称这段距离为"刹车距离 2020-05-17 …
函数题小王想修建一个养鸡场,养鸡场一边靠墙,另三边利用总长60m的竹篱笆围成.(1)写出长方形面积 2020-06-28 …
圆周运动小问题~~~如图所示,水平转台以角速度ω=4rad/s匀速转动.M与m用细线相连,M=0. 2020-06-28 …
一道线代题目:设A是一个m×n矩阵,r(A)=r…从A中任意划去m-s行与n-t列,其余元素按原来 2020-07-14 …
已知全集S和集合M,N,P.M=N在S中的补集N=P在S中的补集,则M与P的关系是?A、M=P在S 2020-07-30 …
如果用单位路程所用的时间来表示运动的快慢,速度的单位可以是s/m,那么()A.100s/m比10s/ 2020-12-09 …