zoukankan      html  css  js  c++  java
  • C语言程序设计50例(一)(经典收藏)

    【程序1】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
          掉不满足条件的排列。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int i,j,k;
     6   printf("
    ");
     7   for(i=1;i<5;i++) /*以下为三重循环*/
     8     for(j=1;j<5;j++)
     9       for (k=1;k<5;k++)
    10       {
    11         if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
    12         printf("%d,%d,%d
    ",i,j,k);
    13       }
    14   getch();
    15 }

    【程序2】
    题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
       于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
       成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
       40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
       100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
    1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   long int i;
     6   int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
     7   scanf("%ld",&i); 
     8   bonus1=100000*0. 1;
     9   bonus2=bonus1+100000*0.75;
    10   bonus4=bonus2+200000*0.5;
    11   bonus6=bonus4+200000*0.3;
    12   bonus10=bonus6+400000*0.15;
    13   if(i<=100000)
    14     bonus=i*0.1;
    15     else if(i<=200000)
    16       bonus=bonus1+(i-100000)*0.075;
    17         else if(i<=400000)
    18           bonus=bonus2+(i-200000)*0.05;
    19             else if(i<=600000)
    20               bonus=bonus4+(i-400000)*0.03;
    21                 else if(i<=1000000)
    22                   bonus=bonus6+(i-600000)*0.015;
    23                     else
    24                       bonus=bonus10+(i-1000000)*0.01;
    25   printf("bonus=%d",bonus);
    26   getch(); 
    27 }

    【程序3】
    题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
    1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后
          的结果满足如下条件,即是结果。请看具体分析:

     1 #include "math.h"
     2 #include "stdio.h"
     3 #include "conio.h"
     4 main()
     5 {
     6   long int i,x,y,z;
     7   for (i=1;i<100000;i++)
     8   {
     9     x=sqrt(i+100); /*x为加上100后开方后的结果*/
    10     y=sqrt(i+268); /*y为再加上168后开方后的结果*/
    11     if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
    12     printf("
    %ld
    ",i);
    13   }
    14   getch();
    15 }

    【程序4】
    题目:输入某年某月某日,判断这一天是这一年的第几天?
    1.程序分析:以3月5日为例,应该先把前两个月的加起来,然后再加上5天即本年的第几天,特殊
          情况,闰年且输入月份大于3时需考虑多加一天。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int day,month,year,sum,leap;
     6   printf("
    please input year,month,day
    ");
     7   scanf("%d,%d,%d",&year,&month,&day);
     8   switch(month) /*先计算某月以前月份的总天数*/
     9   {
    10     case 1:sum=0;break;
    11     case 2:sum=31;break;
    12     case 3:sum=59;break;
    13     case 4:sum=90;break;
    14     case 5:sum=120;break;
    15     case 6:sum=151;break;
    16     case 7:sum=181;break;
    17     case 8:sum=212;break;
    18     case 9:sum=243;break;
    19     case 10:sum=273;break;
    20     case 11:sum=304;break;
    21     case 12:sum=334;break;
    22     default:printf("data error");break;
    23   }
    24   sum=sum+day; /*再加上某天的天数*/
    25   if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/
    26     leap=1;
    27   else
    28     leap=0;
    29   if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/
    30     sum++;
    31   printf("It is the %dth day.",sum);
    32   getch(); 
    33 }

    【程序5】
    题目:输入三个整数x,y,z,请把这三个数由小到大输出。
    1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如果x>y则将x与y的值进行交换,
          然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能使x最小。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int x,y,z,t;
     6   scanf("%d%d%d",&x,&y,&z);
     7   if (x>y)
     8     {t=x;x=y;y=t;} /*交换x,y的值*/
     9   if(x>z)
    10     {t=z;z=x;x=t;} /*交换x,z的值*/
    11   if(y>z)
    12     {t=y;y=z;z=t;} /*交换z,y的值*/
    13   printf("small to big: %d %d %d
    ",x,y,z);
    14   getch(); 
    15 }

    【程序6】
    题目:用*号输出字母C的图案。
    1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   printf("Hello C-world!
    ");
     6   printf(" ****
    ");
     7   printf(" *
    ");
     8   printf(" * 
    ");
     9   printf(" ****
    ");
    10   getch(); 
    11 }

    【程序7】
    题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
    1.程序分析:字符共有256个。不同字符,图形不一样。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   char a=176,b=219;
     6   printf("%c%c%c%c%c
    ",b,a,a,a,b);
     7   printf("%c%c%c%c%c
    ",a,b,a,b,a);
     8   printf("%c%c%c%c%c
    ",a,a,b,a,a);
     9   printf("%c%c%c%c%c
    ",a,b,a,b,a);
    10   printf("%c%c%c%c%c
    ",b,a,a,a,b);
    11   getch(); 
    12 }

    【程序8】
    题目:输出9*9口诀。
    1.程序分析:分行与列考虑,共9行9列,i控制行,j控制列。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int i,j,result;
     6   printf("
    ");
     7   for (i=1;i<10;i++)
     8   {
     9     for(j=1;j<10;j++)
    10     {
    11       result=i*j;
    12       printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/
    13     }
    14     printf("
    "); /*每一行后换行*/
    15   }
    16   getch();
    17 }

    【程序9】
    题目:要求输出国际象棋棋盘。
    1.程序分析:用i控制行,j来控制列,根据i+j的和的变化来控制输出黑方格,还是白方格。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int i,j;
     6   for(i=0;i<8;i++)
     7   {
     8     for(j=0;j<8;j++)
     9       if((i+j)%2==0)
    10         printf("%c%c",219,219);
    11       else
    12         printf("  ");
    13     printf("
    ");
    14   }
    15   getch(); 
    16 }

    【程序10】
    题目:打印楼梯,同时在楼梯上方打印两个笑脸。 
    1.程序分析:用i控制行,j来控制列,j根据i的变化来控制输出黑方格的个数。

     1 #include "stdio.h"
     2 #include "conio.h"
     3 main()
     4 {
     5   int i,j;
     6   printf("11
    "); /*输出两个笑脸*/
     7   for(i=1;i<11;i++)
     8   {
     9     for(j=1;j<=i;j++)
    10       printf("%c%c",219,219);
    11     printf("
    ");
    12   }
    13   getch(); 
    14 }

     

  • 相关阅读:
    如何使用SAP Intelligent Robotic Process Automation自动操作Excel
    OpenSAML 使用引导 IV: 安全特性
    Spring Cloud Zuul 网关使用与 OAuth2.0 认证授权服务
    微服务架构集大成者—Spring Cloud (转载)
    Spring Cloud Eureka 服务注册列表显示 IP 配置问题
    使用 Notification API 开启浏览器桌面提醒
    SignalR 中使用 MessagePack 序列化提高 WebSocket 通信性能
    配置 Nginx 的目录浏览功能
    关于 Nginx 配置 WebSocket 400 问题
    Migrate from ASP.NET Core 2.0 to 2.1
  • 原文地址:https://www.cnblogs.com/iloverain/p/5523582.html
Copyright © 2011-2022 走看看