我是靠谱客的博主 可爱山水,最近开发中收集的这篇文章主要介绍c语言经典程序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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语言经典程序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部