当前位置:首页 > c语言上机实验题
c[k++]=b[j++]; else
c[k++]=a[i++]; }
while(i c[k++]=a[i++]; } while(j c[k++]=b[j++]; } for(l=0;l printf(\ } } int main() { int a[6]={1, 2, 5, 8, 9, 10}; int b[6]={1, 3, 4, 8, 12, 18}; int c[12]={0}; conj(a, 6, b, 6, c); getch(); } 43.下列程序的功能是将字符串中的数字字符删除后输出。程序中有些错误,试改正使其完成所要求的功能。 【源程序】 #include gets(item); printf(\ delnum(item); } 44.请设计程序,将一字符串做压缩处理。编程要求如下: (1) 编写一个函数int compress(char s[]),将s中连续出现的多个相同字符压缩为一个字符,统计被删除的字符个数,返回被删除的字符个数; (2) 编写函数main,从键盘读入一行字符数据存入一个字符型数组中,调用compress函数对该字符数组中存储的字符做压缩处理,输出压缩后的字符串。 测试数据: @@@@@@ I wwillll succesful &&&&&& and you too !!!!!!########## 运行结果: @ I wil sucesful & and you to !# 30 #include int i,j=0,k=strlen(a); for(i=0;i void main() { char str[81]; int t; gets(str); t=compress(str); puts(str); printf(\ getch(); } 45.请按下列要求编写程序: (1) 编写函数void fun(char x[]),其功能是在x指向的字符串中的所有数字字符之前分别插入1个字符'$'; (2) 编写main函数,定义一个字符数组a,用测试数据中的数据初始化字符数组a,用a作为实在参数调用函数fun,输出结果字符串。 测试数据:a1b34cdef5 运行结果:a$1b$3$4cdef$5 #include #include while(x[i] != '\\0'){ if(x[i]>='0' && x[i] <='9'){ a[j++]='$'; a[j++]=x[i]; } else { a[j++]=x[i]; } i++; } a[j] = '\\0'; printf(\} void main () { char a[20]; scanf(\ fun(a); getch(); } 46. 请编辑调试下列程序,观察并理解其运行结果。 【源程序】 #include char s[]=\ char *p=s; printf(\ } 47.在一行文本中查找给定的单词。一行文本由字母和分隔符组成,分隔符包括若干空格、逗号、句号和换行符。一个单词由若干个连续字母组成。 实现提示:main函数中word数组存放欲查找的单词。find_word函数完成在t字符串中查找单词w的功能,先从t串中找出一个单词,再与w进行比较,如果找到则返回单词w在t串中第一次出现的位置,否则返回-1。 【源程序】 #include int t; puts(\ puts(\ gets(word); gets(word); t=find_word(text,word); t=find_word( ); if(t!=-1) if( ) printf(\word %s in text.It locates printf(\word %s in text . It in %d.\\n\locates in %d.\\n\ else else printf(\ printf(\ getch(); } } find_word(char t[] , char w[]) find_word(char t[] , char w[]) { { char s[20]; char s[20]; int i , j ; int i , j ; for(i=0; t[i]!='\\0'; i++) for(i=0; t[i]!='\\0'; i++) { if(isalpha(t[i])) { if(isalpha(t[i])) { for(j=0; isalpha(t[i+j]); j++) { for(j=0; isalpha(t[i+j]); j++) s[j]=t[i+j]; s[j]= ; s[j]='\\0'; s[j]='\\0'; if(strcmp(w,s)==0) if(strcmp(w,s)==0) return i; return ; i=i+j ; i= ; } } } } return -1; return -1; } } 48. 以下程序中,函数encode欲完成一个字符串的加密功能,将s1字符串中的字符经过变换后保存到s2指向的字符数组中。二维数组cs保存了一个明码密码对照表,第一行是明码字符,第二行是对应的密码字符,如表10-1所示。加密方法:从s1字符串中每取一个字符,均在cs表第一行中查找有无该明码字符,若找到则将对应的密码字符放入s2中,否则将s1中原来的字符放入s2中。程序中有些错误,请改正之使其完成所要求的功能。 表10-1 二维数组cs存储的明码密码对照表
共分享92篇相关文档