本文收录于专栏:【牛客网刷题记录】
专栏目的是对于刷题过程的记录,题型的列举和讲解,会持续输出,欢迎免费订阅!!
这是牛客网刷题记录专栏第一篇博文,先给大家简单介绍一下牛客网,牛客网是一个集笔面试系统、题库、课程教育、社群交流、招聘内推于一体的优质网站,牛客网题库中包含几万道题目,注重通过边学边练的模式揽获编程人员的喜爱
牛客网干净整洁的界面,人性化的布局,高质量的题库题解,丰富的大厂面试题,让我想把它分享给大家,推荐大家来牛客网刷题,链接我就放在这了有需要自取点击开始刷题
小Tips:注册完之后,不用填信息直接点X,开启刷题之旅~
指针
1.获取字符串长度
描述
键盘输入一个字符串,编写代码获取字符串的长度并输出,要求使用字符指针实现
输入描述:
键盘输入一个字符串
输出描述:
输出字符串的长度
示例1:
输入:helloworld
输出:10
代码
#include <iostream>
#include <string.h>
using namespace std;
int main() {
char str[100] = {
0 };
cin.getline(str, sizeof(str));
// write your code here......
scanf("%s",str);
char * p=str;
int count=0;
while(*p != '\0')
{
p++;
count++;
}
printf("%d\n",count);
return 0;
}
题解
先定义一个指针:指向字符数组,字符数组的数组名表示字符串首字符的地址
再定义一个计数器 让其为0,用while循环 从头开始遍历字符串 遍历一个让计数器加1个,直到遇到 \0 为止,最后打印出计数器的值,次计数器的值就是字符串的长度
2.编写函数实现两数交换(指针方式)
描述
编写一个函数,实现两个整数的交换,要求采用指针的方式实现
输入描述:
键盘输入2个整数 m 和 n
输出描述:
输出交换后m 和 n 的值,中间使用空格隔开
示例1:
输入:2
3
输出:3 2
代码
#include <iostream>
using namespace std;
int main() {
int m, n;
cin >> m;
cin >> n;
// write your code here......
swap(m, n);
cout << m << " " << n << endl;
return 0;
}
void swap(int &m, int &n)
{
int temp = m;
m = n;
n = temp;
}
题解
这个指针方式很简单,交换一下就ok了
3.利用指针遍历数组
描述
键盘随机输入 6 个整数,将这些数据保存到数组中,利用指针遍历数组中的元素并打印
输入描述:
键盘随机输入 6 个整数
输出描述:
输出数组中的所有元素,每个元素中间使用空格隔开
例如:10 20 30 40 50 60
示例1:
输入:
10
20
30
40
50
60
输出:10 20 30 40 50 60
代码
#include <iostream>
using namespace std;
int main() {
int arr[6] = {
0 };
int* ptr = arr;
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
for (ptr ; ptr < arr + len ; ptr++)
{
cout << *ptr<< " ";
}
return 0;
}
题解
利用指针遍历数组, 数组名是数组首元素的地址,就可以访问每一个元素的值
4.牛牛的新数组求和
描述
牛牛学习了指针相关的知识,想实现一个 int cal(int *array,int n) 的函数求出长度为 n 的数组的和
输入描述:
第一行输入一个正整数 n ,表示数组的长度
第二行输入 n 个正整数,表示数组中每个数字的值
输出描述:
实现 int cal(int *array,int n) 求出数组array的和
示例1:
输入:5
2 8 1 9 5
输出:25
代码
#include <iostream>
using namespace std;
int cal(int *array, int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += *(array + i);
}
return sum;
}
int main() {
int n = 0;
int arr[50];
cin >> n;
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int sum = cal (arr, n);
cout << sum << endl;
return 0;
}
题解
定义一个cal函数实现用指针提取数组array中的数再求和
文章评论