原标题:C语言复习题
期末考试离我们越来越近了,小c 希望同学们认真复习,千万不要挂科哦!话不多说,题目来了!
改错题
Convert函数的功能是:模拟将长度为16位的二进制数字字符串转换成有符号的十进制整数。要求主函数通过调用convert函数将两个字符串转换后的结果相加并输出。
说明:
(1) 存储字符串的数组长度为17.
(2) 结果应该是:n=5
#include
#include
int convert(char a[])
{
int i,v;
v=0;
for(i=0;i<16;i++)
v = v *2 +(a[i]-'0');
if(a[0]=='1') /*对负数的处理*/
v=-(65536-v);
return v;
}
{
chara[17],b[17]; /*$ERROR1$*/
int n;
strcpy(a,"1111111111111110");
strcpy(b,"0000000000000111");
n=convert(a)+convert(b);/*$ERROR2$*/
printf("%dn",n); /*$ERROR3$*/
}
结果:5
填空题
#include
void main()
{
long n,i;
double PI,s;
s=1; /*$BLANK1$*/
scanf("%ld",&n);
for(i=1;i<=n;i++) /*$BLANK2$*/
s*=4.0*i*i/(2*i-1)/(2*i+1);
PI=2*s; /*$BLANK3$*/
printf("PI=%fn",PI);
}结果:输入50 输出为PI=3.126079
程序设计题
根据下式求s的值(要求使用循环实现)
s=1/1+1/4+1/7+1/10+…+1/298
#include
void PRINT(double s)
{
FILE *out;
printf("s=%.3fn",s);
if((out=fopen("C:24000108RESULT.DAT","w+"))!=NULL)
fprintf(out,"s=%.3f",s);
fclose(out);
}
void main()
{
double s=0;
int i;
for(i=1;i<=298;i=i+3)
s=s+1.0/i;
PRINT(s);
}
结果:s=2.579
END!
编辑|排版| 代娅
审校| 杨中柳
责任编辑| 张元莹 梁星雨
如需转载请联系后台返回搜狐,查看更多
责任编辑: