一、设计 1 个函数,判断整数有多少位。
#include <stdio.h> /* 设计 1 个函数,判断整数有多少位。 */ int fun(int n); int main() { int n; scanf("%d",& n); printf("%d",fun(n)); return 0; } int fun(int n) { int j,k=0; while(n>0) { n=n/10; k++; } return k; }
二、设计一个函数判断一个数是否为质数。
#include <stdio.h> /* 设计一个函数判断一个数是否为质数。 */ int fun(int n); int main() { int n; scanf("%d",&n); if(fun(n)==0) printf("%d不是质数",n); else printf("%d是质数",n); return 0; } int fun(int n) { int i; if(n==1) return 0; else { for(i=2;i<n;i++) { if(n%i==0) return 0; else return 1; } return 1; } }
三、请用自定义函数的形式编程实现
求 s = m! + n! + k!,m、n、k 从键盘输入(值均小 于 7)。
#include <stdio.h> /* 请用自定义函数的形式编程实现 求 s = m! + n! + k!,m、n、k 从键盘输入(值均小 于 7)。 */ int fun(int m); int main() { int m,n,k; int s; printf("请输入三个小于7的数:"); scanf("%d %d %d",&m,&n,&k); s=fun(m)+fun(n)+fun(k); printf("%d\n",s); return 0; } int fun(int m) { int i; int x=1; for(i=1;i<=m;i++) { x=x*i; } return x; }
四、编写一个求两个数中最大数的函数,并调用该函数求出三个数中的最大数。
#include <stdio.h> /* 编写一个求两个数中最大数的函数 并调用该函数求出三个数中的最大数。 */ int max(int x,int y); int main() { int a,b,c; int n; printf("请输入三个数:"); scanf("%d %d %d",&a,&b,&c); n=max(a,b) > c ? max(a,b) :c; printf("三个数中最大的为:%d\n",n); return 0; } int max(int x,int y) { int c; c=x>y?x:y; return c; }
五、实现一个函数,打印乘法口诀表,输入 n,输出 n*n 口诀表。
#include <stdio.h> #include <string.h> #define N 10 /* 实现一个函数,打印乘法口诀表 输入 n,输出 n*n 口诀表。 */ void fun(int n); int main() { int n; scanf("%d",&n); fun(n); return 0; } void fun(int n) { int i,j; int a[N][N]; for(i=1;i<=n;i++) { for(j=1;j<=i;j++) { a[i][j]=i*j; printf("%d ",a[i][j]); } printf("\n"); } }
六、实现一个函数,判断 year 是不是润年。
#include <stdio.h> /* 实现一个函数,判断 year 是不是润年。 */ int fun(int y); int main() { int year; printf("请输入年份:"); scanf("%d",&year); if(fun(year)==1) printf("%d是闰年",year); else printf("%d不是闰年",year); return 0; } int fun(int y) { if(y%4==0 || (y%100!=0 && y%400==0) ) return 1; else return 0; }