考点导航
  • /*-------------------------------------------------------
    编程:求1000以内所有的完数并输出。
    如果一个数恰好等于除它本身外的所有因子之和,则这个数就称为完数。
    例如:6的因子是1、2、3,且6=1+2+3,所以6是完数。
    ------------------------------------------------------------------*/
    #include<stdio.h>
    int main()
    {
    int i,j,s;/*s用于记录因子之和*/
    for (i=2; i<=1000; i++)
    {
    /**********Program**********/





    /********** End **********/
    if (s==i)
    printf("%d,",i);
    }
    return 0;
    }
  • /*-------------------------------------------------------
    编程:用选择法按升序对a数组中的数进行排序。(运用指针)
    输入:46 17 9 32 88 76 19 29 37 64
    输出:9 17 19 29 32 37 46 64 76 88
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int a[10],i,j,k,t;
    for (i=0;i<10;i++)
    scanf("%d",a+i);
    for (i=0;i<9;i++)
    {
    k=i;
    for (j=i+1;j<10;j++)
    if (*(a+j)<*(a+k)){
    k=j;
    }
    /**********Program**********/





    /********** End **********/
    }
    for (i=0;i<10;i++)
    printf("%d ",*(a+i));
    }
  • /*-------------------------------------------------------
    编写函数fun,采用冒泡法对数组a进行由小到大的排序。
    ---------------------------------------------------------------------*/
    #include "stdio.h"
    /**********Program**********/





    /********** End **********/
    main()
    {
    int i,a[9]={15,8,5,12,3,6,10,7,20};
    fun(a,9);
    for (i=0;i<9;i++)
    printf("%5d",a[i]);
    }
  • /*-------------------------------------------------------
    编写函数fun,通过函数的递归调用,求解“台阶问题”。
    有n级台阶,一步可以上一级台阶,也可以一步上两级台阶,问上完n级台阶,有多少种走法?
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int m);
    main()
    {
    int n;
    printf("请输入台阶的级数:");
    scanf("%d",&n);
    printf("走完%d级台阶有%d种走法\n",n,fun(n));
    }
    /**********Program**********/





    /********** End **********/
  • /*-------------------------------------------------------
    编写函数fun,通过函数的递归调用,求解”猴子吃桃问题“。
    猴子第一天摘下若干个桃子,当时就吃了一半,还不过瘾,就又多吃了一个。第二天又将剩下的桃子吃掉一半,又多吃了一个。以后每天吃前一天剩下的一半零一个。到第十天想吃的时候就剩下一个桃子了。问猴子第一天共摘了多少个桃子?
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n);
    main()
    {
    int s;
    s=fun(10);
    printf("猴子第一天共摘了%d个桃子\n",s);
    }
    /**********Program**********/





    /********** End **********/
  • /*---------------------------------------------------------------
    编程:借助第三个变量,实现两个数的对调操作。
    -----------------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int a,b,t;
    scanf("%d%d",&a,&b);
    printf("a=%d,b=%d\n",a,b);
    /**********Program**********/



    /********** End **********/
    printf("a=%d,b=%d\n",a,b);
    }
  • /*-------------------------------------------------------
    编程:求摄氏温度对应的华氏温度。
    计算公式:f=9*c/5+32,其中:c表示摄氏温度,f表示华氏温度。
    输出示例:c=26,f=78
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int c,f;
    scanf("%d",&c);
    /**********Program**********/

    /********** End **********/
    printf("c=%d,f=%d\n",c,f);
    }
  • /*-------------------------------------------------------
    编程:已知圆半径r=2.5,求圆的周长和圆的面积。
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    float r,c,s,pi=3.1415926;
    /**********Program**********/



    /********** End **********/
    printf("r=%f\n",r);
    printf("c=%7.2f,s=%7.2f\n",c,s);
    }
  • /*-------------------------------------------------------
    编程:采用运算符sizeof计算某个变量所占内存空间大小,单位为字节。
    输出:变量m占内存4字节
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    unsigned long m;
    /**********Program**********/

    /********** End **********/
    return 0;
    }
  • /*-------------------------------------------------------
    编程:采用运算符sizeof计算float类型所占内存空间大小,单位为字节。
    输出:float类型占内存8字节
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    /**********Program**********/

    /********** End **********/
    return 0;
    }
  • /*-------------------------------------------------------
    编程:采用格式输出函数输出如下所示三角形图案,输出完成后要求换行。
    *
    **
    ***
    ****
    *****
    ****
    ***
    **
    *
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    /**********Program**********/

    /********** End **********/
    return 0;
    }
  • /*-------------------------------------------------------
    编程:采用格式输出函数输出英文句子How are you!,结尾换行。
    -------------------------------------------------------*/
    #include <stdio.h>
    int main()
    {
    /**********Program**********/

    /********** End **********/
    return 0;
    }
  • /*-------------------------------------------------------
    编程:从键盘输入一个整数n,然后输出以n开始的冰雹数列中的最大值。
    冰雹数列从数字n开始,如果n为偶数,则序列中的下一个数字为n/2。如果n为奇数,则为3n+1。序列在达到1时结束。
    例如:输入:10,程序应该输出:16。
    -------------------------------------------------------*/
    #include <stdio.h>
    main()
    {
    int n,max=0;
    scanf("%d",&n);
    /**********Program**********/






    /********** End **********/
    }
  • /*-------------------------------------------------------
    编程:从键盘输入一个整数n,然后输出以n开始的冰雹数列。
    冰雹数列从数字n开始,如果n为偶数,则序列中的下一个数字为n/2。如果n为奇数,则为3n+1。序列在达到1时结束。
    例如:输入3,输出:3,10,5,16,8,4,2,1,
    -------------------------------------------------------*/
    #include <stdio.h>
    main()
    {
    int n;
    scanf("%d",&n);
    /**********Program**********/






    /********** End **********/
    }
  • /*-------------------------------------------------------
    编写函数fib,通过函数的递归调用,输出斐波那契数据前n项的值。
    -------------------------------------------------------*/
    #include <stdio.h>
    int fib(int m);
    main()
    {
    int i,n;
    printf("请输入数列的项数:");
    scanf("%d",&n);
    for (i=1;i<=n;i++)
    {
    printf("%d\t",fib(i));
    }

    }
    /**********Program**********/






    /********** End **********/
  • /*-------------------------------------------------------
    编写函数fun,通过函数的递归调用解决“岁数问题”:
    5人同坐,已知第5个人比第4个人大3岁;第4个人比第3个人大3岁;第3个人比第2个人大3岁;第2个人比第1个人大3岁;第1个人是20岁。请问第5个人多少岁?
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n);
    main()
    {
    int y;
    y=fun(5);
    printf("第5个人有%d岁\n",y);
    }
    /**********Program**********/






    /********** End **********/
  • /*-------------------------------------------------------
    编写函数sum,通过函数的递归调用,计算1+2+…+n的值。
    -------------------------------------------------------*/
    #include <stdio.h>
    int sum(int n);
    main()
    {
    int n,s;
    printf("请输入整数n:");
    scanf("%d",&n);
    s=sum(n);
    printf("1+...+%d=%d\n",n,s);
    }
    /**********Program**********/






    /********** End **********/
  • /*-------------------------------------------------------
    编写函数fun,通过函数的递归调用,计算n!。
    -------------------------------------------------------*/
    #include <stdio.h>
    long fun(int n);
    main()
    {
    int n;
    long f;
    printf("请输入整数n:");
    scanf("%d",&n);
    f=fun(n);
    printf("%d!=%ld\n",n,f);
    }
    /**********Program**********/





    /********** End **********/
  • /*--------------------------------------------------------------------------
    编写函数reverse,将数组中指定范围内的元素按逆序重新放置。
    说明:指定范围时,数组第1个元素的编号为0。
    ----------------------------------------------------------------------------
    测试输入:
    1 5 3 4 8 0 6 9 12 13
    1 8
    测试输出:1 12 9 6 0 8 4 3 5 13
    ---------------------------------------------------------------------------*/
    #include "stdio.h"
    #define N 10
    void reverse(int* p,int a,int b)
    {
    int c;
    /**********Program**********/


    /**********End**********/
    }
    int main()
    {
    int a[N],i,begin,end;
    for (i=0; i<N; i++)
    scanf("%d",&a[i]);
    scanf("%d%d",&begin,&end);
    reverse(a,begin,end);
    for (i=0; i<N; i++)
    printf("%d ",a[i]);
    printf("\n");
    return 0;
    }
  • /*--------------------------------------------------------------------------
    编程:有三个候选人"Li"、"Zhang"、"Sun",每个选民只能投一票,写一程序,用结构体数组来存储数据,求出投票结果。输入数据第一行为投票人数,接下来的每一行是每位选民投出的选票。
    测试输入:
    10
    Li
    Li
    Sun
    Zhang
    Zhang
    Sun
    Li
    Sun
    Zhang
    Li

    测试输出:
    Li:4
    Zhang:3
    Sun:3
    ----------------------------------------------------------------------------
    注意:请勿改动程序中的其他内容。
    ---------------------------------------------------------------------------*/
    #include<stdio.h>
    #include<string.h>
    struct candidate{
    char name[20];
    int count;
    }person[3]={"Li",0,"Zhang",0,"Sun",0};
    int main(void)
    {
    char name_con[100];int n;int i;
    /**********Program**********/






    /********** End **********/
    return 0;
    }