C语言复习资料6Word文档下载推荐.docx

上传人:b****2 文档编号:1392615 上传时间:2023-04-30 格式:DOCX 页数:9 大小:25.03KB
下载 相关 举报
C语言复习资料6Word文档下载推荐.docx_第1页
第1页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第2页
第2页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第3页
第3页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第4页
第4页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第5页
第5页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第6页
第6页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第7页
第7页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第8页
第8页 / 共9页
C语言复习资料6Word文档下载推荐.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言复习资料6Word文档下载推荐.docx

《C语言复习资料6Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C语言复习资料6Word文档下载推荐.docx(9页珍藏版)》请在冰点文库上搜索。

C语言复习资料6Word文档下载推荐.docx

a[0][0]+12;

p++)

printf("

%5d"

*p);

}

2.将一个n×

n的矩阵行列转置后输出,转置功能由函数reverse实现,试编程。

#defineN3

voidreverse(floatx[][N],intn)

{inti,j;

floatt;

for(i=0;

i<

n;

i++)

for(j=i;

j<

j++)

{t=x[i][j];

x[i][j]=x[j][i];

x[j][i]=t;

}

voidprtable(floatx[][N],intn)

{for(j=0;

j++)

%10.4f"

x[i][j]);

\n"

);

main()

floata[][N]={{1,2,3},{4,5,6},{7,8,9}};

prtable(a,N);

reverse(a,N);

3.对非线性方程f(x)=0,可用牛顿迭代公式

求解,要求方程式用函数名f,导函数f’名为f1,迭代函数名为g,假设函数f和f’已有定义,编写出迭代函数g(x),精度小于10-5。

floatg(floatx)

{floatxi;

do

{xi=x-f(x)/f1(x);

x=xi;

}while(fabs(f(x))>

=1e-5);

returnx;

4.本程序的主程序为:

{intb[]={24,12,14,32,22,34};

%d\n"

f(b,6));

其中调用函数f,该函数有二个参数,依次为整型数组a和整型数n,函数的返回值是数组的a[0]到a[n-1]中的最大值。

试写出函数f。

要求循环结构需用for控制结构。

intf(inta[],intn)

{inti,max=-32768;

if(a[i]>

max)

max=a[i];

returnmax;

5.设有3名学生成绩存在如下的数组中:

:

intscore[3][4]={{65,57,70,60},{90,87,50,81},{90,65,100,98}}

编程输出有成绩低于60分的某学生所有成绩(按C语言的规则,允许第0行)。

{voidsearch(float(*p)[4],intn);

floatscore[3][4]={{65,57,70,60},{58,87,90,81},{90,99,100,98}};

search(score,3);

voidsearch(float(*p)[4],intn)

{inti,j,flag;

for(j=0;

{flag=0;

4;

if(*(*(p+j)+i)<

60)flag=1;

if(flag==1)

{printf("

No.%dfails,hisscoresare:

\n"

j+1);

for(i=0;

printf("

%6.1f"

*(*(p+j)+i));

6.编写完整的程序,用公式

 

计算e的近似值,直到某项小于10-7为止。

{doublee=1.0,u=1.0;

intn=1;

while(u>

=1.0e-7)

{u=u/n;

e=e+u;

n=n+1;

printf(“e=%8.6f\n”,e);

7.定义一个带参数的宏,其功能是求一个数的绝对值。

#defineABSX(x)(x)<

0?

–1*(x):

(x)

8.求出1—1000之间“水仙花数”。

要求的水仙花数是个三位数,它的各位数字之和等于该数本身,例如:

153=13+53+53,所以153是个水仙花数。

#include<

math.h>

{inti,j,k,num;

for(i=1;

i<

=9;

i++)

j<

j++)

for(k=0;

k<

k++)

{num=pow(i,3)+pow(j,3)+pow(k,3);

if(num==i*100+j*10+k)

%5d"

num);

9.应用递归算法求某数a的平方根。

求平方根的迭代公式如下:

=

stdio.h>

doublefun(doublea,doublex0)

{doublex1,y;

x1=(x0+a/x0)/2.0;

if(fabs(x1-x0)>

=1e-5)

y=fun(a,x1);

else

y=x1;

returny;

{doublex;

Enterx:

"

%lf"

x);

Thesquarerootof%lfis%lf\n"

x,fun(x,1.0));

10.将十进制正整数m转换成k(2<

=k<

=9)进制数,并按位输出。

例如,若输入8和2,则应输出1000(即十进制数8转换成二进制的表示是1000)。

voidfun(intm,intk)

{intaa[20],i;

m;

{aa[i]=m%k;

m/=k;

for(;

i;

i--)

%d"

aa[i-1]);

{intb,n;

clrscr();

Pleaseenteranumberandabase:

n,&

b);

fun(n,b);

11.求s=aa…aa-aaa…-aa-a(此处aa…aa表示n个a,a和n的值在1至9之间)。

例如,若a=3,n=6,则以上表达式为s=333333-33333-3333-333-33-3,其值是:

296298。

a和n是fun函数的形参,表达式的值作为函数值传回main函数。

longfun(inta,intn)

{intj;

longs=0,t=0;

t=t*10+a;

s=t;

for(j=1;

{t=t/10;

s=s-t;

returns;

{inta,n;

\nPleaseenteraandn:

a,&

n);

Thevalueoffunctionis:

%ld\n"

fun(a,n));

12.编写函数fun的功能是:

从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。

例如,当s中的数为7654321时,t中的数为642。

voidfun(longs,long*t)

{longs1=10;

s/=10;

*t=s%10;

while(s>

0)

{s=s/100;

*t=s%10*s1+*t;

s1=s1*10;

{longs,t;

\nPleases:

%ld"

s);

fun(s,&

t);

Theresultis:

t);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2