题目1:什么是指针函数?什么是函数指针?回答并举例
指针函数是函数变量为指针的函数;例:(int *p)a()
函数指针是指针指向的地址是函数;例:*p a()
题目2:用变量a给出下面的定义
a) 一个整型数 int a
b) 一个指向整型数的指针 int *p
c) 一个指向指针的的指针,它指向的指针是指向一个整型数 int *(*a)
d) 一个有10个整型数的数组 int a[10]
e) 一个有10个指针的数组,该指针是指向一个整型数的 int *a[10]
f) 一个指向有10个整型数数组的指针 int (*a)a[10]
g) 一个指向函数的指针,该函数有一个整型参数并返回一个整型数 int *a(int)
h) 一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数 int (*a[10])(int)
题目3:查找最小的k个元素(笔试题)
输入n个整数,输出其中最小的k个。
例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4
#include<stdio.h>
#include<stdlib.h>
void min(int *s,int a,int b);
int main()
{
int i,k,n;
printf("please input n:\n");
scanf("%d",&n);
int *p=(int*)malloc(sizeof(int)*n);
printf("please input n numbers:\n");
for(i=0;i<n;i++)
{
scanf("%d",p+i);
}
printf("please input k:\n");
scanf("%d",&k);
min(p,k,n);
return 0;
}
void min(int *s,int a,int b)
{
int i,j,tmp;
for(i=b-1;i>=0;i--)
{
for(j=0;j<i;j++)
{
if(*(s+i)<*(s+j))
{
tmp=*(s+j);
*(s+j)=*(s+i);
*(s+i)=tmp;
}
}
}
for(i=0;i<a;i++)
{
printf("%d ",*(s+i));
}
printf("\n");
}
文章标题
最新推荐文章于 2022-06-12 17:07:04 发布