昨天的面试题,大家看看错在哪里
1, 实现截取字符串左边(或右边)中指定字符,输出剩余字符串。
#include “stdio.h“
#include “string.h”
void trim(char *a,char p)
{ char *a;
char p;
int i, j;
a = = new a[100];
for(i=0,i<j,i++)
{ if(*a==p)
printf(“%c\n”,a[j]);
else printf(“%c\n”,a[i]);
}
delete []a;
}
void main()
{
char trim(char *a,char p)
scanf(“%c\n”,*a);
scanf(“%c\n”,p);
printf(“%c\n”,trim());
}
2,从键盘录入年龄,工资,姓名,输入完毕后按工资排序。
Create table employer(age int,paycheck int, name char)
insert into employer select 25,3000,'ham'
insert into employer select 24,3500,'jim'
insert into employer select 29,6000,'ella'
insert into employer select 35,8000,'selina'
Select * from table orderby paycheck ASM
3,已知两个日期(YYMMDD),编写一函数,计算两个日期相差的天数。
#include <stdio.h>
void datediff()
{
int d,i,yy, mm,dd,yy1,mm1,dd1;
switch daysinmonth[i]
{
case ‘1‘:printf(“31\n”);break;
case ‘2‘: if(yy/4=0&&yy/400!=0)
printf(“”28\n”);
else printf(“29\n”);break;
case ‘3‘:printf(“31\n”);break;
case ‘4‘:printf(“30\n”);break;
case ‘5‘:printf(“31\n”);break;
case ‘6‘:printf(“30\n”);break;
case ‘7‘:printf(“31\n”);break;
case ‘8‘:printf(“31\n”);break;
case ‘9‘:printf(“30\n”);break;
case ‘10‘:printf(“31\n”);break;
case ‘11‘:printf(“30\n”);break;
case ‘12‘:printf(“31\n”);break;
}
if (dd>dd1)
d= dd-dd1;
else d=daysinmonth[i]+(dd-dd1);
if(mm>mm1)
d+=daysinmonth(i);
else d=
else for (int i=1;i<mm,i++)
d+=daysinmonth[i];
}
void main()
{
scanf(“%d-%d-%d\n” ,“%d-%d-%d\n”,#yy-mm-dd#,#yy1-mm1-dd1#);
printf(“%d\n”,datediff())
}
d=(yy-yy1)*365+(mm-mm1)*daysinmonth[i]+