C语言程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
void input(int* p) {
for (int i = 0; i < 10; ++i, ++p) {
printf("请输入第%d个数的值\n", i + 1);
scanf("%d", p);
}
}
void print(int* p) {
for (int i = 0; i < 10; ++i, ++p) {
printf("%d ", *p);
}
printf("\n");
}
void fun(int* q) {
int* p = q;
int* minp = p;
int* maxp = p;
int temp;
for (int i = 1; i < 10; ++i, ++p) {
if (*maxp < *p) {
maxp = p;
}
if (*minp > *p) {
minp = p;
}
}
temp = *maxp;
*maxp = *p;
*p = temp;
temp = *minp;
*minp = *q;
*q = temp;
}
void main() {
int arr[10];
int* p = arr;
input(p);
print(p);
fun(p);
print("最小值为",p[0]);
system("pause");
}
扩展资料:
程序思路:
(指针方法处理)输入十个整数, 将其中最小的数与第一个数对换,把最大的数与最后一个数对换,因此便可得到最小值为指针的第一个元素。
将程序分为三部分:输入、比较、输出,分别对应一个函数
1、输入十个数;
2、进行处理;
3、 输出最小值。
#include
#define N 10
int main()
{
int arr[N],min,i;
int *p=NULL; //定义一个int型指针变量
p=arr; //指针变量p指向数组arr
for(i=0;iscanf("%d",p+i); //输入数组元素
for(min=*p;p{
if(min>*p) //如果当前最小值大于当前元素,则将该元素赋值给min
min=*p;
}
printf("最小值= %d\n",min); //输出数组元素的最小值
return 0;
}
#include
#include
using namespace std;
int main()
{
int a[10];
for(int i=0;i<10;i++)
{
scanf("%d",&a[i]);
}
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
printf("%d %d",a[0],a[1]);
}