首页 > 其他分享 >实验五

实验五

时间:2023-12-03 22:15:12浏览次数:22  
标签:words int else char 实验 str printf

实验1

 

 

功能是分别找到输入数中的最小值和最大值

两者都指向x[0]

功能是找到最大数,返回的是最大数的地址

可以,因为改变之后返回的也是最大值的地址

 

实验2

 

 

s1大小是24个字节,sizeof以字节为单位返回一个变量,表达式或类型的长度,

strlen是计算字符串长度的,不包含结尾符号‘\0’

不能,因为定义数组s1时,没规定长度

内容交换了

sizeof(s1)可能是4或8,看指针变量在不同计算机中所占字节数

strlen(s1)同上

可以,一个是定义数组内容,一个是将指针指向一个字符串的地址

实验3

一个代替数组名称的指针

一个指针数组

实验四

将字符串中的某个旧字符该成新字符

不可以,那样的话新的字符串末尾没有结束符号

 

实验5

交换的是指针变量的值

实验六

#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 a=1;
    	if(strlen(str)!=18)
    	return 0;
    		//a=0;
    	int i;
    	for(i=0;i<18;i++)
    	{
    		if(str[i]<48||str[i]>57)
    		{
    			if(str[i]!=88)
    			{
    				return 0;
    			//	a=0;
    			//break;
				}
			}
		}
		
    
	
	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;
}

/*函数定义
功能:对s指向的字符串进行编码处理
编码规则:
对于a~z或A~Z之间的字母字符,用其后的字符替换; 其中,z用a替换,Z用A替换
其它非字母字符,保持不变
*/
void encoder(char *str) {
    while(*str)
    {
        if((*str<122&&*str>=97)||(*str<90&&*str>=65))
        {
            *str+=1;
        }
        else if(*str=122)
            *str=97;
        else if(*str=90)
            *str=65;
        else
            *str=*str;
        str++;
    }
    
}

/*函数定义
功能:对s指向的字符串进行解码处理
解码规则:
对于a~z或A~Z之间的字母字符,用其前面的字符替换; 其中,a用z替换,A用Z替换
其它非字母字符,保持不变
*/
void decoder(char *str) {
        while(*str)
    {
        if((*str<=122&&*str>97)||(*str<=90&&*str>65))
        {
            *str-=1;
        }
        else if(*str=97)
            *str=122;
        else if(*str=6)
            *str=90;
        else
            *str=*str;
        str++;
    }
    
}

 

标签:words,int,else,char,实验,str,printf
From: https://www.cnblogs.com/757805abc/p/17859907.html

相关文章

  • 实验五 继承和多态
    Task3:pets.hpp:#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings):nickname(s){}conststringget_nickname(){returnnickname;}virtualstringta......
  • 实验5
    实验任务1:1.1:  1.功能:寻找到输入的多个数据中最大的和最小的数据2.指向该数组中的第一项 1.2:  1.返回的是该数组中最大数据的地址2.不行,算法表达不正确实验任务2:2.1: 问题1: 大小:24 计算:数组s1的大小统计:数组的数据字符串的长度 问题2:不行表达......
  • 实验5 继承和多态
    实验任务3pets.hpp #pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{private:stringnickname;public:MachinePets(conststrings):nickname{s}{}stringget_nickname()const{returnnicknam......
  • 实验五 继承和多态
    任务三pets.hpp#pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststring&nickname="");stringgetNickname()const;virtualstringtalk()=0;prot......
  • 实验5 继承和多态
    实验任务3#pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings);stringget_nickname()const;virtualstringtalk()=0;private:stringnickname;};......
  • 实验五 继承和多态
    实验任务三#include<iostream>#include<string>#pragmaonceusingnamespacestd;classMachinePets{private:stringnickname;public:MachinePets(conststring&s):nickname{s}{}stringget_nickname()const{returnnickname......
  • 实验报告2
    一、实验目的1.掌握软件开发的基本流程2.掌握常用的软件开发方式和工具。二、实验内容1.设计一个包含登录界面的计算器软件,该软件可以实现第一次作业中的功能,同时可以保存用户的历史计算记录(保存数据最好使用数据库)。三、实验所用环境及工具1.使用DW和IDEA......
  • 实验5 继承和多态
    实验任务3pets.hpp1#pragmaonce23#include<iostream>4#include<string>56usingstd::cout;7usingstd::endl;8usingstd::string;910classMachinePets{11protected:12stringnickname;13public:14MachinePets(co......
  • 实验5 继承和多态
    任务31#include<iostream>2#include<string>3usingnamespacestd;45classMachinePets{6public:7MachinePets(conststring&s);8MachinePets();9stringget_nickname()const;10virtualstringtalk()=0;......
  • 实验五 继承和多态
    实验任务3:1.代码:pets.hpp:1pragmaonce23#include<iostream>4#include<string>5usingstd::cout;6usingstd::cin;7usingstd::endl;8usingstd::string;910classMachinePets{11private:12stringnickname;13......