该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
31.#include
#include
int main()
{
int i,n,a[101];
printf("用筛选法得到100以下的素数为:\n");
for(i=0;i<101;i++)
a[i]=i;
for(i=2;i<101;i++)
if(a[i]!=0)
for(n=2;n*i<101;n++)
a[i*n]=0;
for(i=2;i<101;i++)
if(a[i]!=0)
printf("%3d",a[i]);
printf("\n");
return 0;
}
32. #include
int main()
{
char str1[20],str2[80];
int i=0,j=0;
printf("请输入第一个字符串:\n");
gets(str1);
printf("请输入第二个字符串:\n");
gets(str2);
printf("将字符串二连接到一的结果 为:\n");
while(str1[i]!='\0')
i++;
for(j;j<20||str2[j]!='\0';i++,j++)
str1[i]=str2[j];
puts(str1);
return 0;
}
33. #include
int main()
{
int strcmp(char *p1,char *p2);
char str1[50],str2[50];
int k;
printf("请输入字符串一:\n");
gets(str1);
printf("请输入字符串二:\n");
gets(str2);
k=strcmp(str1,str2);
if(k==0)
printf("两个字符串相等\n");
else if(k>0) printf("字符串一大于字符串二\n");
else printf("字符串二大于字符串一\n");
return 0;
}
int strcmp(char *p1,char *p2)
{
int i=0;
while(*(p1+i)==*(p2+i))
if(*(p1+i++)=='\0')
return (0);
return (*(p1+i)-*(p2+i));
}
34. #include
int main()
{
void compare(int *p1,int *p2,int *p3);
int *p,i,a[3];
p=a;
printf("请输入三个整数:");
for(i=0;i<3;i++)
scanf("%d",p+i);
compare(p,p+1,p+2);
printf("从小到大的排序结果为:%5d%5d%5d\n",*p,*(p+1),*(p+2));
return 0;
}
void compare(int *p1,int *p2,int *p3)
{int temp;
if(*p1>*p2)
{ temp=*p1; *p1=*p2; *p2=temp; }
if(*p1>*p3)
{ temp=*p1; *p1=*p3; *p3=temp; }
if(*p2>*p3)
{ temp=*p2; *p2=*p3; *p3=temp; } }
35. #include
int main()
{
void compare(int *p1,int *p2,int *p3);
int *p,i,a[3];
p=a;
printf("请输入三个整数:");
for(i=0;i<3;i++)
scanf("%d",p+i);
compare(p,p+1,p+2);
printf("从大到小的排序结果为:%5d%5d%5d\n",*p,*(p+1),*(p+2));
return 0;
}
void compare(int *p1,int *p2,int *p3)
{int temp;
if(*p1
{ temp=*p1; *p1=*p2; *p2=temp; }
if(*p1
{ temp=*p1; *p1=*p3; *p3=temp; }
if(*p2
{ temp=*p2; *p2=*p3; *p3=temp; } }
36#include
int main(){
int i,temp,b[10]={1,2,3,4,5,6,7,8,9,10};
int *p;
p=b;
for(i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");
for(i=0;i<9-i;i++)
{
temp=*(p+i);
*(p+i)=*(p+9-i);
*(p+9-i)=temp;
}
printf("原数组元素逆序存放的结果为:\n");
for(i=0;i<10;i++)
printf("%d ",b[i]);
printf("\n");
return 0;
}
37. #include
int main()
{ int i;
char str1[80],*p;
printf("请输入字符数组:\n");
p=str1;
gets(str1);
printf("删除空格后的结果为:\n");
for(i=0;str1[i]!='\0';i++)
if(*(p+i)!=' ')
printf("%c",*(p+i));
printf("\n");
return 0;
}
38. #include
int main()
{ int i,j,a[10],*p,temp;
p=a;
printf("请输入是个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(*(p+i)
{temp=*(p+i); *(p+i)=*(p+i+1);*(p+i+1)=temp;}
printf("冒泡法按从大到小的结果为:\n");
for(i=0;i<10;i++)
printf("%5d",a[i]);
printf("\n");
return 0;
}
39. #include
int main()
{
int a[10];
int i,j,k,temp,*p;
p=a;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++){
k=i;
for(j=i+1;j<10;j++){
if(*(p+j)
}
if(k!=i){
temp=*(p+i);
*(p+i)=*(p+k);
*(p+k)=temp;
}
}
printf("\n");
printf("选择法从小到大的排列结果为:\n");
for(i=0;i<10;i++) printf("%d ",a[i]);
printf("\n");
return 0;
}
40. #include
int main()
{
char str1[80],str2[80],*pa,*pb;
int i;
printf("请输入数组str1:\n");
gets(str1);
pa=str1;pb=str2;
printf("复制到数组str2:\n");
for(i=0;*(pa+i)!='\0';i++)
{*(pb+i)=*(pa+i);
printf("%c",*(pb+i));}
*pb='\0';
printf("\n");
return 0;
}