2013自考“高级语言程序设计”习题答案详解(32)
7.输入两个字符串,将它们连接后输出。
「解」程序设有两个存储字符串的数组,先输入两个字符串,然后找到第一个字符串的末尾,接着将第二个字符串复制在第一个字符串的后面,然后输出。程序如下:
# include
# define N 120
main()
{ char s1[N+N],s2[N],*p,*q;
printf(“输入2个字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl;* p!=‘\0’; p++);
for(q=s2;*p++=*q++;);
printf(“两字符串连接后:%s\n” ,sl);
}
8.比较两个字符串是否相等。
「解」程序设两个存储字符串的数组,先输入两个字符串,两字符率比较时,直接用两字符串的对应字符比较来实现。完整程序如下:
# include
# define N 120
main()
{ char sl[N] ,s2[N],*p,*q;
char *result[]={“小于”,“相等” ,“大于”};
int comp;
printf(“输入 2个字符串\n”);
scanf(“%s%s”,s1,s2);
for(p=sl,q=s2;*q!=‘\0’&& *p==*q; p++, q++);
comp=*P <* q? 0:*P==*q? l:2;
printf(“字符串1与字符串2比较:%s\n”,result[comp]);
}
9.输入10个整数,将其中最大数与最后一个数交换,最小数与第一个数交换。
「解」程序设一个一维数组存储输入的10个整数。然后遍历数组,找出最大元素和最小元素的指针。接着按要求先将最大元素与最后一个元素交换,然后将最小元素与第一个元素交换。最后,输出数组中的全部整数。程序应考虑到这样一种特殊情况,即最后一个元素正是最小元素,它在与最大元素交换后,位置已移到原先存储最大元素的位置。程序应保证最大元素移到末尾,最小元素移到最前端。
程序如下:
# include
# define N 10
main()
{ int a[N],*maxp,*minp,*q,t;
printf(“入%d个整数\n,N);
for(q=a;q<A+N;Q++) {
scanf(“%d”,&t);*q=t;
}
maxp= minp= a;
for(q=a;q<A+N;Q++){
if(*maxp<*p) maxp=q;
if(*minp>*q) minp=q;
}
t=*maxp; *maxp=a[N-1]; a[N-l]=t;
if(minp==&a[N-l]) minp=maxp;
t=* minp;*minp= a[0]; a[0]= t;
for(q=a;q<A+N; Q++)
printf(“%d”,*q);
printf(“\n”);
}
最新资讯
- 备考资料:2024年自考《英语二》阅读判断模拟试题2024-04-05
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——简答题2024-03-23
- 2024年4月自学考试《马克思主义基本原理概论》模拟题——论述题2024-03-21
- 2021年10月自考《思修》考前2天冲刺卷2021-10-14
- 2021年10月自考《马克思主义基本原理概论》考前2天冲刺卷!2021-10-14
- 2021年10月自考《中国近现代史纲要》模拟题(五)2021-08-01
- 2021年10月自考《中国近现代史纲要》模拟题(四)2021-07-31
- 2021年10月自考《中国近现代史纲要》模拟题(六)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(三)2021-07-30
- 2021年10月自考《中国近现代史纲要》模拟题(二)2021-07-29