2C语言上机练习题总结版.docx

上传人:b****5 文档编号:3988562 上传时间:2022-11-26 格式:DOCX 页数:30 大小:49.34KB
下载 相关 举报
2C语言上机练习题总结版.docx_第1页
第1页 / 共30页
2C语言上机练习题总结版.docx_第2页
第2页 / 共30页
2C语言上机练习题总结版.docx_第3页
第3页 / 共30页
2C语言上机练习题总结版.docx_第4页
第4页 / 共30页
2C语言上机练习题总结版.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

2C语言上机练习题总结版.docx

《2C语言上机练习题总结版.docx》由会员分享,可在线阅读,更多相关《2C语言上机练习题总结版.docx(30页珍藏版)》请在冰豆网上搜索。

2C语言上机练习题总结版.docx

2C语言上机练习题总结版

“C语言”上机题目汇总

2013-2014-2

1.输入三角形两个边长及其夹角(角度值),求第三边边长和三角型面积。

2.输入一个字符,若是小写字母,则转换成大写字母输出;若是大写字母,则转换成小写字母输出。

3.输入一个大写字母,输出字母表中它前面的字母和后面的字母。

如果输入的字母为A或Z,则分别输出提示信息“没有前面的字母”或“没有后面的字母”。

4.编写程序,输入一个整数,判断它能否被3、5、7整除,并根据情况输出下列信息:

(1)能同时被3、5、7整除。

(2)能同时被3、5、7中的两个数整除,并输出这两个数。

(3)只能被3、5、7中的一个数整除,输出该数。

(4)不能被3、5、7中的任何一个数整除。

5.已知正整数A>B>C且A+B+C<100,求满足

共有多少组,并输出满足条件的组合。

6.求

的值,直到最后一项的值小于

7.用迭代法求某数

的平方根,已知求平方根的迭代公式为:

为迭代初值,迭代的结束条件取

8.分别输出100以内(不包括100)所有偶数的和与所有奇数的和。

9.利用嵌套循环输出以下图形(行与行之间无空行,列与列之间无空列):

#

##

###

####

10.使用循环找到并输出100以内的所有素数。

11.利用循环找出并输出所有的“水仙花数”。

“水仙花数”是一个三位数,其各位数字的立方和等于该数本身。

,所以153是“水仙花数”。

12.输出斐波那契数列的前40项。

斐波那契数列是个整数数列,其定义为:

13.输出100以内所有的“同构数”。

所谓“同构数”一个正整数,它出现在其平方数的右边。

例如:

5是25右边的数,25是625右边的数,5和25都是同构数。

14.指定一个正整数n,并输入n个整数,用冒泡法将它们由小到大顺序排列并输出。

15.利用循环打印下列九九乘法表:

1*1=1

2*1=22*2=4

3*1=33*2=63*3=9

4*1=44*2=84*3=124*4=16

5*1=55*2=105*3=155*4=205*5=25

6*1=66*2=126*3=186*4=246*5=306*6=36

7*1=77*2=147*3=217*4=287*5=357*6=427*7=49

8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64

9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*9=81

16.利用循环打印以下杨辉三角(要求打印7行):

1

11

121

1331

14641

15101051

1615201561

17.利用循环输出下列图形(无空行和空列):

*

***

*****

*******

18.不使用strcat函数,将两个字符串连接起来。

19.编写函数,求

的值。

n的值由键盘获得。

20.编写函数intfun(charstr[])并在主函数中调用它。

此函数的功能是判别字符串str是否为“回文”,若是,返回1,否则返回0(回文是指正反序相同的字符串,如“13531”、“madam”是回文,“1353”、“mrs”不是回文)。

21.用递归方法计算

22.用静态局部变量法计算

23.编写函数,求

,其中:

24.编写程序,计算组合数

m和n由键盘获得。

25.编写函数,求出n个a之积。

调用该函数,输入两个正整数n和a,求

之和。

26.编写程序,使用字符指针将字符数组s1中的字符串拷贝到字符数组s2中去。

27.使用“指向函数的指针”编写函数,求多项式

时的值。

28.编写函数,将直角坐标

转换为极坐标

转换公式为:

29.编写函数,使用指针参数将字符串ch2复制到字符串ch1的末尾,实现ch1与ch2的连接。

30.利用指针编写程序,将一个一维数组a[10]中的最大元素和首元素换位,最小元素和末元素换位。

数组元素由键盘获得。

31.试编程序,输入整数a和b,若

大于100,则输出

百位以上(包括百位)的数字,否则输出两数之和。

32.试编程序,求一个整数任意次方的最后三位数。

即求

的最后三位数,要求x,y从键盘输入,使用循环实现,不能使用数学库函数。

33.求

的个、十、百位上数字之和。

34.输出100以内每位数的积大于每位数的和的所有正整数。

35.通过循环按行优先顺序为一个5×5的二维数组a赋1到25的自然数,然后输出该数组的左下半三角。

36.从键盘输入若干整数(个数小于30),其值在0至4的范围内,用-1作为输入结束的标志。

统计每个整数的个数。

37.定义一个含有30个整型元素的数组,按顺序分别赋予从2开始的偶数,然后按顺序每五个数求出一个平均值,放在另一个数组中并输出。

38.数组a包括10个整数,把a中所有的后项除以前项之商取整后存入数组b,并按每行3个元素的格式输出数组b。

39.编写函数sstrcmp,实现两个字符串的比较(即实现与strcmp函数功能相同的函数)。

若两个字符串相等,返回值为0;若不等,则返回两个对应字符的ASCII码值差值。

若前者大,应返回正值,若后者大,应返回负值。

1、#include

#include

main()

{

doublea,b,c,d,e,s;

scanf("%lf%lf%lf",&a,&b,&d);

e=cos(d*3.1415926/180);

c=sqrt(a*a+b*b-2*a*b*e);

s=1.0*a*b*sin(d*3.145926/180)/2;

printf("第三条边=%f,面积为=%f",c,s);

}

2、#include

main()

{

charch;

ch=getchar();

if(ch>=65&&ch<=90)

ch=ch+32;

else

ch=ch-32;

printf("%c",ch);

}

3,#include

main()

{

intx,y;

charch;

ch=getchar();

if(ch==65)

printf("没有前面的字母");

elseif(ch==90)

printf("没有后面的字母");

else

{x=ch-1;y=ch+1;printf("%c%c",x,y);}

}

4、#include

main()

{

intx;

printf("Pleaseinput:

\n");

scanf("%d",&x);

if(x%3==0&&x%5==0&&x%7==0)

printf("能同时被3、5、7整除。

\n");

elseif(x%3==0&&x%5==0)

printf("能同时被3、5、7中的两个数整除,分别是3,5\n");

elseif(x%3==0&&x%7==0)

printf("能同时被3、5、7中的两个数整除,分别是3,7\n");

elseif(x%5==0&&x%7==0)

printf("能同时被3、5、7中的两个数整除,分别是5,7\n");

elseif(x%3==0&&x%5!

=0&&x%7!

=0)

printf("只能被3、5、7中的一个数整除,是3\n");

elseif(x%3!

=0&&x%5==0&&x%7!

=0)

printf("只能被3、5、7中的一个数整除,是5\n");

elseif(x%3!

=0&&x%5!

=0&&x%7==0)

printf("只能被3、5、7中的一个数整除,是7\n");

else

printf("不能被3、5、7的任何一个数整除\n");

}

5、#include

main()

{

inta,b,c,i=0;

for(c=1;c<33;c++)

for(b=c+1;b<49;b++)

for(a=b+1;a<97;a++)

if((1.0/(a*a)+1.0/(b*b))==1.0/(c*c))

{i++;printf("a=%d,b=%d,c=%d\n",a,b,c);}

printf("有%d组\n",i);

}

5.已知正整数A>B>C且A+B+C<100,求满足共有多少组,并输出满足条件的组合。

(2)

#include

main()

{

inta,b,c,i=0;

for(a=1;a<99;a++)

for(b=1;b

for(c=1;c

if(a+b+c<100&&(1.0/(a*a)+1.0/(b*b))==1.0/(c*c))

{i++;printf("a=%d,b=%d,c=%d\n",a,b,c);}

printf("有%d组\n",i);

}

6,#include

main()

{

inti=0;

doubles=0,c=1;

while(1/c>=1e-5)

{s=s+1/c;i++;c=c+i;}

printf("sum=%f\n",s);

return0;

}或者#include

main()

{

inti=0;

doubles=0,c=1;

while(1/c>=1e-5)

{

s=s+1/c;

c=c+i;

c=c+1;

i++;

}

printf("sum=%f\n",s);

return0;

}

7、#include

#include

main()

{

floata,x0,x1;

scanf("%f",&a);

x1=a/2;

do{

x0=x1;

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

}while(fabs(x1-x0)>1e-5);

printf("a=%f,squart(a)=%f\n",a,x1);

}

8、#include

main()

{

inti,s1=0,s2=0;

for(i=1;i<100;i++)

if(i%2==0)

s2=s2+i;

else

s1+=i;

printf("s1=%d,s2=%d",s1,s2);

}

9、#include

main()

{

inti,j,k;

for(i=1;i<=4;i++)

{for(j=1;j<=5-i;j++)

printf("");

for(k=1;k<=i;k++)

printf("#");

printf("\n");}

}

10、#include

#include

intsu(intx)

{

inti=1;

doublek;

k=sqrt(x);

if(x>=0)

{while(++i<=k)

{if(x%i==0)

return0;}

if(i>k)

return1;}

else

return2;

}

main()

{

intb,i;

for(i=1;i<100;i++)

{

b=su(i);

if(b==1)

printf("%d\n",i);}

}

(2)

//判断一个数是否为素数

#include

intmain()

{

intn,i;

scanf("%d",&n);

for(i=2;i<=n-1;i++)

if(n%i==0)break;

if(i>=n)

printf("%disprime\n",n);

else

printf("%disnotprime\n",n);

return0;

}

(3)

//找出100以内的素数

#include

intmain()

{

intn,i;

for(n=3;n<=100;n++,n++)

{

for(i=2;i<=n-1;i++)

if(n%i==0)break;

if(i>=n)

printf("%d\n",n);

}

return0;

}

11、#include

main()

{

inta,b,c,i;

for(i=100;i<1000;i++)

{a=i/100;

b=i/10%10;

c=i%10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%d\n",i);}

}

//多重循环实现水仙花数

#include

intmain()

{

inti,j,k,a;

for(i=1;i<=9;i++)

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

{

a=i*100+j*10+k;

if(i*i*i+j*j*j+k*k*k==a)

printf("%d\n",a);

}

return0;

}

12、#include

main()

{

inta=1,b=1,c,i;

for(i=1;i<=40;i++)

if(i<3)

printf("1\n");

else

{c=a+b;

printf("%d\n",c);

a=b;

b=c;}

}

(2)

(2)

//斐波那契数列

#include

intmain()

{

inta=1,b=1,i;

printf("%-6d%-6d\n",a,b);

for(i=2;i<=20;i++)

{

a=a+b;

b=a+b;

printf("%-6d%-6d\n",a,b);

}

return0;

}

13、#include

intf(intn)

{

intx;

x=n*n;

if(n<4)

{if(n==x)

return1;

else

return0;}

elseif(n<10)

{if(n==(x%10))

return1;

else

return0;}

else

{if(n==(x%100))

return1;

else

return0;}

}

main()

{

inti;

for(i=0;i<100;i++)

if(f(i))

printf("%d\n",i);

}

14、#include

main()

{

inta[100],i,j,n,t;

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

for(j=1;j

if(a[j-1]>a[j])

{t=a[j-1];a[j-1]=a[j];a[j]=t;}

printf("排序:

\n");

for(i=0;i

printf("%d",a[i]);

}

15、

(1)//乘法表

#include

intmain()

{

inti,j,x;

for(i=1;i<=9;i++)

{

for(j=1;j<=i;j++)

printf("%d*%d=%-3d",i,j,i*j);

printf("\n");

}

return0;

}

(2)

#include

main()

{

inti,j,x;

for(i=1;i<=9;i++)

for(j=i,x=1;x<=i;x++)

{printf("%2d*%d=%2d",i,j,x*j);

if(x==i)

printf("\n");}

}

16、#include

main()

{

inti,j,a[7][7]={0};

for(i=0;i<7;i++)

{a[i][0]=1;

for(j=1;j<=i;j++)

a[i][j]=a[i-1][j-1]+a[i-1][j];}

for(i=0;i<7;i++)

{for(j=0;j<=i;j++)

printf("%4d",a[i][j]);

printf("\n");}

}

17、

(1)正三角形

#include

intmain()

{

inti,j,k;

for(i=1;i<=4;i++)

{

for(j=i;j<=4;j++)

printf("");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

}

(2)

#include

main()

{

intn=4,i,j,z;

for(i=1;i<=4;i++)

{for(j=1;j<=4-i;j++)

printf("");

for(z=1;z<=(2*i-1);z++)

printf("*");

for(j=1;j<=4-i;j++)

printf("");

printf("\n");}

}

18、#include

main()

{

chars1[80],s2[80];

inti=0,j=0;

gets(s1);

gets(s2);

while(s1[i++]);

i=i-1;

while(s2[j])

{s1[i]=s2[j];i++;j++;}

s1[i]='\0';

printf("%s\n",s1);

}

19、#include

main()

{

intn,i;

doubles=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

s=s+1.0/i;

printf("%6.2f\n",s);

}

20、#include

intfun(charstr[])

{

inti=0,n=0;

while(str[i++]);

n=i-1;

for(i=0;i

if(str[i]!

=str[n-1-i])

return0;

if(i==n/2)

return1;

else

return0;

}

main()

{

chars[30];

printf("Pleaseinput:

\n");

gets(s);

if(fun(s)==0)

printf("不是回文");

else

printf("是回文");

}

21、#include

#include

#include

longf(intn)

{

longk;

if(n<0)

{

printf("Error!

\n");

exit(0);

}

elseif(n==0||n==1)

k=1;

else

k=n*f(n-1);

returnk;

}

main()

{

intn;

longk;

printf("Pleaseinput:

\n");

scanf("%d",&n);

k=f(n);

printf("%d!

=%d",n,k);

}

22、#include

doublef(intn)

{

staticintc;

inti,k=1;

c=n;

for(i=1;i<=n;i++)

k=k*i;

returnk;

}

main()

{

intq;

scanf("%d",&q);

f(q);

printf("%f",f(q));

}

23、#include

doublef(intn)

{

doubles=0;

inti;

for(i=1;i<=n;i++)

s=s+1.0/i;

returns;

}

intmain()

{

doubles;

s=f(50)+f(100)+f(150)+f(200);

printf("s=%8.2lf",s);

return0;

}

24、#include

longfun1(longn)

{

longk=1;

inti;

for(i=1;i<=n;i++)

k=k*i;

returnk;

}

longfun2(longm,longn)

{

longc;

c=fun1(m)/(fun1(n)*fun1(m-n));

returnc;

}

main()

{

longc,m,n;

printf("Pleaseinputmandn:

\n");

scanf("%ld%ld",&m,&n);

c=fun2(m,n);

printf("%ld",c);

}

25、

(1)//a+aa+aaa+aaaa

#include

intmain()

{

intn,i,a,t;

doubles=0;

printf("Pleaseinputnanda:

\n");

scanf("%d%d",&n,&a);

t=a;

for(i=1;i<=n;i++)

{

s=s+a;

a=a*10;

a=a+t;

}

printf("%6.2f",s);

return0;

}

#include

doublef(intn,inta)

{

doubles=1;

inti;

for(i=1;i<=n;i++)

s*=a;

returns;

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

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

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

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