首页 > 其他分享 >实验5

实验5

时间:2023-11-27 19:25:04浏览次数:27  
标签:int s1 char 地址 实验 str printf

一、1-1、① 使最大值、最小值赋值到对应指针变量

                ②全部指向 X首元素地址

       1-2、①最大值地址

                ②可以

二、2-1、①24     数组s1占用字节数    数组s1长度

                ②不能  数组s1没有初值和大小,不能正常创建

                ③是

       2-2、①字符串 “。。。happy” 的地址      指针变量s1的大小     字符串 “。。。happy” 的长度

                ②可以   前者为给数组s1赋值,后者为把 “。。。happy” 的地址赋值给指针s1

                ③指针s1、s2中存储的地址     没有

三、3-1、①输出2将 X首元素地址 赋值给ptr1,再按地址顺序不断输出

                   输出3将 X地址(即首元素地址)赋值给ptr2,*ptr2+j 还是地址,需要再次*

四、4-1、①按地址顺序,把所有和 oldchar 样的字符换成 newchar

                ②可以

       4-2、

#include <stdio.h>
#define N 80

void str_trunc(char *str, char x);

int main() {
    char str[N];
    char ch;

    printf("输入字符串: ");
    gets(str);

    printf("输入一个字符: ");
    ch = getchar();

    printf("截断处理...\n");
    str_trunc(str, ch);

    printf("截断处理后的字符串: %s\n", str);

}

void str_trunc(char *str, char x) {
    while(*str)
    {
        if(*str == x)
        {
            *(str) = '\0';
            break;
        }
        str++;
    }
}

 

 

 

五、5、①指针变量的值

六、6-1、

 

#include <stdio.h>
#include <string.h>
#define N 5

int check_id(char *str); // 函数声明

int main() {
    char *pid[N] = {"31010120000721656X",
                    "330106199609203301",
                    "53010220051126571",
                    "510104199211197977",
                    "53010220051126133Y"};
    int i;

    for (i = 0; i < N; ++i)
        if (check_id(pid[i])) // 函数调用
            printf("%s\tTrue\n", pid[i]);
        else
            printf("%s\tFalse\n", pid[i]);

    return 0;
}

// 函数定义
// 功能: 检查指针str指向的身份证号码串形式上是否合法。
// 形式合法,返回1,否则,返回0
int check_id(char *str)
{
    int l=0;
    while(*str)
    {
        if( *str<'0' || *str>'9')
        {
            if( *str != 'X')
                return 0;
        }
        str++;
        l++;
    }
    
    if(l != 18)
        return 0;
    else
        return 1;
}

 

 

 七

#include <stdio.h>
#define N 80
void encoder(char *str); 
void decoder(char *str); 

int main() {
    char words[N];

    printf("输入英文文本: ");
    gets(words);

    printf("编码后的英文文本: ");
    encoder(words); 
    printf("%s\n", words);

    printf("对编码后的英文文本解码: ");
    decoder(words); 
    printf("%s\n", words);

    return 0;
}

void encoder(char *str)
{
    while(*str)
    {
        if( (*str>='a' && *str<='y') || (*str>='A' && *str<='Y'))
            *str += 1;
        else if( *str == 'z' || *str == 'Z')
            *str -= 25;
        str++;
    }
}

void decoder(char *str)
{
    while(*str)
    {
        if( (*str>='b' && *str<='z') || (*str>='B' && *str<='Z'))
            *str -= 1;
        else if( *str == 'a' || *str == 'A')
            *str += 25;
        str++;
    }
}

 

 
#include <stdio.h>

int main(int argc, char *argv[]) {
    int i;

    for(i = 1; i < argc; ++i)
        printf("hello, %s\n", argv[i]);

    return 0;
}

 

 

 

标签:int,s1,char,地址,实验,str,printf
From: https://www.cnblogs.com/5464665465L/p/17859845.html

相关文章

  • 实验5
    任务1#include<stdio.h>#defineN5voidinput(intx[],intn);voidoutput(intx[],intn);voidfind_min_max(intx[],intn,int*pmin,int*pmax);intmain(){inta[N];intmin,max;printf("录入%d个数据:\n",N);input(a......
  • 实验五
    实验一找到最大最小的数;都指向x(a)数组首元素;找出数组中最大值;不可以,作用域结束,函数内的数组所占内存空间释放,指针变为野指针;实验二:s1的大小是24;sizeof是数组所占字节数;strlen统计字符个数不算‘\0’;不可以,s1的地址是const类型,而后面的字符串返回的是他的地址,s1不可改变无法......
  • 实验4 现代C++标准库与类模板
    实验任务5TextCoder.hpp#pragmaonce#include<iostream>#include<string>usingnamespacestd;classTextCoder{public:TextCoder(stringtext0):text{text0}{};stringget_ciphertext();stringget_deciphertext();private:s......
  • 实验4 现代C++标准库与类模板
    实验任务5#pragmaonce#include<iostream>#include<string>usingnamespacestd;classTextCoder{public:TextCoder()=default;TextCoder(stringstr);stringget_ciphertext();stringget_deciphertext();~TextCoder()=de......
  • 实验4 现代C++标准库与类模板
    实验任务5TextCoder.hpp源码1#include<iostream>2#include<string>34usingstd::string;56classTextCoder{7private:8stringtext;9voidencoder();10voiddecoder();11public:12TextCod......
  • 设计模式实验
    软件设计                 石家庄铁道大学信息学院 实验21:观察者模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解观察者模式的动机,掌握该模式的结构;2、能够利用观察者模式解决实际问题。    [实验任务一]:股票提醒......
  • 编译原理实验
      熟了词法分析、语法分析、语义分析进行整合,构造完整的应用程序。熟悉了软件的重构。......
  • Meterpreter框架使用实验
     一.实验目的与配置了解漏洞复现的基本流程和方法熟悉永恒之蓝的漏洞原理及其利用熟悉Metasploit框架的使用及其相关的命令 二.实验环境Win7虚拟机一台,kali虚拟机一台 三.实验工具VMWare、NMap、Metasploit 四.实验步骤搭建测试环境,将kali作为攻击主机、win7_x......
  • 实验10:组合模式
    实验10:组合模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解组合模式的动机,掌握该模式的结构;2、能够利用组合模式解决实际问题。 [实验任务一]:组合模式用透明组合模式实现教材中的“文件夹浏览”这个例子。实验要求:1. 类图如下  2. 源代码以及......
  • 实验9:桥接模式
    实验9:桥接模式本次实验属于模仿型实验,通过本次实验学生将掌握以下内容:1、理解桥接模式的动机,掌握该模式的结构;2、能够利用桥接模式解决实际问题。 [实验任务一]:两个维度的桥接模式用桥接模式实现在路上开车这个问题,其中,车可以是car或bus,路可以是水泥路或沥青路。实验要求......