一维数组及字符串

数组
获取或打印数组中元素putchar(),getchar()
int arr[100] 100个随机值
int arr[100] = {1,2} 数组中其余值为数据类型的默认值
arr代表数组arr[]的首地址
在函数中传数组时用int* arr来传数组的首地址
求数组元素个数:sizeof(arr)/sizeof(arr[0]) //在同一作用域下

字符串
定义字符串
int str[] = {‘w’,‘a’,‘g’,‘x’} / int str[] = “wagx”;
求字符串元素个数 :sizeof(str)/sizeof(str[0])求得的字符串个数要加/0 用函数strlen(str)求得的函数不需要加/0
例 int str[] = “/12345/n/t6/078/abcd” 分解为 /123 4 5 /n /t 6 /07 8 /a b c d /0
用 sizeof(str)/sizeof(str[0])求得的结果为 13 用strlen求得的结果为12

转义字符
在这里插入图片描述
定义一个数组,查找数组元素中是否包含value
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<assert.h>

bool IsExitvalue(int* arr, int Value,int len){
int arr[] = { 0,2,3,4,5,6,2,3,4 };
int Value = 6;
for (int i; i < len; i++) {
if (arr[i] == Value) {
return true;//break;
}
}
return false;
}
int main() {
int arr[] = { 0,2,3,4,5,6,2,3,4 };
int Value = 6;
int len = sizeof(arr) / sizeof(arr[0]);
if (IsExitvalue(arr, Value,len)) {
printf(“存在”);
}
printf(“不存在”);

return 0;

}

/给定数组{1,2,3} 添加一个元素 value0 {0,1,2,3}
value待删数据 len数组总大小 index 待插下标 size有效数据个数
void AddValue(int*arr,int value,int len,int index,int size) {
assert(arr != NULL && len > 0 && index < len && size < len);
//移动数据
for (int i = size - 1; i >= index; i --) {
arr[i+1] = arr[i];
}
//插入元素
arr[index] = value;
}
int main() {
int arr[10] = { 1,2,3 };
int value = 0;
int len = sizeof(arr) / sizeof(arr[0]);
AddValue(arr, value, len,0,3);
return 0;
}

//删除一个数组中一个指定的元素
int DeValue(int* arr,int value,int len) {
int count = 0;
for (int i = 0; i < len - count;i++) {
if (arr[i] == value) {
if (len - 1 == i) {
count = count + 1;
return count;
}
count++;
for (int j = i; j < len-1; j++) {
arr[j] = arr[j+1];
}
i–;
}
}
return count;
}

int main() {
int arr[] = { 2,2,2,2,3,4,6,3,7,3,2 };
int value = 2;
int len = sizeof(arr) / sizeof(arr[0]);
int de_num = len - DeValue(arr, value, len);
for (int k = 0; k < de_num; k++) {
printf(“%d”, arr[k]);
}
return 0;
}
//统计数组中指定元素的个数
int count(char* str,char value,int len) {
int count = 0;
for (int i = 0; i < len; i++) {
if (str[i] == value) {
count++;
}
}
return count;
}

int main() {
char str[] = “abchellohello”;
char value = ‘l’;
int len = sizeof(str) / sizeof(str[0]);
printf(“%d”, count(str, value, len));
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值