当前位置:
文档之家› 指针数组函数练习(含参考答案).
指针数组函数练习(含参考答案).
int i;
for(i=0;i
printf("%.0f\t",array[i];
Transfer(array,N;
printf("\n";
for(i=0;i
printf("%.0f\t",array[i];
printf("\n";
}
3.编写一个通用函数,该函数可以实现求数值型二维数组的上三角各元素的平方根的和(即先对上三角各元素求平方根,然后再对平方根求和)。编写主程序调用该函数,计算数组A的上三角元素的平方根的和。
scanf("%d",#
Transfer(num;
}
5.编写一个通用函数,该函数可以实现把一个十进制的正整数转换成七进制。例如把88转换成154。编写主程序调用该函数,把整数123455转换成七进制并输出。
注:把一个十进制的整数转换成七进制的方法是:把十进制数当作被除数,用7除,直到商为0为至,然后把余数倒序即可。例88除7的余数依次是4、5、1,则其七进制为:154。
注:把一个十进制的整数转换成二进制的方法是:把十进制数当作被除数,用2除,直到商为0为止,然后把余数倒序即可。例18除2的余数依次是0、1、0、0、1,则其二进制为:10010。
#include
void Transfer(int num
{
int a[100];
int count=0;
while(num!=0
return 1;
else
return 0;
}
void main(
{
int count=0;
long i;
for(i=10000;i<=99999;i++
if(Judge(i
count++;
printf("%d\n",count;
}
2.编写一个通用函数,该函数可以实现对数值型数组的倒序。倒序的含义是把数组的元素值前后颠倒。例数组:20,19,18,15,13,10倒序的结果为:10,13,15,18,19,20。编写主程序,数组初始化方式不限,并输出,然后调用该函数实现倒序后再输出倒序的结果。
{
if(num%2==0
a[count++]=0;
else
a[count++]=1;
num=num/2;
}
for(int i=count-1;i>=0;i--
printf("%d",a[i];
}
void main(
{
int num;
printf("Please input an integer:\n";
#include
void Transfer(int num
{
int a[100];
int count=0;
while(num!=0
{
a[count++]=num%7;
num=num/7;
}
for(int i=count-1;i>=0;i--
printf("%d",a[i];
}
void main({来自int num;上三角的含义:左上部分(包含对角线元素),如下二维数组的0元素区域即为上三角。
0 0 0 0 0
0 0 0 0 7
0 0 0 3 8
0 0 5 9 3
0 2 4 6 7
数组A的数据如下:
15 45 56 73 11
34 74 85 54 70
56 98 56 89 67
98 54 83 12 59
77 87 74 48 33
{
int m,t,h,s,g;
m=num/10000;
t=(num-m*10000/1000;
h=(num-m*10000-t*1000/100;
s=(num-m*10000-t*1000-h*100/10;
g=num-m*10000-t*1000-h*100-s*10;
if((m==g&&(t==s
作业(使用指针、数组、函数完成)
1.编写一个通用函数,该函数可以实现判断:一个含有五位数字的整数是否是回文数。回文数的含义是从左向右与从右向左看,数是相同的。如:23732是回文数,而23564则不是。编写主程序调用该函数实现求所有5位数字中满足条件的数的个数。
#include
int Judge(long num
#include
int num(double a[],int num
{
double *p;
p=a;
int count=0;
double sum=0,avg=0;
for(int i=0;i
sum+=*(p+i;
avg=sum/num;
for(i=0;i
if(*(p+i
count++;
return count;
}
void main(
{
double a[9]={3521,5647,6849,5962,4567,2361,1247,5241,1246};
printf("Please input an integer:\n";
scanf("%d",#
Transfer(num;
}
6.编写一个通用函数,该函数可以实现统计一维数组中小于数组元素平均值的元素个数。编写主程序调用该函数,统计数组A(数据为:3521,5647,6849,5962,4567,2361,1247,5241,1246)中小于平均值的元素个数。
34 , 74 , 85 ,54 , 70
56, 98 , 56 , 89 , 67,
98, 54 , 83, 12 , 59,
77 , 87, 74, 48, 33
};
double rootsum=Cal(a[0],5;
printf("%f\n",rootsum;
}
4.编写一个通用函数,该函数可以实现把一个十进制的正整数转换成二进制。例如把18转换成1010。编写主程序调用该函数,把整数123455转换成二进制并输出。
#include
#include
double Cal(double *a,int n
{
double *p;
p=a;
int i,j;
double sum=0;
for(i=0;i
for(j=0;j
sum+=sqrt(*(p+i*n+j;
return sum;
}
void main(
{
double a[5][5]={15, 45, 56 , 73 , 11,
#include
#define N 6
void Transfer(double *b,int n
{
double temp;
double *i=b;
double *j=b+n-1;
while(j>i
{
temp=*i;
*i=*j;
*j=temp;
i++;
j--;
}
}
void main(
{
double array[N]={20,19,18,15,13,10};