NO 1
#include <stdio.h>
void main()
{
char a[100],b[100],*p1=a,*p2=b;
int c,i;
printf("请输入一个字符串\n");
scanf("%s",a);
printf("请输入一个整数\n");
scanf("%d",&c);
printf("新的字符:");
for(i=0;i<c;i++)
{
*(p2+i)=*(p1+i);
}
*(p2+i)='\0';
printf("%s",p2);
}
NO 2
#include <stdio.h>
void fun( char *ss);
void main()
{
char a[100],*b=a;
printf("请输入一串字符串\n");
gets(a);
fun(b);
printf("反转后的字符串:%s\n",a);
}
void fun( char *ss)
{
int i,j,k;
for(i=0;*(ss+i)!='\0';i++);
printf("字符总数:%d\n",i);
for(j=0;j<(i/2);j++)
{
k=*(ss+i-1-j);
*(ss+i-1-j)=*(ss+j);
*(ss+j)=k;
}
}
NO 3
#include<stdio.h>
int max(int *x,int *y,int *z);
void main()
{
int a[4][3],*p=a[0],i,j;
printf("请输入12个数,每行3个数\n");
for(i=0;i<4;i++)
{
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
}
printf("%d\n%d\n%d\n%d\n",max(p,p+1,p+2),max(p+3,p+4,p+5),max(p+6,p+7,p+8),max(p+9,p+10,p+11));
}
int max(int *x,int *y,int *z)
{
int i,max=*x,j;
if(*y>max)
max=*y;
if(*z>max)
max=*z;
return *z;
}
NO 4
#include<stdio.h>
void main()
{
char a[100],*p1=a,b[100],*p2=b;
printf("请输入一个字符串\n");
gets(a);
for(;*p1!=0;p1++)
{
if(*p1>47&&*p1<58)
{
*p2=*p1;
p2++;
}
}
*p2='\0';
printf("数字:");
puts(b);
}