(1)功能:为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。
#include <stdio.h>
void input(int *arr,int n)
{
int *p,i;
p=arr;
printf("please enter 10 integers:\n");
for(i=0;i<n;i++)
/**********ERROR**********/
scanf("%d",p);
}
void max_min(int *arr,int n)
{
int *min,*max,*p,t;
min=max=arr;
for(p=arr+1;p<arr+n;p++)
/**********ERROR**********/
if(*p<*max)
max=p;
else if(*p<*min) min=p;
t=*arr;*arr=*min;*min=t;
/**********ERROR**********/
if(max=arr) max=min;
t=*(arr+n-1);
*(arr+n-1)=*max;
*max=t;
}
void output(int *arr,int n)
{
int *p,i;
p=arr;
printf("The changed array is:\n");
/**********ERROR**********/
while(i=0;i<n;i++)
printf("%3d",*p++);
printf("\n");
}
main()
{
int a[10];
input(a,10);
max_min(a,10);
output(a,10);
}
(2)功能:将s所指字符串的反序和正序进行连接形成一个新串放在t所指的数组中。
例如:当s所指的字符串的内容为"ABCD"时,t所指数组中的内容为"DCBAABCD"。
#include <conio.h>
#include <stdio.h>
#include <string.h>
/**********FOUND**********/
void fun (char s, char t)
{
int i, d;
/**********FOUND**********/
d = len(s);
/**********FOUND**********/
for (i = 1; i<d; i++)
t[i] = s[d - 1 - i ];
for (i = 0; i<d; i++)
t[ d + i ] = s[i];
/**********FOUND**********/
t[2*d] = '/0';
}
main()
{
char s[100], t[100];
printf("\nPlease enter string S:");
scanf("%s", s);
fun(s, t);
printf("\nThe result is: %s\n", t);
}