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;

}

}

}

}

相关推荐
ZoeJoy836 分钟前
算法筑基(二):搜索算法——从线性查找到图搜索,精准定位数据
算法·哈希算法·图搜索算法
Alicx.41 分钟前
dfs由易到难
算法·蓝桥杯·宽度优先
_日拱一卒1 小时前
LeetCode:找到字符串中的所有字母异位词
算法·leetcode
云泽8081 小时前
深入 AVL 树:原理剖析、旋转算法与性能评估
数据结构·c++·算法
Wilber的技术分享2 小时前
【LeetCode高频手撕题 2】面试中常见的手撕算法题(小红书)
笔记·算法·leetcode·面试
邪神与厨二病2 小时前
Problem L. ZZUPC
c++·数学·算法·前缀和
梯度下降中3 小时前
LoRA原理精讲
人工智能·算法·机器学习
IronMurphy4 小时前
【算法三十一】46. 全排列
算法·leetcode·职场和发展
czlczl200209254 小时前
力扣1911. 最大交替子序列和
算法·leetcode·动态规划
靴子学长4 小时前
Decoder only 架构下 - KV cache 的理解
pytorch·深度学习·算法·大模型·kv