2023-12-8 课上练习(指针)

题目:定义函数inv将数组a中n个整数按相反顺序存放(逆置),用指针变量做实参

代码:
#define N 8
#include
void inv(int a[], int n)
{
	int i = 0, j = n - 1, t;
	for (; i < j; i++, j--)
	{
		t = a[i]; a[i] = a[j]; a[j] = t;
	}
}
int main()
{
	int a[N],*p;
	for(p=a;p
运行结果:
10 20 30 40 50 60 70 80
80 70 60 50 40 30 20 10

 题目:字符串表示

方法1:
代码:
#include
int main()
{
	int i;
	char*p="CHINA";
	for(i=0;p[i]!='\0';i++)
	{	printf("%c",p[i]);
	}
	printf("\n");
	return 0;
}
运行结果:
CHINA
方法2: 
代码:
#include
int main()
{
	char a[10]="CHINA",b[15];
	int i;
	for(i=0;a[i]!='\0';i++)
	{
		b[i]=a[i];
	}
	b[i]='\0';
	printf("%s\n",b);
	return 0;
}
运行结果: 
CHINA
方法3:
代码: 
#include
int main()
{
	char a[10]="CHINA",b[15];
	char *p=a,*q=b;
	for(;*p!='\0';p++,q++)
	{
		*q=*p;
	}
	*q='\0';
	printf("%s\n",b);
	return 0;
}
运行结果:
CHINA

题目:用函数实现字符串的复制

代码:
#include
void scopy(char *p,char *q)
{
	for(;*p!='\0';p++,q++)
	{
		*q=*p;
	}
	*q='\0';
}

int main()
{
	char a[10]="CHINA",b[15];
	scopy(a,b);
	printf("%s\n",b);
	return 0;
}
运行结果:
CHINA

题目:把字符串中的小写字母变成大写字母

代码:
#include
void upper(char* s)
{
	for (; *s != '\0'; s++)
	{
		if (*s >= 'a' && *s <= 'z')
			*s = *s - 32;
	}
}

int main()
{
	char a[] = "I am Spider Man";
	upper(a);
	printf("%s", a);
	return 0;
}
运行结果:
I AM SPIDER MAN

你可能感兴趣的:(算法)