PAGE \* MERGEFORMAT 20
10.1 字符转换描述 提取一个字符串中的所有数字字符(‘0’...‘9’)将其转换为一个整数输出。输入 一个以回车符为结束标志的字符串(少于80个字符)。输出 把字符串中的所有数字字符(‘0’...‘9’)转换为一个整数并输出。
#include#includeint main(){ char s[80]; int i,k,n=0;gets(s);k=strlen(s); for(i=0;i='0'&&s[i]<='9') n=n*10+(s[i]-'0'); printf("%d\n",n);return 0;}10.2 合并字符串输入两个已经按从小到大顺序排列好的字符串,编写一个合并两个字符串的函数,使合并后的字符串,仍然是从小到 大排列。输入: 两个已经排好顺序(升序)的字符串输出: 一个合并在一起的有序(升序)的字符串要求: 设计一个效率尽量高的算法,对每个字符串只扫描一遍就可以了。如果采用先进行串连接,然后再进行排序的算法,则效率太低了。
#include#includeint main(){ char a[100],b[100],t; int k,i,j; gets(a); gets(b); strcat(a,b); k=strlen(a); /*冒泡法排序*/ for(i=1;ia[j+1]){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; } puts(a); return 0;}
10.3 删除重复字符背景: 输入一个长度不超过 100 的字符串,删除串中的重复字符。输入: 输入要检查的字符串,长度不超过100个字符。例如:abacaeedabcdcd。输出: 删除重复字符后的字符串。例如:abced。
#include#includeint main(){char a[100],b[100];int k,i,j;gets(a);k=strlen(a);
for(i=0;i
for(i=0;i
#include#include
int main(){char s1[20],s2[20];int k1,k2,i,j;gets(s1); gets(s2);k1=strlen(s1); k2=strlen(s2);
for(j=0;j
#include#include
int main(){char s[20];int i,n=0;for(i=0;;i++){ scanf("%s",s);