课程名: 程序设计基础(C语言) 课程号: 00863006 学分: 5
上机操作题,4题,共70分
第1题(源程序文件 E:\\answer\\1-A-1.C )
上机要求:下列程序包含4个错误(2个函数各2行有错误),请输入该程序的代码,找出并更正程序错误,在修改行代码后增加“/***/”注释,将修改后的源程序保存到 E:\\answer\\1-A-1.C 中。
程序功能:从键盘上输入一行字符串,选择其中的大写字母,并输出。 如输入:
Hello, This Is An English Sentence. 则输出: HTIAES 再如输入:
ABC, abc, DEF, 123. 则输出: ABCDEF 函数说明:
程序中函数str_select_up从字符串a中选择大写字母到字符串b中,同时返回字符串b。函数中变量i用于遍历字符串a,变量k用于计数大写字母个数,同时用于b数组的下标。主函数main从键盘上输入一行字符串,调用str_select_up函数取其中大写字母到字符串b,并输出字符串b。2个函数各有2个错误,分布在不同代码行上。 带错误原程序:
#include char *str_select_up( char b[], char a[] ) { int i, k = 0; for ( i=0; a[i]!=='\\0'; i++ ) if ( a[i]>='A' && a[i]<='Z' ) b[k++] = a[i]; b[k] = '\\0\"; return b; } main() { char a[100], b[100]; gets( a[100] ); str_select_up( b, a ) puts( b ); } (093操作题A) 1 / 8 更正程序参考 更正程序 错误点 #include 第2题(源程序文件 E:\\answer\\1-A-2.C ) 上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\\answer\\1-A-2.C 中。 程序功能:编写程序,按示例实现以下功能: (1) 输出本题考试的学期号与题号,即“093,1-A-2” (2) 输出考生的基本信息,包括实际考试机房、机号、机号的单双(机号单输出Odd, 机号双输出Even)、学号、姓名拼音。 (3) 从键盘上输入3个整数。 (4) 输出其中的最大值与最小值。 (5) 输出其中大小居中的数值。 如输入: 70 50 90 则输出: 093,1-A-2 D413-27(Odd),09123456,ZhangDaHai 注:本行请按考生实际情况输出 Max=90, Min=50 Midd=70 示例说明:输出共4行,第1行为本考题基本信息,应为“093, 1-A-2”;第2行为考生本次考试的基本信息,请按实际情况输出,示例表示D413机房的27号计算机,机号为单(输出Odd),学号为09123456,姓名拼音为ZhangDaHai(张大海);输入三数的最大值为90,最小值为50,中间值为70。 再如输入: -90 -50 -70 则输出: 093,1-A-2 (093操作题A) 2 / 8 D413-27(Odd),09123456,ZhangDaHai 注:本行请按考生实际情况输出 Max=-50, Min=-90 Midd=-70 示例说明:输入三数可以为负数,最大值为-50,最小值为-90,中间值为-70。 程序参考 参考程序 说明 #include 第3题(源程序文件 E:\\answer\\1-A-3.C ) 上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\\answer\\1-A-3.C 中。 程序功能:从键盘上输入n和n个整数(设n与每个整数均取值1至5),按示例格式输出n行数字图形,每行的数字及数字个数与输入数相对应。编写程序可以使用或参考所提供的函数。 如输入: 5 5 4 3 2 1 (093操作题A) 3 / 8 则输出(□表示空格,↙表示回车): 1□2□3□4□5□↙ □□1□2□3□4□↙ □□□□1□2□3□↙ □□□□□□1□2□↙ □□□□□□□□1□↙ 示例说明:输入的第1个数为5,表示输出共5行,右对齐形状。接着输入的第1个数为5,则输出的第1行有5个数(取值1至5),数字之间含有1个空格,数值1之前有2*(5-5)=0个空格;以此类推。 再如输入: 3 2 3 2 则输出(□表示空格,↙表示回车): □□□□□□1□2□↙ □□□□1□2□3□↙ □□□□□□1□2□↙ 示例说明:输入的第1个数为3,表示输出共3行。接着输入的第1个数为2,则输出的第1行有2个数(取值1至2),数字之间含有1个空格,数值1之前有2*(5-2)=6个空格;以此类推。 函数说明: 下列代码提供2个函数,可供编写程序时调用或参考。其中函数sca_0从键盘上输入n和n个整数至数组a,并返回整数n;函数prtline可以输出图案中的某一行,参数m表示输出该行的m个数(取值1至m)。 函数代码: 函数代码 说明 int sca_n(int a[]) 函数:输入n和n个整数至数组 { int n, i; 先输入整数n scanf(\"%d\ 再输入n个整数至数组a中 for (i=0;i #include 上机要求:按程序功能要求编写程序,并将程序代码保存到 E:\\answer\\1-A-4.C 中。 程序功能:输入10个整数(存贮在一维数组a中),按示例格式计算并输出以下结果。 (1) 查找数值为100的元素并输出其下标(如果有多个100则输出第1个100的下标), 如果没有找到,则输出Not Found; (2) 统计数值为0的元素个数并输出; (3) 从大到小排序,并按每行4个数的格式输出; 如输入: 10 20 30 40 50 100 60 70 80 100 则输出: a[5]=100 Count(0)=0 100 100 80 70 60 50 40 30 20 10 示例说明:输入10个整数,第1个100出现在下标5位置,数值0没有出现,排序后分3行输出,第1行与第2行各有4个数。 如输入: 10 0 -50 0 50 60 70 80 90 199 则输出: Not Found(100) Count(0)=2 199 90 80 70 60 50 10 0 0 -50 示例说明:输入10个整数(可以有负数或超过100的数),其中100没有出现,0出现2次。排序后分3行输出,第1行与第2行各有4个数。 程序参考 参考程序1:使用函数 评分说明 #include prt_m(a,10,4); } 参考程序2:不使用函数 #include 因篇幅问题不能全部显示,请点此查看更多更全内容