C语言程序题.docx

上传人:b****4 文档编号:3003745 上传时间:2022-11-17 格式:DOCX 页数:18 大小:18.25KB
下载 相关 举报
C语言程序题.docx_第1页
第1页 / 共18页
C语言程序题.docx_第2页
第2页 / 共18页
C语言程序题.docx_第3页
第3页 / 共18页
C语言程序题.docx_第4页
第4页 / 共18页
C语言程序题.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

C语言程序题.docx

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

C语言程序题.docx

C语言程序题

三、程序题

1、编程序解百鸡问题:

100元钱买100只鸡,公鸡每只3元,母鸡每只5元,小鸡3只1元,问公鸡、母鸡、小鸡各多少只?

#include

intmain()

{

intx,y;

printf("百鸡问题解:

\n");

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

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

if(15*x+9*y+(100-x-y)==300)

printf("%d%d%d\n",x,y,100-x-y);

return0;

}

2、求出100-999的所有的水仙花数(水仙花数既xyz=x*x*x+y*y*y+z*z*z)

#include

#include

intmain()

{

inti,j,k,n;

for(n=101;n<1000;n++)

{

k=n%10;

j=n%100/10;

i=n/100;

if(n==pow(i,3)+pow(j,3)+pow(k,3))

printf("%d",n);

}

return0;

}

 

3、已知三角形的面积为area=sqrt(s*(s-a)*(s-b)*(s-c)),其中s=(a+b+c)/2,a,b,c为三角形的三边,由键盘输入三个数,请编程计算以这三个数为边长的三角形的面积(先判断能否成为三角形,再计算面积)

#include

#include

intmain()

{

floata,b,c,s,area;

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

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

{

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

area=(s*(s-a)*(s-b)*(s-c));

printf("三角形的面积为:

%f\n",area);

}

elseprintf("不能构成三角形");

return0;

}

 

4、编程序求解以下问题:

输入长方体的长、宽、高,求长方体的体积并输出。

#include

#include

intmain()

{

doublea,b,h,v;

printf("输入长方体的长、宽、高:

");

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

v=a*b*h;

printf("长方体的体积为:

%f\n",v);

return0;

}

 

5、先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线元素之和。

例如,输入下面的矩阵:

100200300

400500600

700800900

程序输出:

主对角线元素之和为:

100+500+900=1500

#include

intmain()

{

inta[3][3],i,j,s=0;

printf("请输入矩阵:

\n");

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

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

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

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

s=s+a[i][i];

printf("主对角线的和为:

%d+%d+%d=%d\n",a[0][0],a[1][1],a[2][2],s);

return0;

}

 

6、输入正整数n,输出n行n列的空心四边形图案。

以下是n等于4的图案。

****

**

**

****

#include

intmain()

{

inti,j,n;

printf("请输入n:

");

scanf("%d",&n);

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

{

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

if(i==1||j==1||i==n||j==n)

printf("*");

else

printf("");

printf("\n");

}

return0;

}

 

7、编程序解问题:

输入n,求1+2+3+…+n的和。

方法一:

#include

intmain()

{

intn,s=0,i;

printf("请输入n:

");

scanf("%d",&n);

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

s=s+i;

printf("1+2+3+...+%d=%d\n",n,s);

return0;

}

方法二:

#include

#defineN3

intmain()

{

ints=0,i=1;

while(i<=N)

{

s=s+i;

i=i+1;

}

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

return0;

}

方法三:

#include

#definen3

intmain()

{

ints=0,i=1;

do

{

s=s+i;

i=i+1;

}

while(i<=n);

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

return0;

}

方法四:

#include

#definen3

intmain()

{

ints=0,i;

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

s=s+i;

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

return0;

}

8、将一个数组中的值按逆序重新存放,例如原来数组a[]={8,6,5,7,4},要求改为{4,7,5,6,8}

#include

#defineN5

intmain()

{

inta[N],i,t;

printf("请输入矩阵:

\n");

for(i=0;i

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

for(i=0;i

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

printf("\n");

i=0;

while(i

{

t=a[i];

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

a[N-1-i]=t;

i++;

}

for(i=0;i

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

return0;

}

 

9、统计一维数组中大于0、等于0和小于0的个数,并输出。

#include

#defineN10

intmain()

{

inti,less=0,great=0,equal=0,a[N];

printf("请输入矩阵:

\n");

for(i=0;i

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

for(i=0;i

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

for(i=0;i

if(a[i]>0)

great++;

else

if(a[i]>0)

equal++;

else

less++;

printf("\n数组中大于0的个数为:

%d",great);

printf("\n数组中等于0的个数为:

%d",equal);

printf("\n数组中小于0的个数为:

%d",less);

return0;

}

 

10、编程输入x的值,求y=x20-2*x10+5的值。

#include

#include

intmain()

{

floatx,y;

printf("请输入x的值:

");

scanf("%f",&x);

y=pow(x,20)-2*pow(x,10)+5;

printf("y=%f\n",y);

return0;

}

 

11、输入一个3位的正整数,要求以相反的顺序输出该数。

例如输入一个数123,输出另一个数321。

#include

intmain()

{

intn,i,j,k;

printf("请输入一个3位的整数:

");

scanf("%d",&n);

i=n/100;

j=(n-i*100)/10;

k=n-i*100-j*10;

printf("%d\n",k*100+j*10+i);

return0;

}

 

12、编写程序:

输入3个0~9的正整数,输出由这3个数组成的一个3位数的正整数(例如输入3个数:

9,1,8,输出一个数:

918)。

#include

intmain()

{

inti,j,k,n;

printf("请输入3个0-9的正整数:

");

scanf("%d%d%d",&i,&j,&k);

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

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

return0;

}

 

13、输入三个整数,求出这三个数的和以及平均值,并在屏幕上输出

#include

intmain()

{

inta,b,c;

intsum;

doubleaverage;

printf("请输入3个整数:

");

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

sum=a+b+c;

average=(a+b+c)/3;

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

return0;

}

 

14、输入一个三位整数x(999=>x>=100),将其分解出百位、十位、个位,并求出各位之和以及各位之积。

#include

intmain()

{

intx;

inta,b,c;

intsum,product;

printf("请输入3个整数:

");

scanf("%d",&x);

a=x/100;

b=x%100/10;

c=x%10;

sum=a+b+c;

product=a*b*c;

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

return0;

}

 

15、请编写一个程序,能显示出以下两行文字。

Iamastudent.

IloveChina.

方法一:

#include

intmain()

{

printf("Iamastudent.\nIloveChina.");

return0;

}

方法二:

#include

intmain()

{

printf("Iamastudent.\n");

printf("IloveChina.\n");

return0;

}

16、输入一个字符,求其前驱字符和后继字符,并按其ASCII码值的降序输出此3个字符及其对应的ASCII码值。

#include

intmain()

{

charc,c1,c2;

printf("请输入字符:

");

scanf("%c",&c);

c1=c-1;

c2=c+1;

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

printf("%d%d%d\n",c2

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

当前位置:首页 > 农林牧渔 > 林学

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

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