2022年自学考试《C语言程序设计》练习题及答案4
【3.16】下面程序的功能是输出两个字符串中对应相等的字符。请选择填空。
#include
char x[]='programming';
char y[]='Fortran';
main()
{int i=0;
while(x<i>!=''&&y<i>!='')
if(x<i>==y<i>)
printf('%c',①);
else
i++;
}
【3.17】下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中,字符串a已排好序。
#include
main()
{char a[20]='cehiknqtw';
char s[]='fbla';
int i,k,j;
for(k=0;s[k]!='';k++)
{j=0;
while(s[k]>=a[j]&&a[j]!='')
j++;
for(①)
②;
a[j]=s[k];
}
puts(a);
}
【3.18】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为'abcdefg'和'abceef',则输出为-1。
#include
main()
{char str1[100],str2[100],c;
int i,s;
printf('Enter string 1:');gets(str1);
printf('Enter string 2:');gets(str2);
i=0;
while((str1<i>==str2<i>&&str1<i>!=①))
i++;
s=②;
printf('%dn',s);
}
【3.19】下面的函数expand在将字符串s复制到字符串t时,将其中的换行符和制表符转换为可见的转义字符表示,即用'n'表示换行符,用't'表示制表符。
expand(char s[],char t[])
{int i,j;
for(i=j=0;s<i>!='';i++)
switch(s<i>)
{case'n':t[①]=②;
t[j++]='n';
break;
case't':t[③]=④;
t[j++]='t';
break;
default:t[⑤]=s<i>;
break;
}
t[j]=⑥;
}
【3.20】下面的函数index(char s[],char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。
index(char s[],char t[])
{int i,j,k;
for(i=0;s<i>!='';i++)
{for(j=i,k=0;①&&s[j]==t[k];j++,k++);
if(②)
return(i);
}
return(-1);
}
n
【程序填空题参考答案】
【3.16】答案:①x[i++]
【3.17】答案:①i=strlen(a);i>=j;i--②a[i+1]=a<i>
【3.18】答案:①''②str1<i>-str2<i>
【3.19】答案:①j++②''③j++④''⑤j++⑥''
【3.20】答案:①t[k]!=''②t[k]==''
热门推荐:
自考有疑问、不知道如何选择主考院校及专业、不清楚自考当地政策,点击立即了解》》
推荐阅读: