c语言答案-指针

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1输入一字符串和一个数m(小于长度),把从m开始到结束的字符复制成另一个字符串。

#include

#include

main()

{ void cut();

char a[100],n[100];

int m;

gets(a);

scanf("%d",&m);

cut(a,m,n);

puts(n);

}

void cut( char *b,int n,char *s)

{

char *p;

p=b+n-1;

strcpy(s,p);

}

树琦

2、输入一个含一个空格的字符串,把以空格为分界的两个字符串重新连接,第二个字符串放在前面。

#include

#include

main()

{ void delk();

char a[100];

gets(a);

delk(a);

puts(a);

}

void delk(char *p)

{ int i;

char *h;

for(i=0;*(p+i)!=' ';i++);

h=p+i+1;

*(p+i)='\0';

strcpy(p,strcat(h,p));

}

树琦

3、输出20以内的勾股数,满足x*x+y*y=z*z,并要求:①每组出现一次②打印形式:3**2+4**2=5**2。

3 #include

main()

{ int i,j,k,a[20],*p;

for(i=0;i<20;i++)

a[i]=i+1;

p=a;

for(i=0;i<17;i++)

for(j=i+1;j<18;j++)

for(k=j+1;k<19;k++)

if(*(p+i)**(p+i)+*(p+j)**(p+j)==*(p+k)**(p+k))

printf("\t%d**2+%d**2=%d**2\n",*(p+i),*(p+j),*(p+k)); }

树琦

相关文档
最新文档