考点导航
  • /*---------------------------------------------------------------
    编写函数fun,判断n是否为水仙花数。若是,返回1;否则,返回0。
    提示:"水仙花数"是指一个3位数,其各位数字立方和等于该数本身。
    例如:153是一个"水仙花数",因为153=1*1*1+5*5*5+3*3*3。
    ---------------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int fun(int n);
    int n;
    for (n=100;n<=999;n++)
    {
    if (fun(n))
    printf("%d\n",n);
    }
    }
    /**********Program**********/



    /********** End **********/
  • /*---------------------------------------------------------------
    编程:输出所有的"水仙花数"。
    "水仙花数"是指一个3位数,其各位数字立方和等于该数本身。
    例如:153是一个"水仙花数",因为153=1*1*1+5*5*5+3*3*3。
    ---------------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int g,s,b,n;
    for (n=100;n<=999;n++)
    {
    /**********Program**********/



    /********** End **********/
    if (n==g*g*g+s*s*s+b*b*b)
    printf("%d\n",n);
    }
    }
  • /*-------------------------------------------------------
    编写函数fun,将一个正整数按从低位到高位的顺序,依次将其偶数位上的数字取出,反序重新生成一个整数并输出。
    例如,输入234568,则输出642。
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n);
    void main()
    {
    int a;
    scanf("%d",&a);
    printf("重新生成的整数是:%d\n",fun(a));
    }
    /**********Program**********/



    /********** End **********/
  • /*-------------------------------------------------------
    编写函数fun,输入一个整数,求其各位数字的平方和。
    例如:输入1981,输出k=147。
    ---------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n)
    {
    /**********Program**********/



    /********** End **********/
    }

    void main()
    {
    int x,k;
    scanf("%d",&x);
    k=fun(x);
    printf("k=%d\n",k);
    }
  • /*------------------------------------------------------------
    编程:判断一个整数是几位数。(使用while)
    -------------------------------------------------------------*/
    #include<stdio.h>
    void main()
    {
    int n,p=0;
    scanf("%d",&n);
    /**********Program**********/



    /********** End **********/
    printf("输入的数为%d位数\n",p);
    }
  • /*---------------------------------------------------------
    编程:从键盘输入一个三位整数,将其反序产生一个新的整数并输出。(使用while)
    例如:123反序为321;120反序为21。
    ----------------------------------------------------------*/
    #include"stdio.h"
    void main()
    {
    int a,b=0;
    scanf("%d",&a);
    /**********Program**********/



    /********** End **********/
    printf("%d\n",b);
    }
  • /*----------------------------------------------------
    编写函数fun,若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。
    主函数的功能是计算 (1+3+5+……+199)-(2+4+6+……+200)的值。
    ----------------------------------------------------------------------*/
    #include "stdio.h"
    int fun(int x,int y);
    void main()
    {
    int s;
    s=fun(1,199)-fun(2,200);
    printf("s=%d\n",s);

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



    /********** End **********/
  • /*-------------------------------------------------------
    编写函数sum,求区间[1,n]中奇数的平方和,其中n由键盘输入。
    举例:当n=100时,结果为166650
    ----------------------------------------------------------------------*/
    #include "stdio.h"
    /**********Program**********/



    /********** End **********/
    void main()
    {
    int n;
    scanf("%d",&n);
    printf("%ld\n",sum(n));
    }
  • /*-------------------------------------------------------
    编写函数fun,将所有大于1小于形参m的非素数存入数组a中,个数通过指针变量k返回。
    例如:若输入17,则应输出4 6 8 9 10 12 14 15 16。
    -------------------------------------------------------*/
    #include <stdio.h>
    void fun(int m,int* k,int a[])
    {
    int i,j,n=0;
    for (i=2;i<m;i++)/*找出大于1小于整数m的非素数*/
    {
    /**********Program**********/



    /********** End **********/
    }
    *k=n; /*返回非素数的个数*/
    }
    void main()
    {
    int m,n,b[100];
    scanf("%d",&n);
    fun(n,&m,b);
    printf("大于1小于%d的非素数有%d个\n",n,m);
    for (n=0; n<m; n++)
    printf("%4d",b[n]);
    }
  • /*-------------------------------------------------------
    编写函数fun,返回区间[n1,n2]之间素数的个数。
    例如:[0,8]间素数个数为4。
    -------------------------------------------------------*/
    #include <stdio.h>
    #include <math.h>
    /**********Program**********/



    /********** End **********/
    int main()
    {
    int count;
    count=fun(0,20);
    printf("素数个数是%d\n",count);
    return 0;
    }
  • /*-------------------------------------------------------
    编写函数fun,编程判断形参n(n>=2)是否素数。(要求使用函数sqrt)
    -------------------------------------------------------*/
    #include <stdio.h>
    #include <math.h>
    int fun(int n);
    void main()
    {
    int m;
    scanf("%d",&m);
    if (fun(m))
    printf("%d是素数\n",m);
    else
    printf("%d不是素数\n",m);

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



    /********** End **********/
  • /*-------------------------------------------------------
    编程:输出前100个素数,并计算它们的平均值。(使用函数调用)
    要求:输出时每个数占5个字符宽度,5个一行。
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int n){//判断n是否是素数
    int i;
    for (i=2;i<n;i++)
    if (n%i==0) return 0;
    return 1;
    }
    int main()
    {
    int i=2,t=0;
    float sum=0;
    while (t<100)
    {
    /**********Program**********/



    /********** End **********/
    }
    printf("平均值为%.2f\n",sum/100);
    return 0;
    }
  • /*-------------------------------------------------------
    编程:找出200到300间的所有素数。
    输出时每个数占5个字符宽度,5个一行。要求在奇数中找素数。
    -------------------------------------------------------*/
    #include <stdio.h>
    #include <math.h>
    void main()
    {
    int i,j,k,t;
    k=0;//k用于记录素数个数
    for (i=201;i<300;i+=2)
    {
    t=sqrt((float)i);
    /**********Program**********/



    /********** End **********/
    }
    }
  • /*-------------------------------------------------------
    编程:由键盘输入一个正整数n,判断其是否是素数。(使用for)
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int n,i;
    scanf("%d",&n);
    /**********Program**********/



    /********** End **********/
    if (i==n)
    printf("%d是素数\n",n);
    else
    printf("%d不是素数\n",n);
    }
  • /*-------------------------------------------------------
    编程:由键盘输入一个正整数n(n>=2),判断其是否是素数。(使用for)
    -------------------------------------------------------*/
    #include <stdio.h>
    #include <math.h>
    void main()
    {
    int n,i,k;
    scanf("%d",&n);
    k=sqrt((float)n);
    /**********Program**********/



    /********** End **********/
    if (i>k)
    printf("%d是素数\n",n);
    else
    printf("%d不是素数\n",n);
    }
  • /*----------------------------------------------------------------------
    编写函数fun,计算两个正整数的最大公约数。(使用while)
    -------------------------------------------------------*/
    #include <stdio.h>
    int fun(int a,int b);
    void main()
    {
    int m,n;
    scanf("%d%d",&m,&n);
    printf("%d和%d的最大公约数是:%d\n",m,n,fun(m,n));
    }
    /**********Program**********/



    /********** End **********/
  • /*----------------------------------------------------------------------
    编程:输出从公元2020年至2100年所有闰年的年号,每输出5个年号换一行。
    ----------------------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int year,count;
    count=0;
    for (year=2020;year<=2100;year++)
    {
    if (year%4==0&&year%100!=0||year%400==0)
    {
    printf("%-6d",year);
    /**********Program**********/



    /********** End **********/
    }
    }
    }
  • /*-------------------------------------------------------
    编程:给出年月日,计算出该日是该年的第几天。(注:使用Switch)
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int year,month,day,d,days=0;
    scanf("%d-%d-%d",&year,&month,&day);
    for (int i=1;i<month;i++)
    {
    /**********Program**********/



    /********** End **********/
    }
    printf("%d-%d-%d是该年第%d天\n",year,month,day,days+day);
    }
  • /*-------------------------------------------------------
    编程:输入年月日,输出该月所对应的天数。(注:使用Switch)
    -------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int year,month,day,days;
    scanf("%d-%d-%d",&year,&month,&day);
    /**********Program**********/



    /********** End **********/
    printf("%d年%d月有%d天\n",year,month,days);
    }
  • /*----------------------------------------------------------------------
    编程:输入一个年号,判断该年2月的天数。
    提示:闰年的2月有29天,平年的2月有28天。
    例如:输入:2000
    输出:2000年的2月有29天
    输入:2023
    输出:2023年的2月有28天
    ----------------------------------------------------------------------*/
    #include <stdio.h>
    void main()
    {
    int year;
    scanf("%d",&year);
    /**********Program**********/



    /********** End **********/
    }