1.
#include "stdio.h"
int main()
{
char s[100],*p ,*q ;
puts("输入小于100个字符:");
gets(s);
for(p=s,q=s;*p!='\0';p++)
if(*p!='*')
*q++=*p;
*q='\0';
puts(s);
return 0;
}
2.
#include "stdio.h"
#define N 5
void main()
{
int a[N],i,t,*p,*q;
for(i=0;i
scanf("%d",&a[i]);
for(i=0;i
printf("%d ",a[i]);
for(p=a,q=a+N-1;p
{
t=*p;*p=*q;*q=t;
}
printf("\nAfter reverse:\n");
for(i=0;i
printf("%d ",a[i]);
}
3.
#include "stdio.h"
#define N 10
void main()
{
int a[N],i,t,*p,*q,max,min;
for(i=0;i
scanf("%d",&a[i]);
for(i=0;i
printf("%d ",a[i]);
p=q=&a[0];
for(i=0;i
{
if(a[i]>*p)
p=&a[i];
if(a[i]
q=&a[i];
}
t=a[0];a[0]=*q;*q=t;
t=a[N-1];a[N-1]=*p;*p=t;
printf("\nAfter change:\n");
for(i=0;i
printf("%d ",a[i]);
}
4.
#include "stdio.h"
float f(int *p);
#define N 10
void main()
{
int a[N],i;
for(i=1;i
scanf("%d",&a[i]);
f(a);
for(i=0;i
printf("%d ",a[i]);
}
float f(int *p)
{
int sum,i;
float ave;
sum=0;
for(i=1;i
sum=sum+*(p+i);
ave=(float)sum/(N-1);
*p=ave;
return ave;
}
5.
#include "stdio.h"
void copy(char *p,char *q,int m)
{
for(;*(p+m)!='\0';p++)
{
*q++=*(p+m);
}
*q='\0';
}
void main()
{
char s1[100],s2[100];
int m;
gets(s1);
printf("输入开始复制的位置:\n");
scanf("%d",&m);
puts(s1);
copy(s1,s2,m);
puts(s2);
}
6.
#include "stdio.h"
void main()
{
char s[100],*p;
int m_letter,m_digital,m_other;
m_letter=m_digital=m_other=0;
gets(s);
p=s;
for(;*p!='\0';p++)
{
if((*p>='a'&&*p<='z')||(*p>='A'&&*p<='Z'))
m_letter++;
else if(*p>='0'&&*p<='9')
m_digital++;
else
m_other++;
}
printf("%s 中出现字母%d次,出现数字%d次,出现其他字符%d次\n",s,m_letter,m_digital,m_other);
}
7.
#include "stdio.h"
void link(char *p1,char *p2,char *p3)
{
for(;*p1!='\0';)
{
*p3++=*p1++;
}
for(;*p2!='\0';)
{
*p3++=*p2++;
}
*p3='\0';
}
void main()
{
char s1[100],s2[100],s3[200];
int m;
gets(s1);
gets(s2);
puts(s1);
puts(s2);
link(s1,s