C语言例子
- 格式:doc
- 大小:9.14 KB
- 文档页数:12
1。
写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634=14+64+34+44)。
在主函数中调用该函数,输出所有玫瑰花数。
#include <stdio.h>void rose(int n){int a,b,c,d;a=n/1000;b=n/100%10;c=n/10%10;d=n%10;if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==n)printf("%d\t",n);}main(){int i;for(i=1000;i<10000;i++)rose(i);}19、写一个函数,判断某一个四位数是不是玫瑰花数(所谓玫瑰花数即该四位数各位数字的四次方和恰好等于该数本身,如:1634=14+64+34+44)。
在主函数中从键盘任意输入一个四位数,调用该函数,判断该数是否为玫瑰花数,若是则输出“yes”,否则输出“no”。
#include <stdio.h>int rose(int n){int a,b,c,d;a=n/1000;b=n/100%10;c=n/10%10;d=n%10;if(a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d==n)return 1;elsereturn 0;}main(){int m;int s;printf("\nEnter m<4nums>:");scanf("%d",&m);s=rose(m);if(s==1)printf("yes");elseprintf("no");}20。
编写一个函数,判断某一个三位数是不是水仙花数(所谓水仙花数即该三位数各位数字的立方和恰好等于该数本身,如:153=13+53+33)。
在主函数中调用该函数,输出所有水仙花数。
#include <stdio.h>void fun(int n){int a,b,c;a=n/100;b=n/10%10;c=n%10;if(a*a*a+b*b*b+c*c*c==n)printf("%d\n",n);}main(){int i;for(i=100;i<1000;i++)fun(i);}21编写一个函数,函数的功能是求出所有在正整数M和N之间能被5整除但不能被3整除的数并输出,其中M<N。
在主函数中调用该函数求出100 至200之间,能被5整除、但不能被3整除的数。
#include <stdio.h>void fn(int x,int y);main(){int n=200,m=100;fn(m,n);}void fn(int x,int y){int j;for(j=x;j<=y;j++)if(j%5==0&&j%3!=0) printf("%5d",j);}22、编写一个函数,其功能是;检验一个输入的四位数字是否是闰年,如果是闰年则返回1,否则返回0。
在主函数中从键盘输入一个四位数XXXX,调用该函数进行判断,如果是则输出” yes”,否则输出”no”(提示:如果该四位数能被4整除但不能被100整除,则是闰年;如果该四位数能被400整除,则是闰年)#include <stdio.h>int leap(int y){ int r=0;if(y%4==0&&y%100!=0||y%400==0) r=1;else r=0;return r;}main(){int y;printf("lnput year:");scanf("%d",&y);if(leap(y)==1)printf("yes");else printf("no");}23、编写一个函数求两数中的较大数,在main()函数输入三个数,调用该函数求这三个数的较大数并在屏幕上输出。
#include <stdio.h>float max(float a,float b){float t=a;if(b>t) t=b;return t;}main(){float a,b,c;printf("lnput a,b,c:");scanf("%f %f %f",&a,&b,&c);printf("%f",max(max(a,b),c));}24写一函数min,返回三个数中最小数。
在主函数中用键盘输入三个数,调用该函数求出其中最小数并输出。
(要求:三个数为实数)#include <stdio.h>float min(int a,int b,int c){float temp;if(a>b){temp=a;a=b;b=temp;}if(a>c){temp=a;a=c;c=temp;}return a;}main(){float x,y,z,s;scanf("%f%f%f",&x,&y,&z);s=min(x,y,z);printf("the smallest number is %f",s);}25、编写一个函数计算n!。
在主函数中调用该函数计算1!+2!+3!+ (10)并输出结果。
#include <stdio.h>long fac(int n){long s=1;int i;for(i=1;i<=n;i++)s=s*i;return s;}main(){int j;int sum=0;for(j=1;j<=10;j++)sum=sum+fac(j);printf("\nThe sum is %ld",sum);}26、编写一个求直角三角形的面积的函数。
在main函数中从键盘输入直角三角形的两个直角边,然后调用该函数求该直角三角形的面积(精确到小数点后2位)。
#include<stdio.h>float s(int a,int b){ float s;s=a*b/2.0;return s;}main(){ int a,b;float area;float s(int a,int b);scanf("%d%d",&a,&b);area=s(a,b ) ;printf("%.2f",area);}27、编写一个求圆的面积的函数。
在main函数中从键盘输入半径,然后调用该函数求该圆的面积(精确到小数点后2位)。
#include<stdio.h>#define PI 3.14float area(int r){float s;s=PI*r*r;return s;}main(){int r;float s;printf("\nEnter r:");scanf("%d",&r);s=area(r);printf("%.2f",s);}28某商场根据客户购物的数量打折,根据商品的单价p,数量n,编写函数fun计算应付款。
在main()函数中输入单价和数量,调用函数后,输出应付款(打折方法:购物数量10件及以上打9折,20件及以上打8折,10件以下不打折,结果保留2位小数)。
#include<stdio.h>float fun(float p,int n){float s;if(n<10)s=p*n;elseif(n>=10&&n<20)s=p*n*0.9;elseif(n>=20)s=p*n*0.8;return s;}main()int n;float p;float sum;printf("\nEnter p,n:");scanf("%f%d",&p,&n);sum=fun(p,n);printf("%.2f",sum);}36、写一个函数,判断给定的三边长能否构成直角三角形,能构成直角三角形,则返回整数1,否则返回整数0。
在main()函数中输入三边长,调用该函数,若是直角三角形,则输出“yes”, 否则,输出“no”。
#include<stdio.h>int right_triangle(int a,int b,int c){int temp;if(c<a){temp=c;c=a;a=temp;}if(c<b){temp=c;c=b;b=temp;}if(a*a+b*b==c*c)return 1;elsereturn 0;}main(){int x,y,z;int s;printf("\nEnter x,y,z:");scanf("%d%d%d",&x,&y,&z);s=right_triangle(x,y,z);if(s==1)printf("yes");elseprintf("no");30、写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
#include<stdio.h>int f(int a,int b){int i,temp;if(a<b){temp=a;a=b;b=temp;}for(i=a;i<=a*b;i++)if(i%a==0&&i%b==0){return i;break;}}main(){int m,n,s;printf("\nEnter m,n:");scanf("%d%d",&m,&n);s=f(m,n);printf("%d",s);}31、编写一个函数,判断某一个三位数是不是水仙花数(所谓水仙花数即该三位数各位数字的立方和恰好等于该数本身,如:153=1*1*1+5*5*5+3*3*3)。
在主函数中从键盘任意输入一个三位数调用该函数,判断该数是否为水仙花数,若是则输出"yes",否则输出"no"。