#include <stdio.h>
#include <stdlib.h>
int main()
{ int n,i,j,k,a;
for(i=0;i<10;i++)
{
scanf("%d",&n);
for(j=0;j<9;j++)
{
if(n<k)
{
a=n;
n=k;
k=a;
}
}
}
printf("%d",k);
return 0;
}
程序有2个主要问题:
1、变量K没有赋储值,就用于比较,有很大不确定性;建议赋一个比较大的值k=65532;
2、第二个for循环,没有意义。从程序里看,只是判断了9次n和k的值;
修改后的程序如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{ int n,i,j,k=999,a;
for(i=0;i<10;i++)
{
scanf("%d",&n);
//k用于存储最小值
if(n<k) //n比k还小,则交换
{
a=n;
n=k;
k=a;
}
}
printf("%d",k);
return 0;
}