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;

}

}

}

}

相关推荐
二进制person3 小时前
Java SE--方法的使用
java·开发语言·算法
OneQ6664 小时前
C++讲解---创建日期类
开发语言·c++·算法
JoJo_Way4 小时前
LeetCode三数之和-js题解
javascript·算法·leetcode
码农不惑4 小时前
2025.06.27-14.44 C语言开发:Onvif(二)
c语言·开发语言
.30-06Springfield4 小时前
人工智能概念之七:集成学习思想(Bagging、Boosting、Stacking)
人工智能·算法·机器学习·集成学习
凌肖战6 小时前
力扣网C语言编程题:在数组中查找目标值位置之二分查找法
c语言·算法·leetcode
BreezeJuvenile7 小时前
数据结构与算法分析课设:一元多项式求值
c语言·课程设计·数据结构与算法分析·一元多项式计算
weixin_478689767 小时前
十大排序算法汇总
java·算法·排序算法
luofeiju7 小时前
使用LU分解求解线性方程组
线性代数·算法
学不动CV了7 小时前
数据结构---线性表理解(一)
数据结构