概述
1.99乘法表
输出9*9口诀。共9行9列,i控制行,j控制列
#include <stdio.h>
int main(){
int i,j,result;
for(i=1;i<10;i++){
for(j=1;j<10;j++){
result=i*j;
printf("%d*%d=%-3d",i,j,result);//-3d 表示左对齐,占3位
}
printf("n");//每一行后换行
}
}
2.兔子总数
古典问题;有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月又生一对兔子,
假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21…
#include <stdio.h>
int main(){
long f1,f2;
int i;
f1=f2=1;
for(i=1;i<=20;i++){
printf("%12ld%12ld",f1,f2);
if(i%2==0) printf("n");//控制输出,每行4个
f1=f1+f2;//前2个月加起来赋值给第三个月
f2=f1+f2;//前2个月加起来赋值给第三个月
}
}
3.素数个数
判断101~200之间有多少个素数,并输出所有素数及素数的个数
分析:用一个数分别去除2到sqrt(这个数),如果能被整除,说明不是素数,反之则反
#include <math.h>
int main(){
int m,i,k,h=0,leap=1;
printf("n");
for(m=101;m<=200;m++){
k=sqrt(m+1);2
for(i=2;i<=k;i++){
if(m%i==0){
leap=0;
break;
}
if(leap){
printf("%-4d",m);
h++;
if(h%10==0) printf("n");
}
leap=1;
}
}
printf("n The total is %d",h);
}
4.完数
一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如6=1+2+3
题目:找出1000以内的所有完数
#include <stdio.h>
int main(){
static int k[10];
int i,j,n,s;
for(j=2;j<1000;j++){
n=-1;
s=j;
for(i=1;i<j;i++){
if(j%i==0){
n++;
s=s-i;
k[n]=i;
}
if(s==0){
printf("%d is a wanshu:",j);
for(i=0;i<n;i++){
printf("%dn",k[i]);
printf("%dn",k[n]);
}
}
}
}
}
5.(EOJ) 2571.GCD和LCM
编写一个程序,计算给定和的最大公约数(GCD)a 和最小公倍数(LCM)b。(0 < a,b ≤ 44000 )
输入
第一行输入给出了案例数量(1 ≤ N≤ 100 )测试用例如下
每个测试用例包含两个由一行中的单个空格分隔的整数a和b。
输出
对于每个测试用例,打印GCD和LCM由一行中的单个空格分隔。
#include<stdio.h>
int main(){
int a,b,N,GCD,i,LCM;
scanf("%d",&N);
for(i=0;i<N;i++){
scanf("%d%d",&a,&b);
for(GCD=a;;GCD--){
if(a%GCD==0&&b%GCD==0) break;
}
LCM=a*b/GCD;
printf("%d",GCD);
printf(" %d",LCM);
printf("n");
}
}
6.(EOJ) 2004.火仙花数
春天是鲜花的季节,火仙花就是其中最迷人的代表,数学上有个火仙花数,他是这样定义的:
“火仙花数”是指一个四位数,它的各位数字的四次方和等于其本身,
现在要求输出所有火仙花数。
输出
若存在火仙花数,从小到大输出火仙花数,每行一个。若不存在输出 no answer.
#include<stdio.h>
int main(){
int n,a,b,c,d,mul;
for(n=1000;n<10000;n++){
a=n/1000;
b=(n%1000)/100;
c=n%100/10;
d=n%10;
mul=a*a*a*a+b*b*b*b+c*c*c*c+d*d*d*d;
if(mul==n)
printf("%dn",mul);
}
return 0;
}
7.(EOJ) 2537. 统计字符
输入一行字符,分别统计其中英文字母、空格、数字和其他字符的个数。
输入
输入一个整数 t,表示有几组数据
接下来有 t 行,每行字符不超过 10000 个
输出
对于每行字符输出其中
1 英文字母(大小写都算)的个数
2 数字的个数
3 其他字符的个数 */
#include<stdio.h>
int main(){
int t,character=0,number=0,others=0,row=0,i=0;
char c;
scanf("%d",&t);
getchar();
for(i=0;i<t;i++){
while((c=getchar())!=EOF){
if(c=='n'){
printf("character:%dn",character);
printf("number:%dn",number);
printf("others:%dn",others);
character=number=others=0;
break;
}
if(c<='z'&&c>='a')
character++;
else if(c<='Z'&&c>='A')
character++;
else if(c<='9'&&c>='0')
number++;
else
others++;
}
}
return 0;
}
8.杨辉三角
编程打印杨辉三角
#include <stdio.h>
int main()
{
int i,j,a[6][6];
for(i=0;i<=5;i++)
{
a[i][i]=1;
a[i][0]=1;
}
for(i=2;i<=5;i++)
for(j=1;j<=i-1;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
for(i=0;i<=5;i++){
for(j=0;j<=1;j++)
printf("%4d",a[i][j]);
printf("n");
}
}
9.(EOJ) 2863.重力加速度
从初中物理易知,一个物体从高处落下符合公式 s=12gt2,其中 s 为下落距离,g 为重力加速度,这里取 g=9.8,t 为下落的时间。这里我们不考虑所有阻力。
一个同学爬到理科大楼的某一层向外下扔了一个苹果(水平扔出),人的身高为 1.75 米。你现在需要计算苹果从扔出到落地的时间。
理科大楼有 17 层,第一和第二层高为 5 米,其它各层高 3 米。一个人从第三层扔东西,那么高度应该是第一层加上第二层的高度,再加上人的身高,总共 11.75 米。
输入
本题有多组测试数据。
每组测试数据占一行,含一个整数 n,表示从第几层扔下。(1≤n≤17)
如果 n=0,则输入结束。
输出
每组测试数据输出一行。
每行输出一个浮点数,保留 3 位小数 (要四舍五入),表示落到地面所需要的时间。
#include <stdio.h>
#include<math.h>
int main(){
int n;
float b,h,t,H,c;
while(scanf("%d",&n)!=EOF) {
if(1<=n&&n<=3){
h=(n-1)*5;
H=h+1.75;
b=(2*H);
c=b/9.8;
t=sqrt(c);
printf("%.3fn",t);
}
else if(4<=n&&n<=17){
h=10+(n-3)*3;
H=h+1.75;
b=(2*H);
c=b/9.8;
t=sqrt(c);
printf("%.3fn",t);
}
}
return 0;
}
最后
以上就是可爱山水为你收集整理的c语言经典程序的全部内容,希望文章能够帮你解决c语言经典程序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复