#include
#define ARR_LEN 30 //数组长度
void main()
{
int num[ARR_LEN]; //数组 用来保存1到40之间的数
int index; //循环索引
int minNum=40; //将最小值初始化为40
int place; //位置
for(index=1;index<=ARR_LEN;index++)
{
//如果输入的数不在范围内 则重新输入
while(1)
{
printf("输入数%d:",index);
scanf("%d",&num[index-1]);
//如果输入的数在范围内 则跳出内循环继续输入下一个数
if(num[index-1]>0 && num[index-1]<=40)
{
break;
}
else
{
printf("输入的数不在范围内,请重新输入\n");
}
}
//如果输入的数比最小值小 那么将当前的值赋给最小值
if(minNum>num[index-1])
{
minNum=num[index-1];
place=index;
}
}
printf("最小数是%d,位置是数组中的第%d个元素\n",minNum,place);
}
思路:
定义一个长度为40的整数数组number[40]。
从键盘循环输入40个整数,for循环输入,问题不大吧。
定义两个变量a,x
a = number[0] x =1,初始化
用for循环你的数组 number 并比较 a 与 number[i] 的值
当a < number[i] 时 将 a = number[i] 此时 x = i + 1
结束
#include
int main()
{
int a[30], i, idx;
for( i=0; i<30; i++ )
{
printf( "第%d个正数:", i+1 );
scanf( "%d", &a[i] );
}
min = a[0];
idx = 0;
for( i=0; i<30; i++ )
{
if ( min > a[i] )
{
min = a[i];
idx = i;
}
}
printf( "min = %d, index = %d\n", a[idx], idx );
}
#include
#define N 30
main()
{
int a[N],i,t,k=N-1;
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{
if(a[i] {
t=a[i];
a[i]=a[i+1];
a[i+1]=t;
k--; //记录min的位置
}
}
printf("min: a[%d]=%d\n",k,a[N-1]); //min为a[N-1]
}
#define N 30
int main()
{
int a[N], i, idx=0,min=41;
for(i=0;iscanf("%d",&a[i]);
for(i=0;i{
if(min>a[i])
{
min=a[i];
idx=i;
}
}
printf("min: a[%d]=%d\n",idx,min);
}