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

个人学习编程(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;
}


http://www.kler.cn/a/584154.html

相关文章:

  • Linux下用多进程在GPU上跑Pytorch模型问题
  • python -面试题--算法
  • 安科瑞ACCU-100微电网协调控制器:助力绿色能源系统运行
  • JVM之基础知识
  • 以实现生产制造、科技研发、人居生活等一种或多种复合功能的智慧油站开源了
  • 蓝桥杯 互质数的个数
  • Axure RP下载安装和简单使用教程
  • 浙江大学:DeepSeek行业应用案例集(153页)(文末可下载PDF)
  • Python爬虫:从人民网提取视频链接的完整指南
  • 使用1Panel一键搭建WordPress网站的详细教程(全)
  • 力扣hot100二刷——链表
  • 【Linux 指北】常用 Linux 指令汇总
  • 强化学习(赵世钰版)-学习笔记(7.时序差分学习)
  • Centos离线安装openssl
  • DeepSeek-prompt指令-当DeepSeek答非所问,应该如何准确的表达我们的诉求?
  • 单体架构、微服务组件与解决方案
  • 【计量地理学】实验二 经典统计分析方法
  • ⭐算法OJ⭐汉明距离【位操作】(C++ 实现)Hamming Distance
  • Ubuntu24.04 LTS 版本 Linux 系统在线和离线安装 Docker 和 Docker compose
  • Spring MVC面试题(一)