P173习题8
第一题
#include
int main(void)
{
char ch;
int a[10];
int i,j,m;
printf("请输入10个整数:\n");
for(i=0;i<10;i++){
printf("请输入%d第个数:",i+1);
scanf("%d",&a[i]);
}
printf("请输入A或D:");
scanf(" %c",&ch);
if(ch=='A'){
for(i=0;i<9;i++){
for(j=i+1;j<10;j++){
if(a[i]>a[j]){
m=a[i];
a[i]=a[j];
a[j]=m;
}
}
}
}
else if(ch=='D'){
for(i=0;i<9;i++){
for(j=i+1;j<10;j++){
if(a[i]
m=a[i];
a[i]=a[j];
a[j]=m;
}
}
}
}
for(i=0;i<10;i++){
printf("%d ",a[i]);
}
return 0;
}
第二题
#include
int main(void)
{
int a[10];
int i,j,x;
int search(int list[],int i,int x);
printf("输入10个整数:");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
printf("输入一个整数x:");
scanf("%d",&x);
j=0;
for(i=0;i<10;i++){
if(search(a,i,x)!=-1){
j++;
printf("%d",search(a,i,x));
}
else;
}
if(j==0)
printf("-1");
return 0;
}
int search(int list[],int i,int x)
{
int j;
j=0;
if(x==list[i])
j++;
else;
if(j==0)
return -1;
else
return i;
}
第三题
#include
void houyi(int a[],int *p,int n,int m);
int main(void)
{
int a[20];
int i,m,n;
printf("请输入整数n:");
scanf("%d",&n);
printf("请输入%d个整数:",n);
for(i=0;i
scanf("%d",&a[i]);
printf("请输入您要后移的位数m:");
scanf("%d",&m);
houyi(a,a,n,m);
for(i=0;i
printf("%d",a[i]);
printf("\n");
return 0;
}
void houyi(int a[],int *p,int n,int m)
{
int i;
int b[20];
for(i=0;i
b[i]=a[i];
for(i=0;i
if(i<=n-m-1)
*(p+i+m)=b[i];
else
*(p+(i+m)%n)=b[i];
}
}
第四题
#include
void swap2(int *,int *);
void bubble(int a[],int n);
int main(void)
{
int n,a[8];
int i;
printf("Enter n(n<=8):");
scanf("%d",&n);
printf("Enter a[%d]:",n);
for(i=0;i
scanf("%d",&a[i]);
bubble(a,n);
printf("After sorted,a[%d]=",n);
for(i=0;i
printf("%3d",a[i]);
return 0;
}
void bubble(int a[],int n)
{
int i,j,m;
static int b[8];
for(i=1;