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;
}
}
}
}