C语言代码编程200个例题(上)1

简介: C语言代码编程200个例题(上)

1.

#include "stdafx.h"
#include "stdio.h"
main()
{
    int i, j, n, m;                    /*定义变量i,j,n,m*/
    int a[16] =
    {
        0
    };                       /*定义数组a,元素初始值为0*/
    printf("please input the decimalism number(0~32767):\n");  /*输出双引号内普通字符*/
    scanf("%d", &n);                   /*输入n的值*/
    for (m = 0; m < 15; m++)               /*for循环从0到14,最高为符号位,本题始终为0*/
    {
        i = n % 2;                   /*取2的余数*/
        j = n / 2;                   /*取被2整除的结果*/
        n = j;                     /*将余数每次的余数存入数组a中*/
        a[m] = i;
    }
    for (m = 15; m >= 0; m--)
    {
        printf("%d", a[m]);                /*for循环,将数组中的16个元素从后往前输出*/
        if (m % 4 == 0)
            printf(" ");                 /*每输出4个元素,输出一个空格*/
    }
}

2.

#include "stdafx.h"
#include "stdio.h"
int main()
{
    printf("* * * * *\n");
    printf("*       *\n");
    printf("*       *\n");
    printf("*       *\n");
    printf("* * * * *\n");
}

3.

#include "stdafx.h"
#include "stdio.h"
main()
{
  int a, b, sum;                /*声明变量*/
  a=123;                  /*为变量赋初值*/
  b=789;                  /*为变量赋初值*/
  sum=a+b;                /*求和运算*/
  printf("sum is  %d\n",sum);         /*输出结果*/
}

4.

#include "stdafx.h"
#include "stdio.h"
main()
{
  int a, b, c, t;                 /*定义四个基本整型变量a,b,c,t*/
  printf("please input a,b,c:\n");            /*双引号内普通字符原样输出并换行*/
  scanf("%d%d%d", &a, &b, &c);          /*输入任意三个数*/
  if (a > b)                    /*如果a大于b,借助中间变量t实现a,b值互换*/
  {
    t = a;
    a = b;
    b = t;
  }
  if (a > c)                    /*如果a大于c,借助中间变量t实现a,c值互换*/
  {
    t = a;
    a = c;
    c = t;
  }
  if (b > c)                    /*如果b大于c,借助中间变量t实现b,c值互换*/
  {
    t = b;
    b = c;
    c = t;
  }
  printf("the order of the number is:\n");
  printf("%d,%d,%d", a, b, c);            /*输出函数将a,b,c的值顺序输出*/
}

5.

#include "stdafx.h"
#include "stdio.h"
main()
{
  int day,x1,x2;                /*定义day,x1,x2三个变量为基本整型*/
  day=9;
  x2=1;
  while(day>0)
  {
    x1=(x2+1)*2;              /*第一天的桃子数是第二天桃子数加1后的2倍*/
    x2=x1;
    day--;                /*因为从后向前推天数递减*/
  }
  printf("the total is %d\n",x1);         /*输出桃子的总数*/
}

6.

#include "stdafx.h"
#include "stdio.h"
int leap(int a)                   /*自定义函数leap用来指定年份是否为闰年*/
{
    if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)       /*闰年判定条件*/
        return 1;                 /*是闰年返回1*/
    else
        return 0;                 /*不是闰年返回0*/
}
int number(int year, int m, int d) /*自定义函数number计算输入日期为该年第几天*/
{
    int sum = 0, i, a[12] =
    {
        31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    };                      /*数组a存放平年每月的天数*/
    int b[12] =
    {
        31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    };                      /*数组b存放闰年每月的天数*/
    if (leap(year) == 1)                /*判断是否为闰年*/
        for (i = 0; i < m - 1; i++)
            sum += b[i];                /*是闰年,累加数组b前m-1个月份天数*/
    else
        for (i = 0; i < m - 1; i++)
            sum += a[i];                /*不是闰年,累加数组a钱m-1个月份天数*/
    sum += d;                   /*将前面累加的结果加上日期,求出总天数*/
    return sum;                   /*将计算的天数返回*/
}
void main()
{
    int year, month, day, n;                /*定义变量为基本整型*/
    printf("请输入年月日\n");
    scanf("%d%d%d", &year, &month, &day);       /*输入年月日*/
    n = number(year, month, day);             /*调用函数number*/
    printf("第%d天\n", n);
}

7.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int a, b, c;
    for (a = 1; a <= 3; a++)                /*穷举a的所有可能*/
        for (b = 1; b <= 3; b++)              /*穷举b的所有可能*/
            for (c = 1; c <= 3; c++)            /*穷举c的所有可能*/
                if (a != 1 && c != 1 && c != 3 && a != b && a != c && b != c)
                        /*如果表达式为真,则输出结果,否则继续下次循环*/
    {
        printf("%c 将嫁给 A\n", 'X' + a - 1);
        printf("%c 将嫁给 B\n", 'X' + b - 1);
        printf("%c 将嫁给 C\n", 'X' + c - 1);
    }
}

8.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int cock, hen, chick;                   /*定义变量为基本整型*/
    for (cock = 0; cock <= 20; cock++)                /*公鸡范围在0到20之间*/
        for (hen = 0; hen <= 33; hen++)             /*母鸡范围在0到33之间*/
            for (chick = 3; chick <= 99; chick++)           /*小鸡范围在3到99之间*/
                if (5 *cock + 3 * hen + chick / 3 == 100)         /*判断钱数是否等于100*/
                    if (cock + hen + chick == 100)        /*判断购买的鸡数是否等于100*/
                        if (chick % 3 == 0)             /*判断小鸡数是否能被3整除*/
                            printf("公鸡:%d 母鸡:%d 小鸡:%d\n", cock, hen,chick);
}

9.

#include "stdafx.h"
#include "stdio.h"
int leap(int a)                 /*自定义函数leap用来指定年份是否为闰年*/
{
    if (a % 4 == 0 && a % 100 != 0 || a % 400 == 0)   /*闰年判定条件*/
        return 1;             /*不是闰年返回1*/
    else
        return 0;             /*不是闰年返回0*/
}
int number(int year, int m, int d)          /*自定义函数number计算输入日期距2011年1月1日共有多少天*/
{
    int sum = 0, i, j, k, a[12] =
    {
        31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    };                /*数组a存放平年每月的天数*/
    int b[12] =
    {
        31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
    };                /*数组b存放闰年每月的天数*/
    if (leap(year) == 1)          /*判断是否为闰年*/
        for (i = 0; i < m - 1; i++)
            sum += b[i];          /*是闰年,累加数组b前m-1个月份天数*/
    else
        for (i = 0; i < m - 1; i++)
            sum += a[i];          /*不是闰年,累加数组a钱m-1个月份天数*/
    for (j = 2011; j < year; j++)
        if (leap(j) == 1)
            sum += 366;         /*2011年到输入的年份是闰年的加366*/
    else
        sum += 365;           /*2011年到输入的年份不是闰年的加365*/
    sum += d;               /*将前面累加的结果加上日期,求出总天数*/
    return sum;               /*将计算的天数返回*/
}
void main()
{
    int year, month, day, n;
    printf("请输入年月日\n");
    scanf("%d%d%d", &year, &month, &day);   /*输入年月日*/
    n = number(year, month, day);       /*调用函数number*/
    if ((n % 5) < 4 && (n % 5) > 0)     /*当余数是1或2或3时说明在打渔否则在晒网*/
        printf("%d:%d:%d 打渔\n", year, month, day);
    else
        printf("%d:%d:%d 晒网\n", year, month, day);
}

10.

#include "stdafx.h"
#include "stdio.h"
void main()
{
  float i,h=100,s=100;              /*定义变量i,h,s分别为单精度型并为h和s赋初值100*/
  for(i=1;i<=9;i++)             /*for语句,i的范围从1到9表示小球从第二次落地到第十次落地*/
  {
    h=h/2;                  /*每落地一次弹起高度变为原来一半*/
    s+=h*2;               /*累积的高度和加上下一次落地后弹起与下落 的高度*/
  }
  printf("总长度是:%f\n",s);        /*将高度和输出*/
  printf("第十次落地后弹起的高度是:%f",h/2);      /*输出第十次落地后弹起的高度*/
  printf("\n");
}

11.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int x[7], y[7], s, i;
    s = 2520 / 6;                     /*求出平均每个人要分多少个苹果*/
    for (i = 2; i <= 6; i++)
     /*求从老二到老六得到哥哥分来的苹果却未分给弟弟时的苹果数*/
        y[i] = s *(9-i) / (8-i);
    y[1] = x[1] = (s - y[6] / 3) *8 / 7;
     /*老大得到老六分来的苹果却未分给弟弟时的苹果数*/
    for (i = 2; i <= 6; i++)
        x[i] = y[i] - y[i - 1] / (10-i);        /*求原来每人得到的苹果数*/
    for (i = 1; i <= 6; i++)
        printf("x[%d]=%d\n", i, x[i]);          /*将最终结果输出*/
}

12.

#include "stdafx.h"
#include "stdio.h"
void main()
{
  int n;          
  float sum1,sum2;              /*sum1和sum2应为单精度型,否则结果将不准确*/
  for(n=11;;n++)                  
  {
    sum1=(n+9)/10.0;                  
    sum2=(9*n+171)/100.0;
    if(sum1!=(int)sum1)continue;      /*sum1和sum2应为整数,否则结束本次循环继续下次判断*/
    if(sum2!=(int)sum2)continue;
    if(sum1==sum2) break;         /*当sum1等于sum2时,跳出循环*/
  }
  printf("共有%d个学生\n将糖果分成了%d份",(int)(n/sum1),n); 
  /*输出学生数及分成的份数*/
  printf("\n");
}

13.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int year;                      /*定义基本整型变量year*/
    printf("请输入年份:\n");
    scanf("%d", &year);                  /*从键盘输入表示年份的整数*/
    if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)     /*判断闰年条件*/
        printf("%d 是闰年\n", year);            /*满足条件的输出是闰年*/
    else
        printf("%d 不是闰年\n", year);             /*否则输出不是闰年*/
}

14.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int a, b, c, d, e;
    for (a = 0; a <= 1; a++)                /*对a、b、c、d、e穷举贴黑纸和白纸的所有可能*/
        for (b = 0; b <= 1; b++)
            for (c = 0; c <= 1; c++)
                for (d = 0; d <= 1; d++)
                    for (e = 0; e <= 1; e++)
                        if ((a && b + c + d + e == 3 || !a && b + c + d + e !=
                            3) && (b && a + c + d + e == 0 || !b && a + c + d +
                            e != 0) && (c && a + b + d + e == 1 || !c && a + b
                            + d + e != 1) && (d && a + b + c + e == 4 || !d &&
                            a + b + c + e != 4))              /*根据体列出相应条件*/
            {
              printf("0-黑纸,1-白纸\n");
              printf("a is %d\nb is %d\nc is %d\nd is %d\ne is %d\n", a, b, c, d, e);     /*将最终结果输出*/
            }
}

15.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int i, j, k, n;                       /*定义变量为基本整型*/
    for (i = 100; i < 1000; i++)                /*对100~1000内的数进行穷举*/
    {
        j = i % 10;                       /*分离出个位上的数*/
        k = i / 10 % 10;                    /*分离出十位上的数*/
        n = i / 100;                      /*分离出百位上的数*/
        if (j *j * j + k * k * k + n * n * n == i)        /*判断各位上的立方和是否等于其本身*/
            printf("%5d", i);                   /*将水仙花数输出*/
    }
  printf("\n");
}

16.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    float a1 = 3, b1 = 1, c1 = 4, d1 = 5;              /*定义变量为单精度型*/
    float day;                       /*定义天数为单精度型*/
    day = 1 / (1 / a1 + 1 / b1 + 1 / c1 + 1 / d1);
                                 /*计算四渠同时注水多久可以注满*/
    printf("需要 %f 天!\n", day);                 /*将计算出的天数输出*/
} 

17.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    int a,b,c,sum;                    /*定义变量*/
  float ave;
    printf("请输入三个学生的分数:\n");          /*输出提示信息*/
    scanf("%d%d%d",&a,&b,&c);             /*输入三个学生的成绩*/
    sum=a+b+c;                      /*求总成绩*/
  ave=sum/3.0;                    /*求平均成绩*/
    printf("总成绩=%4d\t, 平均成绩=%5.2f\n",sum,ave);  /*输出总成绩和平均成绩*/
}

18.

#include "stdafx.h"
#include "stdio.h"
int main()
{
    char c;                 /*定义变量*/
    printf("请输入一个字符:\n");         /*显示提示信息*/
    scanf("%c",&c);               /*要求输入一个字符*/
    if(c>=65&&c<=90)              /*表达式1的取值范围*/
    {
      printf("输入的字符是大写字母\n");
    }
    else if(c>=97&&c<=122)            /*表达式2的取值范围*/
    {
      printf("输入的字符是小写字母\n");
    }
    else if(c>=48&&c<=57)           /*表达式3的取值范围*/
    {
      printf("输入的是数字\n");
    }
    else                    /*输入其他范围*/
    {
      printf("输入的是特殊符号\n");
    }
    return 0;
} 

19.

#include "stdafx.h"
#include "stdio.h"
#include<stdlib.h>
int main()
{
    int button;             /*定义变量*/
    system("cls");            /*清屏*/
    printf("**********************\n"); /*输出普通字符*/
    printf("*  可选择的按键:     *\n");
    printf("*  1. 巧克力         *\n");
    printf("*  2. 蛋糕           *\n");
    printf("*  3. 可口可乐       *\n");
    printf("**********************\n");
    printf("从1~3中选择按键:\n");     /*输出提示信息*/
    scanf("%d",&button);          /*输入数据*/
    switch(button)              /*根据button决定输出结果*/
    {
    case 1:
        printf("你选择了巧克力");
        break;
    case 2:
        printf("你选择了蛋糕");
        break;
    case 3:
        printf("你选择了可口可乐");
        break;
    default:
        printf("\n 输入错误 !\n");      /*其它情况*/
        break;
    }
     printf("\n");
     return 0;
}

20.

#include "stdafx.h"
#include "stdio.h"
void main()
{
    float x, m1, m2, m;
    char y, z;
    scanf("%f,%c,%c", &x, &y, &z);          /*输入选择油的千克数、种类及服务*/
    switch (y)                    /*选择汽油种类*/
    {
        case 'a':
            m1 = 5.75;
            break;
        case 'b':
            m1 = 6.00;
            break;
        case 'c':
            m1 = 7.15;
            break;
    }
    switch (z)                    /*选择服务种类*/  
    {
        case 'a':                 /*不需要提供服务*/
            m2 = 0;
            break;
        case 'm':
            m2 = 0.05;
            break;
        case 'e':
            m2 = 0.1;
            break;
    }
    m = x * m1 - x * m1 * m2;             /*计算应付的钱数*/
    printf("汽油种类是:%c\n", y);
    printf("服务等级是:%c\n", z);
    printf("用户应付金额是:%.3f\n", m);
}

21.

#include "stdafx.h"
#include "stdio.h"
void main()
{
  float a,b;
  char c;
  printf("请输入运算格式:a+(-,*,/)b \n");
  scanf("%f%c%f",&a,&c,&b);
  switch(c)
  {
  case '+':printf("%f\n",a+b);break;
  case '-':printf("%f\n",a-b);break;
  case '*':printf("%f\n",a*b);break;
  case '/':
    if(!b)
      printf("除数不能是零\n");
    else
      printf("%f\n",a/b);
    break;
  default:printf("输入有误!\n");
  }
}

22.

#include "stdafx.h"
#include "stdio.h"
main()
{
  int i,j,k;                          /*定义i,j,k为基本整型*/
    for(i=0;i<=10;i++)                    /*i是一角钱兑换个数,所以范围从1到10*/
      for(j=0;j<=5;j++)                 /*j是两角钱兑换个数,所以范围从0到5*/
        for(k=0;k<=2;k++)               /*k是五角钱兑换个数,所以范围从0到2*/
          if(i+j*2+k*5==10)             /*三种钱数相加是否等于十*/
            printf("yi jiao%d,liang jiao%d,wu jiao%d\n",i,j,k);/*将每次可兑换的方案输出*/
  return 0;
}

23.

#include "stdafx.h"
#include "stdio.h"
main()
{
  int i, j;                 /*定义i,j两个变量为基本整型*/
  for (i = 1; i <= 9; i++)          /*for循环i为乘法口诀表中的行数*/
  {
    for (j = 1; j <= i; j++)        /*乘法口诀表中的另一个因子,取值范围受一个因子i的影响*/
    printf("%d*%d=%d ", i, j, i *j);    /*输出i,j及i*j的值*/
    printf("\n");             /*打完每行值后换行*/
  }
}

24.

#include "stdafx.h"
#include "stdio.h"
#include<math.h>
int main()
{
    double y;
    int x, m;
    for (y = 1; y >=  - 1; y -= 0.1)            /*0到π,π到2π分别绘制21个点*/
    {
        m = acos(y) *10;              /*求出对应的横坐标位置*/
        for (x = 1; x < m; x++)
            printf(" ");              /*画*前画空格数*/
        printf("*");                /*画**/
        for (; x < 62-m; x++)           /*画出对称面的**/
            printf(" ");
        printf("*\n");
    }
    getchar();
    return 0;
}








相关文章
|
1月前
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
217 12
|
1月前
|
存储 搜索推荐 C语言
深入C语言指针,使代码更加灵活(二)
深入C语言指针,使代码更加灵活(二)
|
1月前
|
存储 程序员 编译器
深入C语言指针,使代码更加灵活(一)
深入C语言指针,使代码更加灵活(一)
|
1月前
|
C语言
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
深入C语言指针,使代码更加灵活(三)
|
2月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
49 4
|
1月前
|
C语言
C语言练习题代码
C语言练习题代码
|
2月前
|
存储 算法 C语言
C语言手撕实战代码_二叉排序树(二叉搜索树)_构建_删除_插入操作详解
这份二叉排序树习题集涵盖了二叉搜索树(BST)的基本操作,包括构建、查找、删除等核心功能。通过多个具体示例,如构建BST、查找节点所在层数、删除特定节点及查找小于某个关键字的所有节点等,帮助读者深入理解二叉排序树的工作原理与应用技巧。此外,还介绍了如何将一棵二叉树分解为两棵满足特定条件的BST,以及删除所有关键字小于指定值的节点等高级操作。每个题目均配有详细解释与代码实现,便于学习与实践。
|
2月前
|
存储 算法 C语言
C语言手撕实战代码_二叉树_构造二叉树_层序遍历二叉树_二叉树深度的超详细代码实现
这段代码和文本介绍了一系列二叉树相关的问题及其解决方案。其中包括根据前序和中序序列构建二叉树、通过层次遍历序列和中序序列创建二叉树、计算二叉树节点数量、叶子节点数量、度为1的节点数量、二叉树高度、特定节点子树深度、判断两棵树是否相似、将叶子节点链接成双向链表、计算算术表达式的值、判断是否为完全二叉树以及求二叉树的最大宽度等。每道题目均提供了详细的算法思路及相应的C/C++代码实现,帮助读者理解和掌握二叉树的基本操作与应用。
|
2月前
|
存储 算法 C语言
C语言手撕实战代码_循环单链表和循环双链表
本文档详细介绍了用C语言实现循环单链表和循环双链表的相关算法。包括循环单链表的建立、逆转、左移、拆分及合并等操作;以及双链表的建立、遍历、排序和循环双链表的重组。通过具体示例和代码片段,展示了每种算法的实现思路与步骤,帮助读者深入理解并掌握这些数据结构的基本操作方法。
|
2月前
|
算法 C语言 开发者
C语言手撕实战代码_单链表
本文档详细介绍了使用C语言实现单链表的各种基本操作和经典算法。内容涵盖单链表的构建、插入、查找、合并及特殊操作,如头插法和尾插法构建单链表、插入元素、查找倒数第m个节点、合并两个有序链表等。每部分均配有详细的代码示例和注释,帮助读者更好地理解和掌握单链表的编程技巧。此外,还提供了判断子链、查找公共后缀等进阶题目,适合初学者和有一定基础的开发者学习参考。