C语言程序题

C语言程序题


2024年1月8日发(作者:)

三、程序题

1、编程序解百鸡问题:100元钱买100只鸡,公鸡每只3元,母鸡每只5元,小鸡3只1元,问公鸡、母鸡、小鸡各多少只?

#include

int main()

{

int x,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 %dn",x,y,100-x-y);

return 0;

}

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

#include

#include

int main()

{

int i,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);

}

return 0;

}

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

#include

#include

int main()

{

float a,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("三角形的面积为:%fn",area);

}

else printf("不能构成三角形");

return 0;

4、编程序求解以下问题:输入长方体的长、宽、高,求长方体的体积并输出。

#include

#include

int main()

{

double a,b,h,v;

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

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

v=a*b*h;

printf("长方体的体积为:%fn",v);

return 0;

}

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

例如, 输入下面的矩阵:

100 200 300

400 500 600

700 800 900

程序输出:

主对角线元素之和为:100+500+900=1500

#include

int main()

{

int a[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=%dn",a[0][0],a[1][1],a[2][2],s);

return 0;

}

6、输入正整数n,输出n行n列的空心四边形图案。以下是n等于4的图案。

* * * *

* *

* *

* * * *

#include

int main()

{

int i,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");

}

return 0;

7、编程序解问题:输入n,求1+2+3+…+n的和。

方法一:#include

int main()

{

int n,s=0,i;

printf("请输入n:");

scanf("%d",&n);

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

s=s+i;

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

return 0;

}

方法二:#include

#define N 3

int main()

{

int s=0,i=1;

while(i<=N)

}

{

s=s+i;

i=i+1;

}

printf("%dn",s);

return 0;

方法三:#include

#define n 3

int main()

{

int s=0,i=1;

do

{

s=s+i;

i=i+1;

}

while(i<=n);

printf("%dn",s);

return 0;

}

方法四:#include

#define n 3

int main()

{

int s=0,i;

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

s=s+i;

printf("%dn",s);

return 0;

}

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

#include

#define N 5

int main()

{

int a[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]);

return 0;

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

#include

#define N 10

int main()

{

int i,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);

return 0;

}

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

#include

#include

int main()

{

float x,y;

}

printf("请输入x的值:");

scanf("%f",&x);

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

printf("y=%fn",y);

return 0;

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

#include

int main()

{

int n,i,j,k;

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

scanf("%d",&n);

i=n/100;

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

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

printf("%dn",k*100+j*10+i);

return 0;

}

12、编写程序:输入3个0~9的正整数,输出由这3个数组成的一个3位数的正整数(例如输入3个数:9,1,8,输出一个数:918)。

#include

int main()

{

int i,j,k,n;

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

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

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

printf("%dn",n);

return 0;

}

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

#include

int main()

{

int a,b,c;

int sum;

double average;

printf("请输入3个整数:");

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

sum=a+b+c;

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

printf("sum=%d,average=%fn",sum,average);

return 0;

}

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

#include

int main()

{

int x;

int a,b,c;

int sum,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=%dn",sum,product);

return 0;

}

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

I am a student.

I love China.

方法一:#include

int main()

{

printf("I am a love China.");

return 0;

}

方法二:#include

int main()

{

printf("I am a student.n");

printf("I love China.n");

return 0;

}

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

#include

int main()

{

char c,c1,c2;

printf("请输入字符:");

scanf("%c",&c);

c1=c-1;

c2=c+1;

printf("%c %c %cn",c2,c,c1);

printf("%d %d %dn",c2,c,c1);

return 0;

}

17、输入两个整型变量a、b的值,输出下列算式以及运算结果。

a+b、a-b、a*b、a/b、(float)a/b、a%b

每个算式占一行。如a=10,b=5则输出:10+5=15

#include

int main()

{

int a,b;

printf("请输入2个整数:");

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

printf("%d+%d=%dn",a,b,a+b);

printf("%d-%d=%dn",a,b,a-b);

printf("%d*%d=%dn",a,b,a*b);

printf("%d/%d=%dn",a,b,a/b);

printf("(float)%d/%d=%dn",a,b,(float)a/b);

printf("%d %% %d=%dn",a,b,a%b);

return 0;

}

18、编写一个邮件计费程序,求出邮件的邮资费并输出。计费规定:当邮件重量小于等于200克时,邮资费为每克0.06元;当邮件重量超过200克时,其中200克,按每克0.06元计费,超过200克的重量,按每克0.03元计费。

#include

int main()

{

float x,y;

printf("请输入x:");

scanf("%f",&x);

if(x<=200)

y=0.06*x;

else

if(x>200)

y=0.06*200+0.03*(x-200);

printf("y=%fn",y);

return 0;

}

19、编写程序:输入一个人的年龄,如果年龄大于或等于60岁,则输出“老年”;如果年龄大于或等于30岁且小于60,则输出“中年”;如果年龄小于30岁,则输出“青年”。

#include

int main()

{

int age;

printf("请输入年龄:");

scanf("%d",&age);

if("age>=60")

printf("老年n");

else

if((age>=30)&&(age<60));

printf("中年n");

else

if((age>0)&&(age<30))

printf("青年n");

else

printf("输入有误!n");

return 0;

}

20、输入一个x的值,如果x大于0,则输出y=x2+1的值;如果小于0,则输出y=2x+1的值;如果x=0,则输出y=x的值。

#include

#include

int main()

{

float x,y;

printf("请输入x:");

scanf("%f",&x);

if(x>0)

y=pow(x,2)+1;

else

if(x<0)

y=2*x+1;

else

if(x=0)

y=x;

printf("%f",y);

return 0;

}

21、编程输入n的值,求1~n之间5的倍数的和

#include

int main()

{

int n,i,sum=0;

printf("请输入n的值:");

scanf("%d",&n);

for(i=5;i

sum=sum+i;

printf("1-n之间5的倍数的和为:%dn",sum);

return 0;

}

22、输入一个正整数n,输出S=1*2*3*……n的值

#include

int main()

{

}

int i,n,s;

printf("请输入n:");

scanf("%d",&n);

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

s=s*i;

printf("%dn",s);

return 0;

23、使用数组编写程序:输入10个学生的成绩保存到数组中,输出最低分的学生的成绩和序号(注意:学生的成绩不一定是百分制)。

#include

#define N 10

int main()

{

float score[10],min;

int i,k;

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

{

printf("请输入10个学生的成绩:",i+1);

scanf("%f",&score[i]);

min=score[0];

k=1;

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

{

if(score[i]

k=i+1;

}

}

printf("10个学生中最低分的成绩为:%fn 序号为:%dn",min,k);

return 0;

}

24、编写程序:输出100~200之间的全部素数。

#include

#include

int main()

{

int i,k,m;

for(m=100;m<=200;m++)

{

k=sqrt(m);

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

}

if(m%i==0)

break;

if(i>=k+1)

printf("%d ",m);

}

printf("n");

return 0;

25、编写程序:输入1个三位数的正整数,分别输出这个整数的百位数,十位数和个位数。

#include

int main()

{

int n,i,j,k;

printf("请输入一个三位数的正整数:");

scanf("%d",&n);

i=n/100;

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

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

}

printf("百位数为%dn 十位数为%dn 个位数为%dn",i,j,k);

return 0;

26、使用数组编写程序:先输入10个数保存到数组中,然后再随机输入一个数,判断这个数是否是数组中保存的10个数中的一个,如果这个数是数组中的某个数,则输出其在数组中的序号,否则输出:“查无此数!”。

#include

int main()

{

float a[10],n;

int i,k;

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

{

printf("请输入第%d个数:",i+1);

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

}

printf("请输入要查找的数:");

scanf("%f",&n);

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

{

if(a[i]==n)

{

k=i+1;

}

break;

}

}

if(i==10)

printf("查无此数!n");

else

printf("你要查找的数已经找到,是第%d个数。n",k);

return 0;

27、使用数组编写程序,输入3个学生6门课程的成绩,输出6门课程中平均分最低的课程的平均分和该门课程的序号。

#include

int main()

{

double score[4][6],sum,min;

int i,j,min_num;

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

{

printf("请输入第%d个学生的6门课程的成绩:",i+1);

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

scanf("%lf",&score[i][j]);

}

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

{

sum=0;

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

sum=sum+score[j][i];

score[3][i]=sum/3.0;

}

min=score[3][0];

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

{

if(score[3][i]<=min)

{

min=score[3][i];

min_num=i+1;

}

}

printf("6门课程中平均分最低的课程的平均分为:%f,课程序号为:%dn",min,min_num);

return 0;

}

5、关于坚持的名言,

你既然期望辉煌伟大的一生,那么就应该从今天起,以毫不动摇的决心和坚定不移的信念,凭自己的智慧和毅力,去创造你和人类的快乐。——佚名

6

7

8

9

10

11

12

13

14

15

50

16

17

18

19

20

21

22

23

24

25


发布者:admin,转转请注明出处:http://www.yc00.com/web/1704722717a1366066.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信