C语言程序举例
1、 输入一个字母,并以小写字母输出
#include<stdio.h>
// 头文件
void main()
// 主函数、返回值为空
{
char ch;
// 定义字符变量 ch
scanf("%c",&ch);
// 输入字符变量 ch(以格式 %c 字符型 输入)
ch = (ch >= 'A' && ch <= 'Z')?ch+32:ch;
// 如果问号前面为真、则取冒号前面的值、否则取冒号后面的值
printf("%c\n",ch);
// 以字符型格式输出 ch
}
2、判断一年是否为闰年
- 闰年要求满足
- 能被4整除且不能被100整除
- 或者是能被400整除
#include<stdio.h>
// 头文件
void main()
// 主函数、返回值为空
{
int year,leap;
// leap 用来判断闰年(值为 1 则为闰年、为 0 则不是闰年))
scanf("%d",&year);
// 输入一个年份
if(year % 4 == 0 && year % 100 != 0)
// 判断条件 1
leap = 1;
else if(year % 400 == 0)
// 判断条件 2
leap = 1;
else
// 除此之外全不是闰年
leap = 0;
if(leap)
printf("%d is a leap year\n",year);
else
printf("%d is not a leap year\n",year);
}
3、分类字符
- 从键盘输入字符,将字符分类
(1)控制字符:ASCLL码小于32
(2)数字字符:0-9
(3)大写字母字符:A-Z
(4)小写字母字符:a-z
(5)其它
#include<stdio.h>
// 头文件
void main()
// 主函数、返回值为空
{
char c;
// 定义字符变量 c
c = getchar();
// 接收输入的字符
if(c < 32)
// 用 ASCII 值来判断输入字符的类型
// 控制字符
printf("This is a control character.\n");
else if(c >= '0' && c <= '9')
// 数字字符
printf("This is a dlight.\n");
else if(c >= 'A' && c <= 'Z')
// 大写字母
printf("This is a capital letter");
else if(c >= 'a' && c <= 'z')
// 小写字母
printf("This is a lower letter");
else
// 其它字符
printf("Unknown letter");
}
4、拉契数列求解
#include<stdio.h>
// 头文件
void main()
// 主函数、返回值为空
{
long int f1,f2,f3;
// 长整型 f1 f2 f3
int i;
f1 = 1;
f2 = 1;
// 斐波拉契数列的前二项
printf("%12ld%12ld",f1,f2);
for(i = 3;i <= 40;i++)
// 从第三项开始循环
{
f3 = f1 + f2;
// 第三项等于前二项之和
printf("%12ld",f3);
// 输出第三项
if(i % 4 == 0)
// 每输出四个数换一次行
printf("\n");
f1 = f2;
// 将第一个数换成第二个
f2 = f3;
// 将第二个数换成第三个
}
}
5、判断一个数是否为素数
素数
- 只能被1和自身整除都数
- 对于一个数m,当m不能被2到其平方根整除时,m是素数
#include<stdio.h>
// 头文件
#include<math.h>
// 头文件(数学库)
void main()
// 主函数、返回值为空
{
int m,i,k;
scanf("%d",&m);
k = sqrt(m);
// 求 m 的平方根
for(i = 2;i <= k;i++)
// 做循环(i 为除数、从 2 到 k)
if(m % i == 0)
break;
if(i >= k + 1)
printf("%d is a prime number\n",m);
else
printf("%d is not a prime number\n",m);
}
6、求 100 - 200 间都全部素数
#include<stdio.h>
#include<math.h>
void main()
{
int i,k,j,n;
k = sqrt(i);
for(i = 101;i <= 200;i += 2)
{
k = sqrt(i);
for(j = 2;j <= k;j++)
{
if(i % j == 0)
break;
if(j >= k)
printf("%d\n",i);
}
}
}
7、打印"九九乘法表"
#include<stdio.h>
void main()
{
int i,j;
for(i = 1;i <= 9;i++)
{
for(j = 1;j <= i;j++)
{
printf("%d*%d ",i,j);
}
printf("\n");
}
}
8、最大公约数和最小公倍数
#include<stdio.h>
int main()
{
int m,n,p,tmp;
scanf("%i %i",&m,&n);
p = m * n;
while(n != 0)
{
tmp = m % n;
m = n;
n = tmp;
}
printf("max=%i,min=%i\n",m,p/m);
return 0;
}
9、判断水仙花数
#include<stdio.h>
int fun(int n)
{
int a,b,c;
a = n / 100;
b = n / 10 % 10;
c = n % 10;
return n == a * a * a + b * b * b + c * c * c;
}
int main()
{
int n;
scanf("%d",&n);
printf("%s\n",fun(n)?"1":"0");
return 0;
}