(1)有N个个位正整数存放在int型数组A[0, … N-1]中,N为已定义的常量且N≤9,数组A [ ]
的长度为N,另给一个int 型变量i,要求只用上述变量(A[0]~A[N-1]与i, 这N+1个整型变量)写一
个算法,找出这N个整数中的最小者,并且要求不能破坏数组A[ ]中的数据。
#include<stdio.h>
int main()
{
int a[5] = { 3,8,5,7,2 };
int n = 5;
int i = a[0];
while (i / 10 <= n - 1) //取i的十位上的数字作为循环变量,与n-1比较
{
if (i % 10 > a[i / 10]) //取的各位上的数字与a[i/10]中的个数字比较
{
i = i - i % 10; //如果i的个位上的数字大于a[i/10]中的数字,
i = i + a[i / 10]; //将i的个位上的数字换成a[i/10]
}
i = i + 10; //i的十位上的数字加上1,即将对a[]中的下一个数字进行检查
}
i = i % 10;
printf("%d", i);
return 0;
}