填空题:
第一题:
小李将本金1000元,存入银行,存期5年 ,年利率3%。 小王每年拿出100元资助贫困儿童
double money=1000;
int n=5;
int i;
for(i=0;i<n;i++)
{
money=________;
money-=100;
}
printf("%.2f\n",money);
第二题:
用迭代法求2的平方根
double n=2;
double a=0;
double b=n;
while(fabs(a-b)>1E-15)
{
a=(a+b)/2;
b=________;
}
printf("%f\n",a);
第三题:
求最小公倍数
int f(int a,int b)
{
int i;
for(i=a;;_____)
{
if(i%b==0) return;
}
}
第四题:
求两个日期间的天数,先求每个日期距离1年1月1日天数的差值,再进一步做差
struct MyDate
{
int year;
int month;
int day;
};
int GetAbsDaays(MyDate x)
{
int i;
int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31};
int year=x.year-1 //因为欲求距离1年1月1日的差值
int days=year*365+year/4-year/100+year/400;
if(x.year%4==0&&x.year0!=0||x.year@0==0) month_day[1]++;
for(i=0;i<____;i++)
days+=month_day[i];
days+=x.day-1;
return days;
}
int GetDiffDays(MyDate a,MyDate b)
{
return GetAbsDays(b)-GetAbsDays(a);
}
int main(int argc,char *argv[])
{
MyDate a={1842,5,18};
MyDate b={2000,3,13};
int n=GetDiffDays(a,b);
printf("%d\n",n);
}
第五题:轮转数(每个字符依次向右移)
例:
字符串abcd 经过一次轮转后为dabc 此时位移记作1
字符串abcd 进过两次轮转后为 cdab 此时位移记作2
以下代码为求字符串S,经过n次位移后的新字符串
void shift(char *s,int n)
{
char *p;
char *q;
int len=strlen(s);
if(len==0) return;
char *s2=(char *)malloc(_______);
p=s;
q=s2+n%len;
while(*p)
{
*q++=*p++;
if((q-s2)=len)
{
*q=_____;
q=s2;
}
}
strcpy(s,s2);
free(s2);
}
第六题:
金字塔数
space 为塔底边距离左边的空白长度
x 塔底中心字母
例:当space=0,x='C'
输出:
A
ABA
ABCBA
当space=2,x='E'
A
ABA
ABCBA
ABCDCBA
ABCDEDCBA
void h(int space,char x)
{
int i;
if(x<'A'||x>'Z') return;
_________________;
for(i=0;i<space;i++) printf(" ");
for(i=0;i<x-'A';i++) printf("%c",'A'+i);
for(i=0;i<=x-'A';i++) printf("%c"____);
printf("\n");
}
第七题:中奖计算 函数返回所中的最大连续数字的个数
int g(int a,int b)
{
char sa[]="00000000";
char sb[]="00000000";
int n;
int i,j;
sprintf(sa,"�",a);
sprintf(sb,"�",b);
for(i=0;i<8;i++)
{
for(j=1;j<=8-i;j++)
{
char t=______;
sa[i+j]=0;
if(strstr(sb,sa+i))
{
if(j>n) ________;
}
sa[i+j]=t;
}
}
return n;
}
编程题:
第八题:字符串处理,满足以下要求:
1、首字母转换为大写
2、数字与字母,字母与数字间均用下划线(_)隔开
3、多个空格转换为一个
第九题:表格
例:
输入: cat,dog,good
1,2,5
do not use,,that
输出:
+----------+---+----+
| cat |dog|good|
+----------+---+----+
| 1 | 2| 5 |
+----------+---+-----+
|do not use| |that |
+----------+----+----+
第十题:
有5个砝码 重量为1,3,9,27,81 可以组合成1-121之间任意整数
对于用户给定的重量,给出砝码方案
如:输入5
输出:9-3-1
输入19
输出27-9+1