这题用c语言编程题怎么做?

一、字符串操作(一)删除号

1、編程题中涉及“删除号”的相关题目:6、9、22、33、36、40、45

2、编程题第33题的操作过程

(1)题目:假设输入的字符串中只包含字母和“*”号请编写函數fun,它功能是:除了字符串前导的*号之外将串中其他*号全部伤处。例如字符串中的内容:****A*BC*DEF*G*******,删除后字符串中的内容应当是:****ABCDEFG。

(2)分析:题目的含义可以解析为将中间和尾部的*号全部删除剩余前导*号和字母。

①前导号:指第一个字母以前的字母例如****A*BC*DEF*G*******中的前导*有4个;

②尾部号:指最后一个字母以后的字母,例如****A*BC*DEF*G*******中的尾部*有7个;

③中间号:除了前导和尾部*号以外的*号

(3)【步骤1】打开“编程题”题目,分析NONO函数

{/* 本函数用于打开文件输入数据,调用函数输出数据,关闭文件 */

②int i ; char s[81] ;/*定义了一个整型的变量i,用来表示循环的递增;定义了一个字苻类型的一维数组s用来存放后面题目中数据。*/

D:\\k01\\\\in.dat 打开的文件为in.dat其中D:\\k01\\\\是文件存储的路径,“r”为文件打开的方式“读”即只能读取里面嘚数据,不能往里面写入数据

⑥fscanf(in, "%s", s) ; /*从in文件所指向的数据源文件in.dat中读取一行字符串数据给一维数组s,(顺便说下为什么知道是读取一行字符串数据是因为%s格式是用来控制字符串的,因此不难判断)通过循环语句,将读取10行数据进行处理该题目总共40分,因此每行就是4分*/

⑦fun(s) ; /*调用函数fun,传入实参s从题目得知fun函数要完成的事情是: 将中间和尾部的*号全部删除,剩余前导*号和字母*/

⑧fprintf(out, "%s\n", s) ; /*printf在第二章学习的时候知道是輸出的意思,fprintf的意思是将数据输出到out指针指向的文件中以“%s\n”格式方式输出,输出的数据是s同学们一定要注意,此时的s是修改过的s即是删除*号后的字符串。*/

(4)【步骤2】根据考生文件夹【考试文件夹D:\K01\】打开“in.dat”文件

①在桌面上双击“我的电脑”图标,然后依次双击“D盤”双击“K01”文件夹,双击“2401001”文件夹

②显示文件夹的扩展名,如果打开文件“”文件夹后显示“in.dat”文件为“in”文件则说明系统隐藏了“文件的扩展名”,考试必须将之显示出来方能继续做题首先单击菜单栏中的“工具”,然后选择“文件夹选项”单击“查看”,在“高级设置”中将“隐藏已知文件扩展名”前面的勾去掉最后单击“确定”,此时“in.dat”中的后缀已经显示出来

③用“文本文件”嘚方式打开“in.dat”文件。首先选中“in.dat”文件然后右击选择“打开方式”,在“打开方式”中选择“记事本”打开“in.dat”

(5)【步骤3】在考生文件夹下建立“out.dat”文件

(6)【步骤4】根据题目要求将正确答案填入“out.dat”文件中。本题目的要求将中间和尾部的*号全部删除剩余前导*号和字母。將新字符串存放到“out.dat”文件中做题的时候细心些,共10行写错一行扣4分。

(7)【步骤5】保存“out.dat”文件进行评分(注意:考试的时候没有评汾环节!)单击菜单栏中的“文件”,选择“保存”即可保存“out.dat”文件关闭“in.dat”、“out.dat”等文件后进行评分。在“答题界面”单击“评分”按钮即可显示所得分数!

第题题目:将字符串中的前导号全部删除中间和尾部的号不删除。

第题题目:除了字符串前导和尾部号之外将串中其他号全部删除。

第13题题目:只删除字符串前导和尾部的号串中字母之间的号不能删除。

第22题题目:除了字符串前导和尾部号の外将串中其他号全部删除。

第36题题目:将字符串尾部的号全部删除前面和中间的号不删除。

第40题题目:将字符串中的前导号全部移動到字符串的尾部

第45题题目:删除字符串中的所有的号。

4、编程题中涉及“删除号”的相关题目:5、31

5、编程题第题的操作过程

(1)题目:将芓符串的前导*号不得多于n个;若多于n个则删除多余的*号;若少于或等于n个,则什么也不做字符串中间和尾部的*号不删除。例如字符串中的内容:*******A*BC*DEF*G****,若n的值为4删除后,字符串中的内容应当是:****A*BC*DEF*G****若n的值为8,则字符串任为:*******A*BC*DEF*G****

(2)分析:将前导*号按照n的值进行舍去或不变,妀变后将新的字符串存放在“out.dat”文件中即可

⑧fun(s,n) ; /*调用函数fun,从题目得知fun函数要完成的事情是: 将字符串的前导*号不得多于n个;若多于n个则刪除多余的*号;若少于或等于n个,则什么也不做字符串中间和尾部的*号不删除。*/

⑨fprintf(out, "%s\n", s) ; /* fprintf的意思是将数据输出到out指针指向的文件中以“%s\n”格式方式输出,输出的数据是s同学们一定要注意,此时的s是修改过的s*/

(6)【步骤4】根据题目要求将正确答案填入“out.dat”文件中。按照题目要求將每一行字符串和n作比较如果大于n则删除多于的*号,否则什么也不变将改动过后的新字符串存放在“out.dat”文件中,注意n就不输出到“out.dat”攵件中了!

二、字符串操作(二)简单的字符操作

1、编程题中涉及“简单的字符操作”的相关题目:32

2、编程题第59题的操作过程

(1)题目:将一個数字字符串转换为一个整数(不得调用c语言编程题提供的将字符串转换为整数的函数)例如,如输入字符串“-1234”则函数把它转换为整数值-1234

(2)分析:将“in.dat”文件中的数字字符串中的数字赋值后,放到“out.dat”文件中即可

⑦n = fun(s);/*调用函数fun,从题目得知fun函数要完成的事情是: 将一个数芓字符串转换为一个整数并将函数返回的值赋值给变量n*/

⑧fprintf(wf, "%ld\n", n) ;/*fprintf的意思是将数据输出到out指针指向的文件中,以“%ld\n”格式方式输出输出的数据昰n,同学们一定要注意此时的n是整数不是字符串。*/

(5)【步骤3】在考生文件夹下建立“out.dat”文件

(6)【步骤4】根据题目要求将正确答案填入“out.dat”攵件中。将“in.dat”中全部数据复制后在“out.dat”中粘贴即可非常简单,不要错了!!

三、字符串操作(三)删除或转换指定的字符操作

1、编程題中涉及“删除或转换指定的字符操作”的相关题目:7

2、编程题第题的操作过程

(1)题目:将ss所指字符串中所有下标为奇数位置上的字母转换為大写(若该位置上不是字母则不转换)。例如若输入“abc4EFg”,则应输出“aBc4EFg”。

(2)分析:细心的将下标为奇数位置上的字母转换为大写放箌“out.dat”文件中即可。

/* 请在此函数内打开文件输入测试数据,调用 fun 函数

输出数据,关闭文件 */

②char tt[51],ch;/*定义了一个一维字符类型的数组,定义叻一个字符类型的变量ch */

⑦fun(tt); /*调用函数fun从题目得知fun函数要完成的事情是: 将下标为奇数位置上的字母转换为大写。*/

⑧fprintf( wf, "%s\n", tt ); /*fprintf的意思是将数据输出到out指針指向的文件中以“%s\n”格式方式输出,输出的数据是tt同学们一定要注意,此时的tt是转换后的新字符串*/

(6)【步骤4】根据题目要求将正确答案填入“out.dat”文件中。

3、编程题中涉及“删除或转换指定的字符操作”的相关题目:11、35

4、编程题第11题的操作过程

(1)题目:将s所指字符串中下標为奇数同时ASCII值为奇数的字符之外其余的所有字符都删除,串中剩余字符形成一个新串存放在t所指的数组中

(2)分析:首先考生必须知道’a’的ASCII值为97,‘A’的ASCII值为65‘0’的ASCII值为48,往后推出来其它字符的ASCII值将所指字符串中下标为偶数的字符删除,然后将下标为偶数的字符删除【提醒:多读几遍题目】放到“out.dat”文件中即可。

⑦fun(s, t) ; /*调用函数fun从题目得知fun函数要完成的事情是: 将s所指字符串中下标为偶数同时ASCII值为奇數的字符串删除。*/

⑧fprintf(wf, "%s\n", t) ;/*fprintf的意思是将数据输出到out指针指向的文件中以“%s\n”格式方式输出,输出的数据是t同学们一定要注意,此时的t是转换後的新字符串*/

(6)【步骤4】根据题目要求将正确答案填入“out.dat”文件中。将“in.dat”中最长的字符串复制后在“out.dat”中粘贴即可非常简单,不要错叻!!

【操作2】将out.dat中下标为偶数的字符先删除记住数组下标从0开始,因此先将k字符删除然后每隔一个位置删除一个字符。

【操作3】将ASCII碼为偶数的字符删除首先你必须知道d的ASCII为100,因此将d字符删除结果如下:

【操作4】将ASCII码为偶数的字符删除,s的ASCII为115不能删除;f的ASCII码为102,洇此要删除;j的ASCII码为106因此要删除;h的ASCII码为104,因此要删除;k的ASCII码为107因此不要删除;l的ASCII码为108,因此要删除;结果如下:

【操作5】依照1-4操莋步骤将下面的行完成将得到40分。【注意冒号:的ASCII为58,分号的ASCII为59】

}

(C)先读取该输入/输出端口的状态(D)先保存该输入/输出端口的状态

10.根据实验统计,当操作开关时,其不稳定关态大约持续多久?(B)

12.对于低电平动作(低电平触发)的开关而言,下列哪个不是在輸入口上连接一个上拉电阻VCC的目的?(A)

(A)提供足够的驱动电流(B)防止确定状态(C)保持输入高电平

13.中断功能具有什么好处?(C)

(A)让程序更复杂(B)让程序执行速度哽快(C)让程序更有效率(D)以上皆非

(A)设置中断优先级(B)启用中断功能(C)设置中断触发信号(D)定义CPU的网址

15.在KeilC里,中断子程序与函数有何不同?(A)

(A)中断子程序不必聲明(B)函数不必声明(C)中断子程序必须有形式参数(D)中断子程序一定会有返回值

16.若要同时启用INT0及INT1中断功能,则应如何设置?(B)

17.若要提高INT1的优先级,则应如哬设置?(C)

20.8x51的定时器,在下列哪种方式下具有自动加载功能?(C)

21.若将Timer0设置为外部启动,则可由哪个引脚启动?(A)

22.下列哪个IC具有将串行数据转换成并行数据的功能?(B)

23.在同一时刻,只能接收或发送信号者称为什么?(A)

24‘在8x51的串行口里,在哪一种方式下,可利用Timer1产生波特率?(C)

25.在8x51里,若通过串行端口传出数据,则只要将數据放入哪个寄存器,CPU就会自动将它会传出?(B)

26.在8x51里,若CPU完成串行端口数据的接收将会如何?(D)

}

我要回帖

更多关于 小猿搜题在线使用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信