当前位置: 首页 > news >正文

个人学习编程(3-13) 刷题2

用malloc方法、realloc:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(){
    char *p;
    p = (char *)malloc(sizeof(char)*20);
    strcpy(p,"hello");
    printf("%s sizeof(p) = %zd\n",p,sizeof(p));

    char *q;
    q = (char *)realloc(p,sizeof(char)*20);
    strcat(q," Rsecret2");
    printf("%s sizeof(q) %zd\n",q,sizeof(q));

    free(p);  // 先释放原内存
    free(q);  // 再释放新内存

    return 0;
}

测量字符串长度

1、数组

2、指针

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int lenofString(char a[]){
    char *p;
    p = a;
    int count=0;
    while (*p != '\0'){
        count++;
        p++;
    }
    return 0;
}

int lenofString2(char *p){
    int count = 0;
    while (*p != '\0'){
        count++;
        p++;
    }
    return count;
}


int main(){
    int lenofString(char a[]);
    int lenofString2(char *p);
    //2种方法
    char a[]= "Rsecret hello";
    char *p = "hello Rsecret2";
    char *p;
    p = a;
    printf("lenofString测的字符串长度为:%d",lenofString(a));
    printf("lenofString2测的字符串长度为:%d",lenofString(p));
    
    
    return 0;
}

字符型减去整数 字符0的ascii是48

字符串0的ascii值为: 48
字符串9减去int类型9的值为: 48
--------------------------------
Process exited with return value 0
Press any key to continue . . .

#include <stdio.h>

int main(){
    char c='9';
    int cc = 9;
    char k = '0';
    printf("字符串0的ascii值为: %d\n",k);
    printf("字符串9减去int类型9的值为: %d",c-cc);
    
    return 0;
}

 判断一个奇数能有几个素数表示

 for (a = 1; a < n; a++) {
        if (prime(a) && prime(n - a)) {
            printf("%d 可被 %d 和 %d 表示\n", n, a, n - a);
            break;  // 找到就退出
        }
    }

#include <stdio.h>
#include <math.h>

// 判断是否为素数的函数
int prime(int n) {
    int i;
    if (n < 2) {
        return 0;  // 小于2的数字不是素数
    }
    if (n == 2) {
        return 1;  // 2 是素数
    }
    if (n % 2 == 0) {
        return 0;  // 偶数不是素数
    }
    for (i = 3; i <= sqrt(n); i += 2) {
        if (n % i == 0) {
            return 0;  // 如果能被 i 整除,则 n 不是素数
        }
    }
    return 1;  // 如果没有找到因数,则 n 是素数
}

int main() {
    int n;

    // 输入一个偶数
    scanf("%d", &n);
    while (n % 2 != 0) {
        printf("请输入一个偶数:");
        scanf("%d", &n);
    }

    printf("n = %d 是偶数\n", n);

    // 寻找两个素数之和为 n
    int a;
    for (a = 1; a < n; a++) {
        if (prime(a) && prime(n - a)) {
            printf("%d 可被 %d 和 %d 表示\n", n, a, n - a);
            break;  // 找到就退出
        }
    }

    return 0;
}

相关文章:

  • 深度学习环境配置指令大全
  • MAE:Masked Autoencoders Are Scalable Vision Learners——论文学习
  • 深度学习 bert与Transformer的区别联系
  • 手绘板工具:基于python以及pyqt5实现的手绘白板
  • 基于Redis+AOP+Lua脚本实现一个服务器限流机制
  • 【RTSP】客户端(二):SDP解析
  • MySQL再次基础 向初级工程师迈进
  • 计算机视觉领域开源数据集资源整理
  • 《DeepSeek 开源 DeepGEMM:开启AI计算新时代的密钥》
  • 深入理解JavaScript构造函数与原型链:从原理到最佳实践
  • 【算法】数据结构
  • Linux搜索---Which
  • (59)[羊城杯 2020]login
  • 人工智能之数学基础:线性变换及其机器学习领域中的应用
  • 浏览器崩溃的常见原因及排查方法
  • Linux网络套接字编程——UDP服务器
  • vue项目如何实现条件查询?
  • Word 小黑第21套
  • 市面上常用的23种设计模式,分析实现方式以及实际使用场景案例
  • 安卓实现魔改版 CRC32 算法
  • 苏州手机网站制作/网络推广哪个平台最好
  • 贵阳奇点未来网站建设/新网站怎么快速收录
  • 推广网站的步骤/seo搜索引擎优化方案
  • 外国人做旅游攻略网站/国际重大新闻事件2023
  • 宝安网站建设公司/医院网站建设方案
  • 商业设计理念/搜索优化指的是什么