首页 > 编程语言 >c语言程序实验————实验报告八

c语言程序实验————实验报告八

时间:2024-05-12 11:57:40浏览次数:24  
标签:str2 str1 程序 num 实验 printf 字符串 实验报告 输入

c语言程序实验————实验报告八

  • 实验项目名称: 实验报告8 字符串处理函数
  • 实验项目类型:验证性
  • 实验日期:2024 年 5 月 9 日

一、实验目的

1.熟练掌握数组的定义格式和数组元素的表示方法;
2.熟悉数组的初始化方法和赋值方法;
3.掌握字符数组存放字符串的方法和字符串函数的使用;
4.熟悉数组元素的操作,特别是输入与输出操作;
5.掌握与数组有关的典型算法,比如排序算法、矩阵的处理、字符串的处理;
6.进一步学习程序调试。

二、实验硬、软件环境

Windows计算机、Dev c 6.0

实验内容:

(1)输入两个字符串str1和str2,比较后将较大的字符串存在str1中,将较小的存在str2中。
(2)从键盘任意输入一个字符串,以空格作为结束,要求编写一个程序统计字符串的有效长度。
(3)从键盘输入一个字符串和一个字符,要求去掉字符串中指定字符。例如:输入字符串
onewordone**dream”,输入要删除的字符’*’,所得结果字符串为“onewordonedream”。
(4)输入一个字符串,判断该字符串是否为回文。回文是对称相同的字符串,如“level”。

三、实验步骤:

项目一

解题思路
输入调用字符串操作的头文件#include<string.h>,char说明数组str1[15],str2[15],t[15];scanf调用str1和str2,if函数定义(strcmp(str1,str2)<0);输入strcpy(t,str1);strcpy(str1,str2);strcpy(str2,t);printf输出str1,str2。
核心代码
#include<stdio.h>
#include<string.h>
int main()
{
char str1[15],str2[15],t[15];
scanf("%s%s",str1,str2);
if(strcmp(str1,str2)<0);
{
strcpy(t,str1);
strcpy(str1,str2);
strcpy(str2,t);
}
printf("str1=%s,str2=%s\n",str1,str2);
printf("31韩翔-项目1");
}
实验截图

项目二

解题思路
char说明数组a[80],int定义i=0,num=0;scanf调用a,while函数定义a[i]!='\0';输入表达式num++;i++;printf输出a;printf("\n");printf输出个数,num
核心代码
#include<stdio.h>
int main()
{
char a[80];
int i=0,num=0;
printf("请输入字符串:\n");
scanf("%s",a);
while (a[i]!='\0')
{
num++;
i++;
}
printf("%s",a);
printf("\n");
printf("个数%d\n",num);
printf("31韩翔-项目2");
}
实验截图

项目三

解题思路
char说明数组a[1000],输入b;int输入i;输出字符串,输入gats(a);输出要删除的一个字符,输入b=getchar();for函数定义(i=0;a[i]!='\0';i++);if函数定义(a[i]!=b),printf输出a[i]
核心代码
#include<stdio.h>
int main()
{
char a[1000];
int i;char b;
printf("请输入字符串:\n");
gets(a);
printf("删除一个字符:\n");
b=getchar();
for(i=0;a[i]!='\0';i++)
if(a[i]!=b)
printf("%c",a[i]);
printf("\n");
printf("31韩翔-项目3");
}
实验截图

项目四

解题思路
输入调用字符串操作的头文件#include<string.h>,再定义一堆数组#define MAX 99。char说明数组str[MAX],int输入i,j,num;puts输入字符串,输入grts(str),输入表达式num=strlen(str);char定义数组b[num];for函数定义(i=num-1,j=0;i>=0;i--,j++),输入表达式b[j]=str[i];再输入b[j]='\0';if函数定义(strcmp(str,b)0),输出是回文,如果不是则(else)输出不是回文。
核心代码
#include<stdio.h>
#include<string.h>
#define MAX 99
int main(void)
{
char str[MAX];
int i,j,num;
puts("输入一个字符串:\n");
gets(str);
num=strlen(str);
char b[num];
for(i=num-1,j=0;i>=0;i--,j++)
{
b[j]=str[i];
}
b[j]='\0';
if(strcmp(str,b)
0)
{
printf("是回文\n");
printf("31韩翔-项目4");
}
else
{
printf("不是回文\n");
printf("31韩翔-项目4");
}
}
实验截图

四、实验结果及分析

在项目三中没有输入b=getchar()导致程序运行不出来,输入后顺利运行
在项目二中while定义中里没加单引号,后改正加入单引号(a[i]!='\0')。
在项目四中没有定义头函数#define MAX 99,导致错误,经同学知道改正。

标签:str2,str1,程序,num,实验,printf,字符串,实验报告,输入
From: https://www.cnblogs.com/hx666666666/p/18187643

相关文章

  • 如何同时或者按顺序间隔启动多个程序
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、打开工具,切换到定时器模块,快捷键:Ctrl+3 2、新建一个定时器,我这里演示同时打开多个程序(比如同时启动多个QQ,或者多个微信等),那就把单次数量提高,如果想每次执行这个定时器里面的3个事件,那单次数量就是写3,我......
  • 2024江苏省大学生程序设计大赛(JSCPC)热身赛题解(B)
    题目大意:求区间\([l,r]\)中有多少正整数满足\(\phi(\phi(n))=\phi(n)-1\),其中\(\phi\)为欧拉函数。解:设\(y=\phi(n)\),则上式变为\(\phi(y)=y-1\),易证\(y\)为质数(注意\(\phi(1)=1\),\(1\)与任何正整数都互质)。故原问题转化为求\([l,r]\)中有多少个正整数v满足\(\phi......
  • 使用windows任务计划程序时提示管理员拒绝
    使用Windows任务计划程序时提示管理员拒绝在Windows操作系统中,任务计划程序是一个非常实用的工具,可以用来定时执行一些特定的任务。然而,在使用过程中,可能会遇到一些问题,例如在使用任务计划程序时提示管理员拒绝。本文将介绍这个问题的原因以及解决方法。一、问题原因在使用Win......
  • 设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日 星期x tt:mm:ss”,并每
    /***********************************************************************************************************设计程序,获取当前系统时间,把时间转换为特定格式”yy年mm月dd日星期xtt:mm:ss”,并每隔1s写入到本地磁盘中一个*叫做log.txt的文本中,如果文本不存在则创建。......
  • C# 使用QuestPDF各种报错,System.IO.FileNotFoundException:“未能加载文件或程序集,Dll
    最近要做一个生成pdf报告的小功能,搜索一番之后,选择了QuestPDF这个库由于我是要在netframework4.8中实现功能,可能使用场景太老了,导致使用过程一波三折,非常的坎坷,折腾了一下午,增长了一些经验,记录下来1,如果你要在netframework4.8框架中使用,就不要自作聪明的用netstandard2.0框架......
  • uniapp:小程序数字键盘功能样式实现
    查看代码 <template> <view> <view> <viewclass="money-input"> <viewclass="input-container"@click="toggleBox"> <viewclass="input-wrapper"> <viewclass="......
  • 在 WinForms 应用程序中处理未经处理的异常
    internalstaticclassProgram{///<summary>///应用程序的主入口点。///</summary>[STAThread]staticvoidMain(){//添加事件处理程序以捕获主UI线程中发生的所有异常Application.......
  • WEB预览CAD(手机小程序浏览DWG)二次开发图层表的方法
    前言在DWG数据库中,图层存放在图层层表McDbLayerTable()当中,层表中每一条记录称为图层表记录对象McDbLayerTableRecord()。每一个图层表记录对象都对应一个图层,而且可以设置颜色、线型、关闭/打开、冻结等属性,其中DWG数据库默认总是有一个"0"层,该层不能被删除。图层表操作1......
  • uniapp 小程序 实现 vue 实现手写签名
    方法一<template><viewclass="signBox"><viewclass="topHint">请在下方空白书写区域内写出您的名字</view><viewclass="btn"><viewclass="saveBtn"@click="save"......
  • 小程序无法使用TextEncoderDecoder问题
    不知道为什么用网友给的FastestSmallestTextEncoderDecoder这个在小程序一直引入不到里面的方法找网友要了两个js包就能用https://github.com/123456789xzxz/miniprogram/blob/main/miniprogram-text-decoder.jshttps://github.com/123456789xzxz/miniprogram/blob/main/minipr......