c语言答案-指针
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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)); }
树琦