当前位置:首页 > C语言实验报告参考答案
printf(\else printf(\}
填空①:str[i] != str[j] 填空②:huiwen(str)
程序分析:for循环中少了控制变量的自增自减。 3. 程序改错
写出有错误语句的行号,及改正后的语句全行。(每行语句前的序号只标注行号,非程序本身的内容)
(1)以下scpy( )函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。
① #include
② void scpy(char s[ ],char t[ ])
{
int i; while(t[i])
s[i++]=t[i++]; t[i]=‘\\0’;
③ ④ ⑤ ⑥
} {
char str1[ ],str2[ ]=\scpy(str1,str2); printf(\
⑦ void main( ) ⑧ ⑨ ⑩
}
错误语句的行号:⑤⑧
改正后的语句全行:⑤: { s[i] = t[i];i++;} ⑧:char str1[100],str2[ ]=\错误分析:
(2)比较两个字符串的大小,如果相等输出equal,如果不相等输出unequal. ① #include
{ ③ ④ ⑤ ⑥
}
错误语句的行号:④⑤
改正后的语句全行:④gets(s1);gets(s2); ⑤if( ! strcmp(s1,s2)) 错误分析: 4. 编写程序
char s1[10],s2[10]; gets(s1);get2(s2);
if(s1=s2) printf(“equal”); else printf(“unequal”);
32
(1)将一个字符串首尾倒置,重新存放。 程序清单:
#include
char a[20]; int n,i,t; gets(a); n = strlen(a); for(i=0; i t = a[i]; a[i] = a[n - i - 1]; a[n - i - 1] = t; } puts(a); } 程序编写注意事项: (2)(飞机定票系统)一家小型航空公司刚刚购买了计算机,用于新的自动化定票系统。总裁要求您为新系统编制程序。需要分配该航空公司的唯一一架飞机每个航班的座位(容量:10个座位)。 程序应该轮流显示下列菜单: Please type 1 for “first class” Please type 2 for “economy” 如果输入1, 则程序应该分配头等舱内的座位(座位1 ~ 5)。如果输入2 ,则程序应该分配经济舱的座位(座位 6 ~ 10)。然后,程序输出登机证,说明座位号,以及它位于飞机的头等舱,还是经济舱内。 使用一个数组来代表飞机的座位安排。将数组的所有元素初始化为0,以说明所有座位都是空的。当分配每个座位时,将数组的对应元素设置为1,以说明不能再次使用那个座位号。当然,程序不应该分配已经分配过的座位。当头等舱满员时,程序应询问是否可以安排在经济舱内(等等)。如果可以,则进行适当的座位分配。如果不可以,则输出信息“Next Flight leaves in 3 hours”. 程序清单: #include int seat[11] = {0},i,ch; char clas[10]; main() { input(); while(ch != 'Q') { assign(); 33 print(); input(); } } void input() { printf(\\\nPlease type 2 for “economy”\\n\ printf(\ scanf(\} void assign() { if(ch==1) i=1; else i=6; while(seat[i] && i<10) i++; if(i<=5) { strcpy(clas,\ seat[i] = 1; } else { strcpy(clas,\ seat[i] = 1; } if(ch == 1 && i<=5) return; else if(ch == 2 && i<10) return; else { printf(\no\\n\ scanf(\ if(ch == 1) input(); else { printf(\ input(); } 34 } } void print() { printf(\} 程序编写注意事项: (3)(输出数组)编写一个递归函数printArray,它以数组和数组大小作为参数,并且不返回任何值。当数组大小为0时,函数应该停止处理并返回。 程序清单: void printArray(int *ptr,int n) { if(n == 0) return; printf(\ printArray(ptr,n-1); } 程序编写注意事项: 35
共分享92篇相关文档