初学C语言常用基本函数
辗转相除法求最大公约数:
用函数方法
# include <stdio.h>
int gcd(int, int);//函数声明
main( )
{
int a, b;
scanf(“%d, %d”, &a, &b);
printf(“a=%d, b=%d, gcd=%d\n”, a, b, gcd(a,b));
}
int gcd(int x, int y)
{
int r;
r=x%y;
if(r==0) return y;
return gcd(y, r);//函数嵌套
}?
进制转换
# define k 2
# include <stdio.h>
int main( )
{
int m[50],n, i;
scanf("%d",&n);
i=0;
do {
m[i++]=n%k;//注意i加加
n/=k;
} while(n!=0);
while(i) printf("%d", m[--i]);
return 0;
}
问题描述】
编程将输入的十进制整数num转换成二进制字符串输出。
【输入形式】十进制数N,0<=N<=4294967295
【输出形式】二进制数
【样例输入】7
【样例输出】111
#include<stdio.h>
int main()
{
unsigned int n ;
int a[100],i=0;
scanf("%d",&n);
do
{
a[i]=n%2;
n/=2;
i++;
}while(n);
do
{
i--;
printf("%d",a[i]);
}while(i);
return 0;
}
连续键入数组、字符串
int a[80];
for(i=0;i<n;i++) scanf("%d",&a[i]);
char str[80];
scanf("%s",str);
char t[80];
int i=0;
do{
i++;
t[i]=getchar();
}while(t[i]!='\n');
求闰年
((y%4==0)&&(y%100!=0)||(y%400==0))?"LeapYear":"Normal Year"