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;

}

}

}

}

相关推荐
L_0907几秒前
【Algorithm】Day-4
c++·算法·leetcode
代码充电宝7 分钟前
LeetCode 算法题【简单】20. 有效的括号
java·算法·leetcode·面试·职场和发展
海琴烟Sunshine8 分钟前
leetcode 119. 杨辉三角 II python
算法·leetcode·职场和发展
小杨的全栈之路9 分钟前
霍夫曼编码:数据压缩的核心算法详解(附图解 + 代码)
算法
cjinhuo22 分钟前
标签页、书签太多找不到?AI 分组 + 拼音模糊搜索,开源插件秒解切换难题!
前端·算法·开源
贝塔实验室25 分钟前
频偏估计方法--快速傅里叶变换(FFT)估计法
网络协议·算法·数学建模·动态规划·信息与通信·信号处理·傅立叶分析
一碗绿豆汤1 小时前
C语言-函数
c语言
闭着眼睛学算法1 小时前
【双机位A卷】华为OD笔试之【模拟】双机位A-新学校选址【Py/Java/C++/C/JS/Go六种语言】【欧弟算法】全网注释最详细分类最全的华子OD真题题解
java·c语言·javascript·c++·python·算法·华为od
玉夏1 小时前
【每日算法C#】爬楼梯问题 LeetCode
算法·leetcode·c#
学好statistics和DS1 小时前
【CV】泊松图像融合
算法·计算机视觉