C语言.docx

上传人:b****4 文档编号:12042178 上传时间:2023-04-16 格式:DOCX 页数:43 大小:36KB
下载 相关 举报
C语言.docx_第1页
第1页 / 共43页
C语言.docx_第2页
第2页 / 共43页
C语言.docx_第3页
第3页 / 共43页
C语言.docx_第4页
第4页 / 共43页
C语言.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

C语言.docx

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

C语言.docx

C语言

一.1请编写程序,输出1~1000之间能被11整除且个位数为5的所有整数。

#include

intmain()

{

inti;

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

if(i%11==0&&i%10==5)

printf("%5d",i);

printf("\n");

return0;

}

2请编写程序,输出50~100之间能被7或11整除,但不能同时被7和11整除的所有整数。

#include

intmain()

{

inti;

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

if((i%7==0||i%11==0)&&(i%77!

=0))

printf("%4d",i);

printf("\n");

return0;

}

二.1从键盘任意输入一个4位数x,编程计算x的每一位数字相加之和。

例如,输入x为1234,则输出结果为10。

#include

intmain()

{

intn,a,b,c,d;

printf("请输入一个四位数:

\n");

scanf("%d",&n);

a=n/1000;

b=n/100%10;

c=n/10%10;

d=n%10;

printf("和是%d\n",a+b+c+d);

return0;

}

2.编程输出100~1000之间的所有个位数字与十位数字之和对10求余等于百位的数字的数。

例如:

835,(3+5)%10=8.

#include

intmain()

{

inti;

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

if((i/10%10+i%10)==i/100%10)

printf("%5d",i);

printf("\n");

return0;

}

3.用户输入一个三位正整数,编程输出该数的个位、十位、百位,例如:

输入356,输出6,5,3.

#include

intmain()

{

intx,a,b,c;

printf("请输入一个三位数:

\n");

scanf("%d",&x);

a=x%10;b=x/10%10;c=x/100;

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

return0;

}

4,给一个不多于5位的正整数,要求:

①求出它是几位数并分别输出每一位数字;②按逆序打印出各位数字,例如原数为321,应输出123

#include

intmain()

{

inta,b,c,d,e,x;

printf("请输入一个不多于5位的整数:

\n");

scanf("%d",&x);

a=x%10;

b=x/10%10;

c=x/100%10;

d=x/1000%10;

e=x/10000%10;

if(e!

=0)

{printf("它是五位数,个位是:

%d,十位是:

%d,百位是:

%d,千位是:

%d,万位是:

%d\n",a,b,c,d,e);

printf("逆序%d\n",e+d*10+c*100+b*1000+a*10000);}

elseif(d!

=0)

{x=x*10;

printf("它是四位数,个位是:

%d,十位是:

%d,百位是:

%d,千位是:

%d\n",a,b,c,d);

printf("逆序%d\n",d+c*10+b*100+a*1000);}

elseif(c!

=0)

{x=x*100;

printf("它是三位数,个位是:

%d,十位是:

%d,百位是:

%d\n",a,b,c);

printf("逆序%d\n",c+b*10+a*100);}

elseif(b!

=0)

{x=x*1000;

printf("它是两位数,个位是:

%d,十位是:

%d\n",a,b);

printf("逆序%d\n",b+a*10);}

elseif(a!

=0)

{x=x*10000;

printf("它是一位数,个位是:

%d\n",a);

printf("逆序%d\n",a);}

return0;

}

三.1请编程计算圆锥体的体积。

已知圆锥的底面直径和高均为10cm。

圆锥体体积计算公式为:

V=(1/3)*S*h,S是圆锥的底面积,h是圆锥的高。

#include

intmain()

{

doubleh=10,pi=3.14,r=5,v;

v=pi*r*r*h/3;

printf("体积:

v=%lfcm^3\n",v);

return0;

}

2某铁桶厂应客户要求定做一批铁桶,客户给出了铁桶的规格,高30cm,半径10cm,共订做1500个铁桶。

计算出所需的原材料。

(注意:

铁桶包含一个底面和侧面)

#include

intmain()

{

doubleh=0.3,r=0.1,n=1500.0,s=0.0;

s=n*(2*3.14*r*h+3.14*r*r);

printf("所需原材料为%lfcm^2\n",s);

return0;

}

3设圆半径r=1.5,圆柱高h=3,求圆柱体积,圆柱底面积,圆柱表面积。

用scanf()输入数据,输出计算结果。

输出时要有说明,结果取小数点后两位数字。

(圆柱体积计算公式:

底面积*高)

#include

intmain()

{

floath,r,v,s1,s2;

printf("请输入高和半径的数值:

\n");

scanf("%f,%f",&h,&r);

v=3.14*r*r*h;

s1=3.14*r*r;

s2=2*3.14*r*r+2*3.14*r*h;

printf("圆柱体积v=%.2f\n",v);

printf("圆柱底面积s1=%.2f\n",s1);

printf("圆柱表面积s2=%.2f\n",s2);

return0;

}

4.假如我国国民生产总值的年增长率为9%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为:

公式p=(1+r)^n,r为年增长率,n为年数,p为与现在相比的倍数

#include

#include

intmain()

{

doubler=0.09,p;

intn=10;

p=pow(1+r,n);

printf("p=%.3lf\n",p);

return0;

}

5编写程序,从键盘输入x,y的值,利用系统库函数求Xy的值。

例如:

输入x,y的值分别是2,3,则输出结果为:

8

#include

#include

intmain()

{

inta,b,c;

printf("请输入a,b的值:

\n");

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

c=pow(a,b);

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

return0;

}

6根据用户从键盘输入的三角形三边长度a,b,c,计算该三角形的面积。

若用户输入的三条边不能构成三角形,则直接输出信息:

“不能构成三角形!

”。

提示:

1.构成三角形的三条边应满足条件:

任意两条边的和均大于第三边;

2.已知三角形的三条边长,计算三角形面积的公式为

s=sqrt(p*(p-a)*(p-b)*(p-c));,其中p=(a+b+c)/2

#include

#include

intmain()

{

floata,b,c,s,p;

printf("请输入三条边的长度:

\n");

scanf("%f,%f,%f",&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

{

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("面积是:

s=%.2f\n",s);

}

else

printf("不能构成三角形!

\n");

return0;

}

四.1计算1+1/2+1/3+1/4+…+1/99+1/100的值,并输出结果

#include

intmain()

{

inti;

floats=0.0;

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

s=s+1.0/i;

printf("和是%f\n",s);

return0;

}

 

2有一分数序列:

,求出这个数列的前10项之和。

#include

intmain()

{

inti;

floatfz,fm,s=0,j;

for(i=1,fz=2,fm=1;i<=10;i++)

{

s+=fz/fm;

j=fz;

fz+=fm;

fm=j;

}

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

return0;

}

 

五,1让用户输入一个年份,判断改年份是否是闰年判断闰年的条件时年份被4整除不能被100整除,或者被400整除

#include

intmain()

{

inta;

printf("请输入一个年份:

\n");

scanf("%d",&a);

if(a%4==0&&a%100!

=0||a%400==0)

printf("%d年是闰年\n",a);

else

printf("%d年不是闰年\n",a);

return0;

}

2有一个函数

写程序,输入x的值,输出y相应的值。

#include

intmain()

{

intx,y;

printf("请输入x的数值:

\n");

scanf("%d",&x);

if(x<1)

y=x;

elseif(x<10)

y=2*x-1;

else

y=3*x-11;

printf("当x=%d时y=%d\n",x,y);

return0;

}

3在学生成绩管理中,经常要将成绩的百分制转换成对应的等级制。

90分以上为A等,80-89为B等,70-79为C等,60-69分为D等,其余为E等。

编写程序,根据输入的百分制成绩,输出对应的等级。

#include

intmain()

{

inta;

printf("请输入学生成绩:

\n");

scanf("%d",&a);

if(a>=90&&a<=100)

printf("A\n");

elseif(a>=80&&a<90)

printf("B\n");

elseif(a>=70&&a<80)

printf("C\n");

elseif(a>=60&&a<70)

printf("D\n");

else

printf("E\n");

return0;

}

4有3个整数a,b,c,由键盘输入,输出其中最大的数。

#include

intmain()

{

inta,b,c,t;

printf("请输入三个整数:

\n");

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

t=a;

if(b>t)

t=b;

if(c>t)

t=c;

printf("最大值是%d\n",t);

return0;

}

六1请编写程序,打印如下图案。

(*的个数和行数由键盘输入)

*****

*****

*****

*****

*****

#include

intmain()

{

inti,j,m,n;

printf("请输入行数m:

");

scanf("%d",&m);

printf("请输入'*'的个数n:

");

scanf("%d",&n);

for(i=1;i

{

for(j=1;j

printf("");

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

printf("*");

printf("\n");

}

return0;

}

2编写程序输出下列图形:

*

***

*****

*******

#include

intmain()

{

inti,j;

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

{

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

printf("*");

printf("\n");

}

return0;

}

3输入n值,输出如图所示高和上底均为n的等腰梯形。

图为当n=5时

#include

intmain()

{

inti,j,t,n;

printf("输入一个数:

\nn=");

scanf("%d",&n);

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

{

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

printf("");

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

printf("*");

printf("\n");

}

return0;

}

4编程实现输出有键盘读入的N行的杨辉三角形。

1

11

121

1331

#include

#defineN10

intmain()

{

printf("修改define中N之后的数字可改变行数\n");

inti,j,a[N][N];

for(i=0;i

{

a[i][i]=1;

a[i][0]=1;

}

for(i=2;i

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

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

for(i=0;i

{

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

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

printf("\n");

}

printf("\n");

return0;

}

七,1韩信点兵。

韩信有一队兵,他想知道有多少人,便让士兵排队报数:

按从1至5报数,最末一个士兵报的数为1;按从1至6报数,最末一个士兵报的数为5;按从1至7报数,最末一个士兵报的数为4;最后再按从1至11报数,最末一个士兵报的数为10。

请编程计算韩信至少有多少兵。

#include

intmain()

{

intsum;

for(sum=1;;sum++)

if(sum%5==1&&sum%6==5&&sum%7==4&&sum%11==10)

{

printf("军队人数最少是%d\n",sum);

break;

}

return0;

}

2编程判断用户输入的m是否为素数,已知0和1不是素数。

#include

#include

intprime(inta)

{

inti,n;

if(a==1)return0;

n=(int)sqrt((double)a);

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

if(a%i==0)return0;

return1;

}

intmain()

{

intn;

printf("请输入一个数字:

\n");

scanf("%d",&n);

if(prime(n))

printf("%disaprime.\n",n);

else

printf("%disnotaprime.\n",n);

}

3从1开始做自然数的累加,当其累加和超过1000的时候,共计累加了多少数?

当时的累加和是多少?

#include

intmain()

{

inti=1,sum=0,n=0;

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

{

sum=i+sum;

n++;

if(sum>=1000)break;

}

printf("累加了%d个数\n和是%d\n",n,sum);

return0;

}

八,1从键盘上输入一个小写字母,把它转变为大写字母再输出。

#include

intmain()

{

charc1,c2;

printf("请输入一个小写字母\n");

scanf("%c",&c1);

c2=c1-32;

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

return0;

}

九,1编程计算一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?

第10次反弹多高?

#include

intmain()

{

doublesn=100,hn=sn/2;

intn;

for(n=2;n<=10;n++)

{

sn=sn+2*hn;

hn=hn/2;

}

printf("第十次落地时共经过%lf米\n",sn);

printf("第十次反弹%lf米\n",hn);

return0;

}

2输入一行不大于80个字符的字符串。

统计其中小写字母的个数并输出结果。

#include

#include

intmain()

{

chara[80];

inti,xxzm=0,n;

printf("请输入一行不大于80个字符的字符串:

\n");

gets(a);

n=strlen(a);

for(i=0;i

if(a[i]>='a'&&a[i]<='z')

xxzm++;

printf("小写字母有%d个\n",xxzm);

return0;

}

3编程计算1-100之间所有的偶数的和。

#include

intmain()

{

inta[100],i,sum=0;

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

a[i]=i+1;

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

{if(a[i]%2!

=0)

continue;

sum=a[i]+sum;

}

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

return0;

}

4百钱买百鸡问题:

公鸡每只5元,母鸡每只3元,小鸡3只1元。

用100元买100只鸡,问公鸡、母鸡和小鸡各能买多少只?

#include

intmain()

{

inta,b,c;

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

{for(b=1;b<=33;b++)

for(c=3;c<=99;c=c+3)

if(5*a+3*b+c/3==100&&a+b+c==100)

printf("公鸡个数是%d,母鸡个数是%d,小鸡个数是%d\n",a,b,c);

}

return0;

}

5编程计算1!

+2!

+3!

+4!

+5!

的值。

#include

intmain()

{

inti,sum=0,n=1;

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

{n=n*i;

sum=sum+n;

}

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

return0;

}

6从键盘输入两个整数,求两个整数的最大公约数。

#include

intmain()

{

intm,n,t;

printf("请输入两个正整数:

\n");

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

if(m

{t=m;m=n;n=t;}

while(m%n!

=0)

{t=m%n;

m=n;

n=t;}

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

return0;

}

7一个数如果恰好等于它的因子之和,这个数就称为“完数”。

例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。

编程找出1000之内的所有完数,并按下面格式输出其因子:

6itsfactorsare123

#include

#defineN1000

intmain()

{

inti,j,sum;

for(i=1;i

{

sum=0;

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

if(i%j==0)

sum+=j;

if(sum==i)

{

printf("%ditsfactorsare:

",i);

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

{

if(i%j==0)

printf("%d,",j);

}

printf("\n");

}

}

return0;

}

十1求Fibonacci数列中前20个数,Fibonacci数列的前两个数为1,1,以后每一个数都是前两个数之和。

Fibonacci数列的前n个数为1,1,2,3,5,8,13,用数组存放数列的前20个数,并输出之(按一行5个输出)。

(递推公式)

#include

intmain()

{

inti;

intf[20]={1,1};

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

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

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

{

if(i%5==0)printf("\n");

printf("%12d",f[i]);

}

printf("\n");

return0;

}

2有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入到数组中。

(插入)

#include

intmain()

{

inti,m,j,t,a[6]={1,2,5,7,9};

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

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

printf("\n");

printf("请输入要插入的数:

");

scanf("%d",&m);

a[5]=m;

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

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

if(a[i]

{t=a[i];a[i]=a[j];a[j]=t;}

printf("现在的数组是:

\n");

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

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

printf("\n");

return0;

}

3对用户输入的10个整数逆序排列并输出(

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

当前位置:首页 > 工作范文 > 制度规范

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

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