C语言编程练习60题Word格式.docx

上传人:b****7 文档编号:21926853 上传时间:2023-02-01 格式:DOCX 页数:32 大小:21.44KB
下载 相关 举报
C语言编程练习60题Word格式.docx_第1页
第1页 / 共32页
C语言编程练习60题Word格式.docx_第2页
第2页 / 共32页
C语言编程练习60题Word格式.docx_第3页
第3页 / 共32页
C语言编程练习60题Word格式.docx_第4页
第4页 / 共32页
C语言编程练习60题Word格式.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

C语言编程练习60题Word格式.docx

《C语言编程练习60题Word格式.docx》由会员分享,可在线阅读,更多相关《C语言编程练习60题Word格式.docx(32页珍藏版)》请在冰豆网上搜索。

C语言编程练习60题Word格式.docx

,a[k]);

/***********SPACE***********/

N/2;

k++)

{

s=a[k];

a[k]=a[N-k-1];

a[N-k-1]=s;

}

\nthechangedarray:

printf("

}

3:

产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。

#include"

stdlib.h"

main()

intt;

inti,j,k;

inta[10];

for(i=0;

i<

10;

i++)

a[i]=random(61)+30;

9;

k=i;

for(j=i+1;

j<

j++)

if(a[k]>

a[j])k=j;

if(k!

=i)

t=a[k];

a[k]=a[i];

a[i]=t;

}

i++)

%5d"

a[i]);

5:

数组名作为函数参数,求平均成绩。

floataver(floata[])/*定义求平均值函数,形参为一浮点型数组名*/

inti;

floatav,s=a[0];

for(i=1;

5;

s+=a[i];

av=s/5;

returnav;

voidmain()

floatsco[5],av;

\ninput5scores:

scanf("

%f"

&

sco[i]);

av=aver(sco);

averagescoreis%5.2f\n"

av);

getch();

7:

输出Fibonacci数列的前15项,要求每行输出5项。

Fibonacci数列:

1,1,2,3,5,8,13...........

#include<

stdio.h>

intfib[14],i;

fib[0]=1;

fib[1]=1;

for(i=2;

15;

fib[i]=fib[i-2]+fib[i-1];

%d\t"

fib[i]);

if(i%5==4)printf("

9:

通过函数的递归调用计算阶乘。

longpower(intn)

longf;

if(n>

1)

f=power(n-1)*n;

else

f=1;

return(f);

intn;

longy;

inputainteagernumber:

%d"

n);

y=power(n);

%d!

=%ld\n"

n,y);

10:

计算圆周率的近似值。

math.h>

ints;

floatn,pi;

doublet;

t=1;

pi=0;

n=1;

s=1;

while(fabs(t)>

=2e-6)

pi+=t;

n+=2;

s=-s;

t=s/n;

pi*=4;

pi=%.6f\n"

pi);

11:

删除字符串中的数字字符。

输入字符串:

48CTYP9E6,则输出:

CTYPE。

/***********SPACE***********/

voidfun(char*s)

char*p=s;

while(*p)

if((*p>

='

0'

)&

&

(*p<

9'

))p++;

else*s++=*p++;

*s='

\0'

;

main()

charitem[100];

\nEnterastring:

"

gets(item);

fun(item);

\nThestring:

\"

%s\"

item);

12:

计算并输出500以内最大的10个能被13或17整除的自然数之和。

conio.h>

intfun(intk)

intm=0,mc=0,j,n;

while(k>

=2&

mc<

10)

if(k%13==0||k%17==0)

m=m+k;

mc++;

k--;

returnm;

main()

{

clrscr();

%d\n"

fun(500));

13:

统计一个字符串中的字母、数字、空格和其它字符的个数。

stdio.h"

chars1[80];

inta[4]={0};

intk;

voidfun(chars[],intb[]);

gets(s1);

fun(s1,a);

puts(s1);

for(k=0;

4;

voidfun(chars[],intb[])

for(i=0;

s[i]!

if('

a'

<

=s[i]&

s[i]<

z'

||'

A'

Z'

b[0]++;

elseif('

=s[i]&

s[i]<

b[1]++;

elseif(s[i]=='

'

b[2]++;

else

b[3]++;

14:

求两个非负整数的最大公约数和最小公倍数。

intm,n,r,p,gcd,lcm;

%d%d"

m,&

if(m<

n){p=m,m=n;

n=p;

p=m*n;

r=m%n;

while(r!

=0)

m=n;

n=r;

gcd=n;

lcm=p/gcd;

gcd=%d,lcm=%d\n"

gcd,lcm);

15:

以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。

inti,n,sum;

sum=0;

n=0;

i<

=300;

if(i%7==0||i%17==0)

if(i%2==0)

sum=sum+i;

n++;

%6d"

i);

if(n%5==0)

\ntotal=%d"

sum);

16:

不用第三个变量,实现两个数的对调操作。

inta,b;

%d%d"

a,&

b);

a=%d,b=%d\n"

a,b);

a=a+b;

b=a-b;

a=a-b;

}

17:

找出数组中最大值和此元素的下标,数组元素的值由键盘输入。

inta[10],*p,*s,i;

a+i);

for(p=a,s=a;

p-a<

p++)

if(*p>

*s)s=p;

max=%d,index=%d\n"

*s,s-a);

18:

输入学生成绩并显示。

#include<

structstudent

charnumber[6];

charname[6];

intscore[3];

}stu[2];

voidoutput(structstudentstu[2]);

inti,j;

2;

i++)

请输入学生%d的成绩:

i+1);

学号:

"

%s"

&

stu[i].number);

姓名:

stu[i].name);

for(j=0;

j<

3;

j++)

成绩%d."

j+1);

stu[i].score[j]);

output(stu);

voidoutput(structstudentstu[2])

学号姓名成绩1成绩2成绩3\n"

%-6s%-6s"

stu[i].number,stu[i].name);

%-8d"

stu[i].score[j]);

19:

计算平均成绩并统计90分以上人数。

intn,m;

floatgrade,average;

average=n=m=0;

while

(1)

scanf("

grade);

if(grade<

0)break;

average+=grade;

90)continue;

m++;

if(n)printf("

%.2f%d\n"

average/n,m);

20:

输入三个整数x,y,z,请把这三个数由小到大输出。

intx,y,z,t;

%d%d%d"

x,&

y,&

z);

if(x>

y){t=x;

x=y;

y=t;

if(x>

z){t=z;

z=x;

x=t;

if(y>

z){t=y;

y=z;

z=t;

smalltobig:

%d%d%d\n"

x,y,z);

21:

三角形的面积为:

area=sqrt(s*(s-a)*(s-b)*(s-c)).其中

,s=(a+b+c)/2,a、b、c为三角形三条边的长。

定义两个带

参数的宏,一个用来求s,另一个用来求area。

编写程序,

在程序中用带参数的宏求面积area。

math.h"

#defineS(x,y,z)(x+y+z)/2

#defineAREA(s,x,y,z)sqrt(s*(s-x)*(s-y)*(s-z))

floata,b,c,s,area;

a,b,c="

%f,%f,%f"

a,&

b,&

c);

if(a+b>

c&

b+c>

a&

c+a>

b)

s=S(a,b,c);

area=AREA(s,a,b,c);

area=%f\n"

area);

24:

要求输出如下结果:

b=-1a=65535

a=65534

a=30b=6c=5

intb=-1,c;

unsigneda;

a=b;

b=%da=%u\n"

b,a);

a+=b;

a=%u\n"

a);

b=(a=30)/(c=5);

a=%db=%dc=%d\n"

a,b,c);

25:

用函数调用方式,实现字符串的复制。

voidstring_copy(char*str_from,char*str_to)

inti=0;

for(;

(*(str_to+i)=*(str_from+i))!

i++);

staticchararray_str1[20]="

Iamateacher."

chararray_str2[20];

string_copy(array_str1,array_str2);

array_str2=%s\n"

array_str2);

26:

计算并输出high以内最大的10个素数之和,high由主函数传给fun函数,若high的值为100,则函数的值为732。

intfun(inthigh)

intsum=0,n=0,j,yes;

while((high>

=2)&

(n<

10))

{

yes=1;

for(j=2;

=high/2;

j++)

if(high%j==0)

yes=0;

break;

if(yes)

sum+=high;

high--;

returnsum;

fun(100));

27:

下面的程序是求1!

+3!

+5!

+……+n!

的和。

longintf,s;

inti,j,n;

s=0;

=n;

i+=2)

for(j=1;

=i;

f=f*j;

s=s+f;

n=%d,s=%ld\n"

n,s);

28:

打印以下图形。

*****

*****

chara[5][9]={"

};

inti,j;

for(j=i;

i+5;

a[i][j]='

*'

%c"

a[i][j]);

29:

求一个二维数组中每行的最大值和每行的和。

s

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1