第七讲
第一题
利用字符指针将输入的一个字符串中的大小写字母相互转换,并输出转换后的字符串的内容。如,假设输入的字符串的内容为“How are you”,则转换后的内容为“hOW ARE YOU”
代码片
.
//
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
char s[100], *p = s;
gets_s(s);
while (*p != '\0')
{
if (*p != ' ')
{
if (*p <= 'z'&&*p >= 'a')
*p = *p + 'A' - 'a';
else if(*p <= 'Z'&&*p >= 'A')*p = *p - 'A' + 'a';
}
*p++;
}
puts(s);
system("pause");
}
}
第二题
利用字符指针将字符串s中从第n个字符开始的内容复制到字符串t中
代码片
.
//
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
char s[100],a[100],*p;
gets_s(s);
int n,i=0;
cout << "从第几个字符开始复制?";
cin >> n;
p = &s[n-1];
while (*p!='\0')
{
a[i++] = *p++;
}
a[i] = '\0';
i = 0;
while (a[i] != '\0')
{
cout << a[i++];
}
system("pause");
}
第三题
利用指针将一个包含10个整数的数组中的最大最小元素进行交换,并输出交换后的内容。10个整数为随机产生的0~100之间的数。
代码片
.
//
#include<iostream>
#include<stdio.h>
using namespace std;
int main()
{
int s[10], *p,i,max,min,m,n;
for ( i = 0; i < 10; i++)
{
s[i] = rand() % 101;
}
max = s[0];
min = s[0];
for (i = 0; i < 10; i++)
{
cout<<s[i]<<' ' ;
}
int *p1=&min , *p2=&max, *p3=&i;
cout << endl;
for