首页 > 其他分享 >实验5

实验5

时间:2023-12-03 21:57:04浏览次数:27  
标签:name int void char 实验 str printf

实验任务1:

1.1:

 

 

1.功能:寻找到输入的多个数据中最大的和最小的数据

2.指向该数组中的第一项

 

1.2:

 

 

1.返回的是该数组中最大数据的地址

2.不行,算法表达不正确

实验任务2:

2.1:

 

问题1:

 大小:24 

计算:数组s1的大小

统计:数组的数据字符串的长度

 

问题2:不行

表达不正确

 

 

 

2.2:

 

 问题1:

存放:Learning makes me happy

计算:占据字节数

统计:字符串长度

问题2;

可以

 

实验任务3:

 

 问题1:

表示指向包含4个int元素的一维数组

问题2:

表示第5个一维数组的第一位数据

 

 

实验任务4:

4.1:

 

 问题1:

功能:将数组中的特定字符换成另一选定字符

问题2:不行

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)
            break;     // blank1

        str++;   // blank2
    }

    ;   // blank3
}

 

实验任务5:

5.1:

#include <stdio.h>
#include <string.h>
void sort(char *name[], int n);

int main() {
    char *course[4] = {"C Program",
                       "C++ Object Oriented Program",
                       "Operating System",
                       "Data Structure and Algorithms"};
    int i;

    sort(course, 4);

    for (i = 0; i < 4; i++)
        printf("%s\n", course[i]);

    return 0;
}

void sort(char *name[], int n) {
    int i, j;
    char *tmp;

    for (i = 0; i < n - 1; ++i)
        for (j = 0; j < n - 1 - i; ++j)
            if (strcmp(name[j], name[j + 1]) > 0) {
                tmp = name[j];
                name[j] = name[j + 1];
                name[j + 1] = tmp;
            }
}

 5.2:

#include <stdio.h>
#include <string.h>
void sort(char *name[], int n);

int main() {
    char *course[4] = {"C Program",
                       "C++ Object Oriented Program",
                       "Operating System",
                       "Data Structure and Algorithms"};
    int i;

    sort(course, 4);
    for (i = 0; i < 4; i++)
        printf("%s\n", course[i]);

    return 0;
}

void sort(char *name[], int n) {
    int i, j, k;
    char *tmp;

    for (i = 0; i < n - 1; i++) {
        k = i;
        for (j = i + 1; j < n; j++)
            if (strcmp(name[j], name[k]) < 0)
                k = j;

        if (k != i) {
            tmp = name[i];
            name[i] = name[k];
            name[k] = tmp;
        }
    }
}

 内存中字符串的存储位置发生了交换

实验任务6:

#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 i,flag=1;
for(i = 0;*(str+i) != '\0';i++){
if(*(str+i)>='0'||*(str+i)=='X'&&*(str+i)<='9')
flag = 1;
else
flag = 0;
}
if(strlen(str) == 18&&flag == 1)
return 1;
else
return 0;
}

 

 

实验任务7:

#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 != '\0'){
        if(*str >= 'A'&&*str<'Z'||*str>= 'a'&&*str<'z')
            (*str)++;
        else if(*str == 'z')
            *str = 'a';
        else if(*str == 'Z')
            *str = 'A';
        str++;
    }

}


void decoder(char *str) {
    while(*str!='\0'){
        if(*str > 'A'&&*str<='Z'||*str> 'a'&&*str<='z')
            (*str)--;
        else if(*str == 'a')
            *str = 'z';
        else if(*str == 'A')
            *str = 'Z';
        str++;
    }

}

 

实验任务8:

 

标签:name,int,void,char,实验,str,printf
From: https://www.cnblogs.com/zy050101-/p/17859838.html

相关文章

  • 实验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......
  • 实验5 继承和多态
    实验任务3pets.hpp#pragmaonce#include<iostream>#include<string>usingnamespacestd;classMachinePets{public:MachinePets(conststrings):nickname(s){}conststringget_nickname(){returnnickname;}virtu......
  • 实验5 继承和多态
    实验任务1publisher.hpp#pragmaonce#include<iostream>#include<string>usingstd::cout;usingstd::endl;usingstd::string;classPublisher{public:Publisher(conststring&s="");public:virtualvoidpublish()=......