请帮我查看一下第一,第二题是否正确,以及第三题的解法
第一题
#include <stdio.h>
#include <math.h>
int main()
{
double x, y = 0;
scanf("%lf", &x);
if (x > 0 && x < 1)
y = 0;
else if (x >= 0 && x < 15)
y = 4x/3;
else if (x >= 15)
y = 2.5x-10.5;
printf("y=%4.2lf",y);
return 0;
}
第二题
#include <stdio.h>
int main()
{
int a[11]={1,2,3,4,5,7,8,9,10,11};
int i,t,m;
printf("输入一个数:\n");
scanf("%d",&m);
for(i=0;i<11;i++)
{
if(m<a[i])
{
t=m;m=a[i];a[i]=t;
}
else if(m>a[9])
a[10]=m;
}
printf("排序后:\n");
for(i=0;i<11;i++)
printf("%d ",a[i]);
return 0;
}
第二题是正确的
第三题
#include <stdio.h>
#include <string.h>
#include <cstdlib>
char* concat(char str1[],char str2[]);
int main()
{
char str1[] = "12345";
char str2[] = "abcdef";
char *str3 = concat(str1,str2);
printf("%s\n",str3);
return 0;
}
char* concat(char str1[],char str2[])
{
int len1 = strlen(str1);
int len2 = strlen(str2);
char *strs = (char*)malloc(sizeof(char) * (len1+len2));// = str1;
int i;
for (i = 0; i < len1; ++i)
strs[i] = str1[i];
for (i = 0; i < len2; ++i)
strs[i+len1] = str2[i];
return strs;
}