#includestdio.h
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供岑溪網(wǎng)站建設(shè)、岑溪做網(wǎng)站、岑溪網(wǎng)站設(shè)計(jì)、岑溪網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、岑溪企業(yè)網(wǎng)站模板建站服務(wù),十余年岑溪做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
//第一題函數(shù),數(shù)組形參的復(fù)制
void copy_array( double source[], double destination[], int len)
{
int i=0;
for(; ilen; i++)
{
destination[i]=source[i];
}
}
//第一題函數(shù),指針形參的復(fù)制
void copy_ptr( double *source, double *destination, int len)
{
int i=0;
for(; ilen; i++)
{
*(destination+i) = *(source+i);
}
}
//第二題函數(shù),最大值最小值之差
double dif( double array[], int len )
{
double max=*array, min=*array;
int i=0;
for(; ilen; i++)
{
if( max*(array+i) )
max = *(array+i);
else
min = *(array+i);
}
return (max-min);
}
//第四題函數(shù),兩個(gè)等長(zhǎng)數(shù)組相加,保存在第三個(gè)數(shù)組
void add( double result[], double arg1[], double arg2[], int len )
{
int i=0;
for(; ilen; i++)
{
*(result+i)=*(arg1+i)+*(arg2+i);
}
}
int main(void)
{
double source[4] = {1,2.3,4.5,6.7};
double destination1[4];
double destination2[4];
double destination3[3][4];
double result[4];
int i, j;
//驗(yàn)證第一題,拷貝兩個(gè)數(shù)組并分別輸出
copy_array(source, destination1, 4);
copy_ptr(source, destination2, 4);
printf("1\n");
for(i=0; i4; i++)
{
printf("%lf ", destination1[i]);
}
printf("\n");
for(i=0; i4; i++)
{
printf("%lf ", *(destination2+i));
}
printf("\n\n");
//第一題驗(yàn)證結(jié)束
//第二題驗(yàn)證,打印數(shù)組source最大值最小值之差
printf("2\n");
printf("%lf\n\n", dif(source, 4));
//第二題驗(yàn)證結(jié)束
//第三題驗(yàn)證,將source數(shù)組的成員分次拷貝到二維數(shù)組destination3中,并打印
for(i=0; i3; i++)
{
copy_ptr(source, destination3[i], 4);
}
printf("3\n");
for(i=0; i3; i++)
{
for(j=0; j4; j++)
{
printf("%lf ", *(*(destination3+i)+j));
}
printf("\n");
}
printf("\n\n");
//第三題驗(yàn)證結(jié)束
//第四題驗(yàn)證,將destination1與destination2相加并輸出
add( result, destination1, destination2, 4);
printf("4\n");
for(i=0; i4; i++)
{
printf("%lf ", result[i]);
}
//第四題驗(yàn)證結(jié)束
return 0;
}
我很懶,所以把所有的函數(shù)和驗(yàn)證都寫到一個(gè)文件里了,如果實(shí)在需要,你自己分開一下吧,也就是多聲明幾個(gè)數(shù)組而已。
第三題好像是這樣,哈哈,因?yàn)椤皌he copy functions from exercise 5”我不知道是不是指第一題的函數(shù)之一,而且sub-arrays也不知道要不要轉(zhuǎn)置。
第1題
原程序不能實(shí)現(xiàn)pt1指向a和b的大者,pt2指向小者的目的,
應(yīng)該把指向int型的指針p改成int型,只需改變相應(yīng)的交換程序,其它不用變.
改正后的完整的C語(yǔ)言程序如下(改動(dòng)的地方見注釋)
#includestdio.h
void swap(int *p1,int *p2)
{
int p;//這里定義int型變量p
p=*p1;*p1=*p2;*p2=p;//這里改變相應(yīng)的交換程序
}
void main(void)
{
int a,b;int *pt1,*pt2;
scanf("%d,%d",a,b);
pt1=a;pt2=b;
if(ab) swap(pt1,pt2);
printf("%d,%d \n",*pt1,*pt2);
}
第2題
第一空填 -1
第二空填 *sn
#includestdio.h
void fun(float *sn,int n)
{
float s=0.0,w,f=-1.0;
int i=0;
for(i=0;i=n;i++)
{
f=-1*f;//這里第一空填 -1
w=f/(2*i+1);
s+=w;
}
*sn=s;//這里第二空填 *sn
}
int main()//補(bǔ)充的主函數(shù)
{
float sn;
int n=10;
fun(sn,n);
printf("數(shù)列的前%d項(xiàng)計(jì)算結(jié)果S=%f",n+1,sn);
return 0;
}
第3題
分析 用二維數(shù)組指針p打印二維數(shù)組的每一行字符串
#include "stdio.h"
main()
{
char a[4][5]={"ABCD","EFGH","IJKL","MNOP"};
char (*p)[5];
int i,j;
p=a;
for(i=0;i4;i++)
{
for(j=0;j4;j++) printf("%c",*(*(p+i)+j));
printf("\n");
}
}
將程序第9行中的"%c"改成"%s",則改變后的程序如下(改動(dòng)的地方見注釋)
#include "stdio.h"
main()
{
char a[4][5]={"ABCD","EFGH","IJKL","MNOP"};
char (*p)[5];
int i,j;
p=a;
for(i=0;i4;i++)
{
printf("%s",*(p+i));//這里去掉for_j循環(huán)
printf("\n");
}
}
// ConsoleApplication3.cpp : 定義控制臺(tái)應(yīng)用程序的入口點(diǎn)。
#include "stdafx.h"
void upCopy(char* new1, char* old)
{
while (*old)
{
if (65=*old *old= 90) *new1++=*old;
old++;
}
*new1=0;
}
int main()
{
char s1[140]; //="";
char s0[]="foiwABEifjCDB";
upCopy(s1, s0);
printf("(%s%s",s1,")");
getchar();
return 0;
}
分享文章:c語(yǔ)言函數(shù)指針數(shù)組的例題 c語(yǔ)言函數(shù)指針數(shù)組用法
URL標(biāo)題:http://m.rwnh.cn/article16/doohddg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄、響應(yīng)式網(wǎng)站、用戶體驗(yàn)、靜態(tài)網(wǎng)站、小程序開發(fā)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)