中国海洋大学上机考试题2016春季学期 答案2333(13)
时间:2025-07-15
时间:2025-07-15
数组中,若s1不足n个字符,则用*在前端补齐至n个字符,写入s2中。函数返回字符串s2的指针。例如,下面程序运行时,
若输入:“abcd1234”和6,则输出“cd1234”
若输入:“abcd1234”和10,则输出“**abcd1234”
#include<stdio.h>
#include<string.h>
char *fun(char *s1,char *s2,int n)
{int i,m=0,p=0,x=0;
m=strlen(s1);
if(m<n)
{ for(p=m-1,x=n-1;p>=0,x>=n-m;p--,x--)
{ s2[x]=s1[p];}
for(i=0;i<n-m;i++)
{ s2[i]='*';}
}
if(m>n)
{for(p=m-1,x=n-1;p>=m-n,x>=0;p--,x--)
{ s2[x]=s1[p];}
}
if(m==n)
{ strcpy(s2,s1);}
}
int main()
{char c1[80],c2[80];
gets(c1);
fun(c1,c2,6);
puts(c2);
puts(fun(c1,c2,30));
return 0;
}
19. 编写函数void fun(char *a,char *b,char *c),逐个比较a、b两个字符串对应位置中的字符,
把ASCII值大或相等的字符依次存放到c数组中,形成一个新的字符串。例如,若a中的字符串为aBCDeFgH,b中的字符串为:ABcd,则c中的字符串应为:aBcdeFgH。
#include<stdio.h>
char *fun(char *s,char *b,char *c)
{int i,j;
for(i=0,j=0;i<strlen(a)&&j<strlen(b);i++,j++) {
if(a[i]>b[i]) c[i]=a[i]; else
c[i]=b[i]; }
if(i==strlen(a)) {
for(;j<strlen(b);j++) c[j]=b[j]; c[j]='\0'; } else {
13
上一篇:体育经济与管理专业大学排名
下一篇:国庆作业 世界古代史试题