C语言之指针

1、编写一个程序计算一个字符串的长度。

#include<stdio.h>

#include<string.h>

int main()

{

char s[40];

gets(s);

int c=strlen(s);

printf("%d",c);

return 0;

}

2、编一程序,将字符串中第m表字符开始的字符子串复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调函数中完成复制。

#include <stdio.h>

void copySubstring(char source[], int m, char destination[]);

int main() {

char inputString[100], copiedString[100];

int m;

printf("请输入字符串: ");

scanf("%s", inputString);

printf("请输入 m 的值: ");

scanf("%d", &m);

copySubstring(inputString, m, copiedString);

printf("复制结果: %s\n", copiedString);

return 0;

}

void copySubstring(char source[], int m, char destination[]) {

int i = m - 1;

int j = 0;

while (source[i] != '\0') {

destination[j] = source[i];

i++;

j++;

}

destination[j] = '\0';

}

3、编写一个函数,从键盘输入10个数存入数组data[10]中,同时设置一个指针变量p指向数组data,然后通过指针变量p对数组按照从小到大的顺序排序,最后输出其排序结果。

#include <stdio.h>

void sortArray(int *p, int size);

int main() {

int data[10];

printf("请输入10个整数:\n");

for (int j = 0; j < 10; j++) {

scanf("%d", &data[j]);

}

int *p = data;

sortArray(p, 10);

printf("排序结果:\n");

for (int i = 0; i < 10; i++) {

printf("%d ", data[i]);

}

return 0;

}

void sortArray(int *p, int size) {

for (int i = 0; i < size - 1; i++) {

for (int j = 0; j < size - 1 - i; j++) {

if (*(p + j) > *(p + j + 1)) {

int temp = *(p + j);

*(p + j) = *(p + j + 1);

*(p + j + 1) = temp;

}

}

}

}

相关推荐
Wendy14417 小时前
【线性回归(最小二乘法MSE)】——机器学习
算法·机器学习·线性回归
拾光拾趣录7 小时前
括号生成算法
前端·算法
棐木7 小时前
【C语言】动态内存管理
c语言·free·malloc·realloc·calloc·动态内存
渣呵8 小时前
求不重叠区间总和最大值
算法
拾光拾趣录8 小时前
链表合并:双指针与递归
前端·javascript·算法
好易学·数据结构8 小时前
可视化图解算法56:岛屿数量
数据结构·算法·leetcode·力扣·回溯·牛客网
香蕉可乐荷包蛋9 小时前
AI算法之图像识别与分类
人工智能·学习·算法
chuxinweihui10 小时前
stack,queue,priority_queue的模拟实现及常用接口
算法
tomato0910 小时前
河南萌新联赛2025第(一)场:河南工业大学(补题)
c++·算法
墨染点香10 小时前
LeetCode Hot100【5. 最长回文子串】
算法·leetcode·职场和发展