欢迎光临散文网 会员登陆 & 注册

C语言编程(天天乐学)

2022-12-10 12:13 作者:星空223  | 我要投稿

题目:编写函数function对主程序中用户输入的具有10个数据的数组a按由大到小排序,

      并在主程序中输出排序结果。

#include <stdio.h>

int function(int arr[], int n)

{

  /**********Program**********/

 

 

 

 

 

  /**********  End  **********/

}

 

main()

{

  int a[10],i;

  printf("请输入数组a中的十个数:\n");

  for (i=0;i<10;i++)

    scanf("%d",&a[i]);

  function(a,10);

  printf("由大到小的排序结果是:\n");

  for (i=0;i<10;i++)

    printf("%4d",a[i]);

  printf("\n"); 

 

}

题目:求大于num(num小于100的整数)并且小于100的所有素数并放在x数组中,

      该函数返回所求出素数的个数。

例如:输入:56,结果为: 59  61  67  71  73  79  83  89  97

#include<stdio.h>

#include<conio.h>

#define MAX 100

int fun(int num,int x[MAX])

{

  /**********Program**********/

 

 

 

 

 

  /**********  End  **********/

}

main()

{

  int limit,i,sum;

  int x[MAX];

  printf("Please input ainteger:");

  scanf("%d",&limit);

  sum=fun(limit,x);

  for(i=0;i<sum;i++)

  {

    if(i%10==0&&i!=0) printf("\n");

    printf("%4d",x[i]);

  }

}

题目:请编写函数sum,其功能是:用for循环语句求1到n之间所有偶数之和(若n为偶数包括n),

      并将结果返回给主函数。

        (n值由主函数传入)

例如:输入:40,则输出为:sum=420。

#include <stdio.h>

int sum(int n)

 {

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/   

 }

void main()

{

    int n,s;

    scanf("%d",&n);

    s=sum(n);

    printf("sum=%d\n",s);

 

}

题目:编写函数function求一个不多于5位的正整数的位数,

      该数在主函数中输入,并在主函数中输出结果。

#include "stdio.h"

int function(int m)

 {

/**********Program**********/

 

 

 

 

 

/**********  End  **********/

  else if(m>9)   con=2;

  else con=1;

  return con;

}

void main()

{ long  num;

  int weishu;

  printf("输入一个不多于5位的整数:");

  scanf("%ld",&num);

  weishu=function(num);

  printf("%ld是一个%d位正整数\n",num,weishu);

 

}

题目:请编写一个函数,用来删除字符串中的所有空格。

例如:输入asd af aa z67,则输出为asdafaaz67。

#include <stdio.h>

void fun (char *str)

{

/**********Program**********/

 

 

 

 

 

/**********  End  **********/

}

main()

{

 char str[81];

 printf("请输入带有空格的字符串:\n");

 gets(str);

 fun(str);

 printf("删除空格后的字符串是: %s\n",str);

}

题目:请编写函数sum,其功能是:用While循环语句求1到n之间(包括n)能被7整除的所有整数之和,

      并将结果返回给主函数。

     (n值由主函数传入)

例如:若输入:20,则输出为:21

#include "stdio.h"

long sum(int n)

{

  /**********Program**********/

 

 

 

 

 

  /**********  End  **********/  

}

void main()

{

    int x;

    long f;

    scanf("%d",&x);

    f=sum(x);

    printf("%ld\n",f);

 

}

题目:打印100~200范围内所有能被3或7整除的数,将符合条件的数单行输出,

      计算并输出这些数的和。

提示:总和=6322

#include <stdio.h>

void main()

{

    int i,sum=0;

    printf("100~200范围内能被3或7整除的数:\n");

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/

  

}

题目:请补充完整函数sort(int *p,int m,int n),实现对p所指向的

      一维数组a从第m个元素开始的n个元素进行升序排序。

例如:输入4,7;输出顺序为: 12 -56  32 -48 -20   6  32  74  77  83  51 -48  11 -69  20  63

#include <stdio.h>

void sort(int *p,int m,int n)

{

    /**********Program**********/

 

 

 

 

 

    /**********  End  **********/

}

 

int main()

{

    int a[16]={12,-56,32,6,-48,83,74,32,-20,77,51,-48,11,-69,20,63};

    int i,m,n;

       printf("Please input m and n:");

    do

    {  

        scanf("%d,%d",&m,&n);

     }while(m<1||m>16||m+n>17);

    sort(a,m,n);

    for(i=0;i<16;i++)

         printf("%4d",a[i]);

    printf("\n");

    return 0;

}

题目:编写函数fun,其功能是:求出1~100之间能被8或9整除,

      但不能同时被8和9整除的所有整数,并将其放在a所指的数组中,

         通过n返回这些数的个数。

#include <stdio.h>

void  fun (int *a, int *n)

{

        /**********Program**********/

 

 

 

 

 

        /**********  End  **********/

}

main( )

        int b[100], n, k ;

        fun ( b, &n ) ;

        for ( k = 0 ; k < n ; k++ )

                if((k + 1) % 10 == 0)

                        printf("\n") ;

                else

                        printf("%5d", b[k]) ;

      

}

题目:开发程序帮助老师统计出若干个学生的平均成绩、最高分以及得最高分的人数。

例如:输入10名学生的成绩分别为92.5 87 78 53 96 83.5 67.5 75 96 92,

      则输出平均成绩为82.05, 最高分为96,得最高分的人数为2人。

#include <stdio.h>

float Max=0;

int J=0;

 

float fun(float array[],int n)

{

/**********Program**********/

 

 

 

 

 

/**********  End  **********/

}

void main(  )

{

        float  a[10],ave;

        int i=0;

        for(i=0;i<10;i++)

         scanf("%f",&a[i]);

        ave=fun(a,10);

        printf("平均=%f\n",ave);

        printf("最高=%f\n",Max);

        printf("最高分合计人数:%d\n",J);

}

题目:编写函数用冒泡排序法对(20个元素)数组位中的数据进行从小到大的排序。

#include <stdlib.h>

#include<stdio.h>

void paixu(int arr[],int n)

{

  /**********Program**********/ 

 

 

 

 

 

  /**********  End  **********/

}

main()

{

  int arr[20],i;

  for(i=0;i<20;i++)

    arr[i]=rand()%10+17;

  for(i=0;i<20;i++)

    printf("%3d",arr[i]);

  printf("\n-------------------\n");

  paixu(arr,20);

  for(i=0;i<20;i++)

    printf("%3d",arr[i]);

 

}

1. 编写程序,打印以下图案:

*****

 ***

  *

#include<stdio.h>

void main()

{

   int i,j,k;

/**********Program**********/

      

 

 

 

 

 

/**********  End  **********/

 

   printf("\n");

}

题目: 打印以下图案:

*********

  *******

    *****

      ***

        *

#include<stdio.h>

void main()

{

       int i,j,k;

       for( i=0 ; i<5;  i++ )

       {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       }

   printf("\n");

}

功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。

#include<stdio.h>

main()

{

       int m,n,k,i=0;

       for(m=100;m<=1000;m++)

       {

              k=0;

              n=m;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       }

}

功能:设计程序打印出如下图案(菱形)

 

   *

  ***

 *****

*******

 *****

  ***

   *

#include <stdio.h>

main()

{

       int i,j,k;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

}

【程序设计】请编写函数sum,其功能是:用While循环语句求1到n之间(包括n)能

被3整除的所有整数之和,并将结果返回给主函数。(n值由主函数传入)

运行程序后若输入:10,则输出为:18

#include "stdio.h"

long sum(int n)

{

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

      

}

 

void main()

{

       int x;

       long f;

       scanf("%d",&x);

       f=sum(x);

       printf("%ld\n",f);

 

}

【程序设计】功能:使用for循环输出Fibonacci数列的前15项,要求每行输出5项。

      Fibonacci数列:1,1,2,3,5,8,13...........

#include <stdio.h>

main()

{

       int fib[15],i;                               

       fib[0]=1;fib[1]=1;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

                                                     

       for(i=0;i<15;i++)

       {

              printf("%d\t",fib[i] );

              if ( i%5==4 ) printf("\n");                       

       }

}

功能:功能:输入三角形的三边长,判断能否构成三角形,若能,利用海伦公式计

      算该三角形的面积,计算结果保留3位小数。

      l=(a+b+c)/2,s=sqrt(l*(l-a)*(l-b)*(l-c))

#include <stdio.h>

#include <math.h>

main()

{   

    float a,b,c,s,l;

        scanf("%f,%f,%f",&a , &b , &c);

        if(a+b<c||a+c<b||b+c<a)

                printf("该3个数据不能构成三角形\n");

        else

        {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/               

                printf("该三角形的面积为%.3f\n",s);

        }

   

}

功能:从键盘输入2个整数相加,再输入答案,如果正确,显示"right",否则显示"error"。

--------------------------------------------------------*/

#include "stdio.h"

main( )

{

       int a,b,c;

       printf("please input a and b:\n");

       scanf("%d,%d",&a , &b);

       printf("please input the answer:\n");

       scanf("%d",&c);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       else

              printf("error\n");

}

功能:从键盘输入整数n,输出n以内所有奇数的和。(使用for循环)

#include<stdio.h>

void main()

{

   int n,i,s;

    s=0;

    scanf("%d",&n);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/   

    printf("s=%d\n",s);

}

功能:输入三个整数x,y,z,请把这三个数由小到大输出。

#include <stdio.h>

main()

{

    int x,y,z,t;

    scanf("%d%d%d",&x , &y , &z);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

    printf("small to big: %d %d %d\n",x,y,z);

}

功能:编写比较a、b两个数的大小,且把大者赋给max,小者赋给min。

#include"stdio.h"

main()

{

       int a,b,min,max;

       printf("输入两个数给a,b:");

       scanf("%d,%d",&a,&b);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       printf("min=%d,max=%d\n",min,max);

}

功能:找出n个数中最大的数和最小的数,并将它们的值输出出来。

#include<stdio.h>

int main()

{

       int a,n,i,min,max;

       scanf("%d",&n);

       scanf("%d",&a);

       min=a;

       max=a;

       for(i=1;i<n;i++)

       {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       }

       printf("The maximum number is %d.\n",max);

       printf("The minimum number is %d.\n",min);

}

功能::使用for循环打印出如下图案(菱形)

   *

  ***

 *****

*******

 *****

  ***

   *

#include <stdio.h>

main()

{

       int i,j,k;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

}

 

功能:编写一个简单计算器程序,输入格式为:a op b。其中 a和b是

  参加运算的两个数,op 为运算符,它的取值只能是+、-、*、/。

例:

   输入:3,+,4

   输出:3.000000+4.000000=7.000000

#include<stdio.h>

main()

{

    float a,b;

    char op;

    printf("Please enter a,b and op:");

    scanf("%f,%c,%f",&a,&op,&b);

    switch(op)

    {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

      case '/':if(b!=0)

                  printf("%f/%f=%f\n",a,b,a/b);

               else

                  printf("error!\n");break;

      default:printf("error!\n");break;

   }

}

功能:编写程序(使用Switch ),给出年月日,计算出该日是该年的第几天。判断是否为

      闰年的条件是:能被 4 整除但是不能被100整除或者能被四百整除。

#include"stdio.h"

main()

{

       int year,month,day,days=0,i,d;

       printf("请输入年-月-日:");

       scanf("%d-%d-%d",&year,&month,&day);

       for(i=1;i<month;i++)

       {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       }

       printf("%d-%d-%d是该年第%d天\n",year,month,day,days + day);

}

功能:编写程序,把三个整数中最大的打印出来。

#include"stdio.h"

main()

{

       int a,b,c,m;

       scanf("%d,%d,%d", &a,&b,&c);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       printf ("m=%d\n",m);

}

编程计算:s=1-3+5-7+……-99(使用for循环)

#include <stdio.h>

main()

{

       int i,f,sum;

       f=1;

       sum=0;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       printf("1-3+5-7+...-99 = %d\n",sum);

}

编程计算:s=1!+2!+3!+…n!   (n由键盘输入,使用for循环)

#include <stdio.h>

main()

{

       int i,j,n;

       long p,sum;

       sum=0;

       printf("请输入一个正整数n:");

       scanf("%d",&n);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       printf("1!+2!+...+%d!= %d\n",n,sum);

}

请编写输出以下图案的程序。

1

123

12345

1234567

12345

123

1

#include  <stdio.h>

#include <math.h>

main()

{

       int i,j;

       for(i=-3;i<=3;i++)

       {            

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       }

 

}

使用for循环输出99乘法表,要求格式如图所示: (注:乘积占四个字符)

1x1=1

2x1=2   2x2=4

3x1=3   3x2=6   3x3=9

4x1=4   4x2=8   4x3=12  4x4=16

5x1=5   5x2=10  5x3=15  5x4=20  5x5=25

6x1=6   6x2=12  6x3=18  6x4=24  6x5=30  6x6=36

7x1=7   7x2=14  7x3=21  7x4=28  7x5=35  7x6=42  7x7=49

8x1=8   8x2=16  8x3=24  8x4=32  8x5=40  8x6=48  8x7=56  8x8=64

9x1=9   9x2=18  9x3=27  9x4=36  9x5=45  9x6=54  9x7=63  9x8=72  9x9=81

#include <stdio.h>

main()

{

       int i,j;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

 

}

编程判断m是否素数,m由键盘输入。(使用for循环)

#include <stdio.h>

main()

{

       int m,i;

       printf("请输入一个正整数 :");

       scanf("%d",&m);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       if(i==m)

              printf("%d是素数\n",m);

       else

              printf("%d不是素数\n",m);

}

编程判断m是否素数,m由键盘输入。(使用for)

#include <stdio.h>

#include <math.h>

main()

{

       int m,i,k;

       printf("请输入一个正整数 :");

       scanf("%d",&m);

       k=sqrt(m);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       if(i>k)

              printf("%d是素数\n",m);

       else

              printf("%d不是素数\n",m);

}

编程计算:使用for计算,s=1+2+3+……+n   (n由键盘输入)

#include <stdio.h>

main()

{

       int i,n,sum;

       sum=0;

       printf("请输入一个正整数n:");

       scanf("%d",&n);

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       printf("1+2+...+%d = %d\n",n,sum);

}

 

 

使用for循环编写程序,打印以下图形,要求行数n由键盘输入。

    *

   ***

  *****

 *******

#include <stdio.h>

main()

{

       int i,j,k,n;

       printf("请输入行数n:");

       scanf("%d",&n );

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

}

编写程序,打印以下图形:

 

    *

   ***

  *****

 *******

  *****

   ***

    *

#include <stdio.h>

#include <math.h>

main()

{

       int i,j,k;

       for(i=-3;i<=3;i++)

       {

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

       }

 

}

编程将一个正整数分解成质因数(注:使用while循环)

例如:

  输入 90

  输出 90=2*3*3*5

#include <stdio.h>

main()

{

       int n,i;

       printf("请输入一个正整数:");

       scanf("%d",&n);

       printf("%d=",n);

       i=2;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

       printf("%d\n",n);

}

鸡兔同笼,《孙子算经》中记载:“今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何?”,编程计算鸡和兔子各有多少只。(注:使用for循环)

结果:

鸡有23只,兔有12只

main()

{

       int j,t;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

}

百马百担,有一百匹马,驮一百担货,大马驮3担,中马驮2担,两只小马驮1担,每匹马都要驮货,编程计算大马(dm)、中马(zm)、小马(xm)各有多少匹。 (注:使用for循环)

结果:

大马有2匹,中马有30匹,小马有68匹

大马有5匹,中马有25匹,小马有70匹

大马有8匹,中马有20匹,小马有72匹

大马有11匹,中马有15匹,小马有74匹

大马有14匹,中马有10匹,小马有76匹

大马有17匹,中马有5匹,小马有78匹

#include <stdio.h>

void main() {

       int dm,zm,xm;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

}

韩信点兵,韩信带1500名士兵打仗,战死四五百人,站3人一排,多出2人;站5人一排,多出4人;站7人一排,多出6人。编程计算还有多少士兵?  (注:使用for循环)

#include <stdio.h>

main()

{

       int i;

/**********Program**********/

      

 

 

 

 

/**********  End  **********/  

}

编写函数(fact),计算n的阶乘,n由键盘输入

#include <stdio.h>

long fact(int n);

main()

{

       int n;

       long f;

       printf("请输入整数n:");

       scanf("%d",&n);

       f=fact(n);

       printf("%d!=%ld\n",n,f);

}

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

 

编写函数(fact),通过函数的递归调用,计算n的阶乘。

-------------------------------------------------------*/

#include <stdio.h>

long fact(int n);

main()

{

       int n;

       long f;

       printf("请输入整数n:");

       scanf("%d",&n);

       f=fact(n);

       printf("%d!=%ld\n",n,f);

}

/**********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  **********/

 

 

编写函数(tj),通过函数的递归调用,实现:有n级台阶,一步可以上一级台阶,也可以一步上两级台阶,问上完n级台阶,有多少种走法?

#include <stdio.h>

int tj(int m);

main()

{

       int n;

       printf("请输入台阶的级数:");

       scanf("%d",&n);

       printf("走完%d级台阶有%d种走法\n",n,tj(n));

}

/**********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>

/**********Program**********/

      

 

 

 

 

/**********  End  **********/

main()

{

       int n;

       scanf("%d",&n);

       printf("%d!=%ld\n",n,fun(n));

}

 

1.函数fun的功能:对一个任意位数的正整数n,从十位起计算隔位数字之和,即十位、千位、……等数字之和。例如输入1234567,6+4+2的结果为12。

---------------------------------------------------------------------*/

int fun(int n)

{

    int sum=0;

    n=【1】;

     【2】(n>0)

     { 

          sum +=【3】;

          n=【4】;

     }

    return sum;

}

 

#include <stdio.h>

int main()

{

    int n;

    printf("输入一个正整数: ");

    scanf("%d",&n);

    printf("从十位起,隔位数字之和是%d\n",fun(n));

    return 0;

}

 

2.功能:产生10个[30,90]区间上的随机整数,然后对其用选择法进行由小到大的排序。

---------------------------------------------------------------------*/

#include <stdio.h>

#include <stdlib.h>

main()

{

  /***********SPACE***********/

  【1】;

   int i,j,k;

   int a[10];

   for(i=0;i<10;i++)

     a[i]=rand()%90+15;

   for(i=0;i<9;i++)

   {

      /***********SPACE***********/

      【2】;

      for(j=i+1;j<10;j++)

        /***********SPACE***********/

      if(【3】) k=j;

      if(k!=i)

      {

           t=a[k];

           a[k]=a[i];

           a[i]=t;

      }

   }

   /***********SPACE***********/

   for(【4】 )

     printf("%5d",a[i]);

   printf("\n");

}

3.请编写fun函数程序,从键盘输入某一年,判断该年是否为闰年。闰年的条件是:(1)能被4整除但不能被100整除。(2)能被400整除。符合任何一个条件就是闰年。 ( 输入年份为整型)

---------------------------------------------------------------------*/

#include <stdio.h>

int fun(int year )

{

 

    /**********Program**********/

    int leap;

    if((【1】&& year % 100 != 0) || (【2】))

        leap = 1;

    else

        【3】;

    return leap;

 }

   

void main( )

    int year ;

    scanf("%d", &year);

    if(fun(year) == 1)

        printf("yes");

    else

        printf("no");

 

}

 

4

功能:将一个数组中的元素按逆序存放。

---------------------------------------------------------------------*/

#include <stdio.h>

#define  N  7

main ()

{

  static int a[N]={12,9,16,5,7,2,1},k,s;

  printf("\n the origanal array:\n");

  for (k=0;k<N;k++)

    printf("%4d",a[k]);

  /***********SPACE***********/

  for (k=0;k<N/2; 【1】 )

  {

     s=a[k];

   【2】 ;

    【3】 ;

   }

   printf("\n the changed array:\n");

   for (k=0;k<N;k++)

           【4】  ("%4d",a[k]);

}

 

5. 题目:请编fun函数写程序,从键盘输入百分制成绩,要求输出等级制成绩A、B、C、D。90~100分为A,80~89分为B,60~79分为C,1~59分为D。不考虑小数,输入为整数,输出为字符。

---------------------------------------------------------------------*/

#include <stdio.h>

char fun (int n)

{

    char s;

    switch(n)

    {

        case 10:

        【1】;break;

        【2】;break;

        case 7:

       【3】;break;

          default:s='D';

    }

    return s;

}

 

void main()

{

    int score,n;

    char p;

    scanf("%d",&score);

    n=score/10;

    p=fun(n);

    printf("%c" , p);

   

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:编程统计一个字符串中的字母、数字、空格和其它字符的个数。

---------------------------------------------------------------------*/

#include <stdio.h>

void fun(char s[],int b[])

{

  int i;

  for (i=0;s[i]!='\0';i++)

  if ('a'<=s[i]&&s[i]<='z'||'A'<=s[i]&&s[i]<='Z')

    b[0]++;

   else if (【1】)

    b[1]++;

  else if (【2】 )

    b[2]++;

  else

    b[3]++;

}

 

main ()

{

  char s1[80];int a[4]={0};

  int k;

  【3】;

  gets(s1);

  【4】;

  puts(s1);

  for(k=0;k<4;k++)

    printf("%4d",a[k]);

}

 

/*-------------------------- 【程序填空】  --------------------------

题目:s=1+(2*2)+(3*3*3)+(4*4*4*4)+...+(9*9*9*9*9*9*9*9*9)的值。要求:使用循环实现。 输出格式:s=405071317

---------------------------------------------------------------------*/

#include <stdio.h>

int main()

{

    int i;

    int j;

    int sum = 0;

    int tmp;

    /**********Program**********/

 

      for (i=1;【1】)

  {

      【2】;

      for (j = 1; 【3】;j++)

      {

          【4】;

      }

 

       【5】;

  }

 

    /**********  End  **********/

    printf("s=%d\n", sum);

    return (0);

}

 

 

 

/*-------------------------- 【程序填空】  --------------------------

题目:求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。

例如:7+77 +777+7777+77777( 此时a=7,n=5),a,n均由键盘输入,输出为:Sn=86415 。

---------------------------------------------------------------------*/

#include <stdio.h>

int main()

{       

    int a,n,count=1,sn=0,tn=0;

    printf("请输入 a 和 n 的值:\n");

    scanf("%d%d",&a,&n);

    /**********Program**********/

 

  while(【1】)

 {   tn【2】;

      【3】tn;

      【4】;

【5】

 

    /**********  End  **********/

    printf("sn=%d\n",sn);

    return 0;

}

 

 

/*-------------------------- 【程序填空】  --------------------------

功能:输出Fibonacci数列的前15项,要求每行输出5项。Fibonacci数列:1,1,2,3,5,8,13...........

---------------------------------------------------------------------*/

#include <stdio.h>

main()

{

   int 【1】[15],i;                               

  fib[0]=1;fib[1]=1;

  for (i=2;i<15;i++)

    /***********SPACE***********/

    fib[i]=【2】;                                       

  for(i=0;i<15;i++)

  { /***********SPACE***********/

    printf("%d\t",【3】 );

    /***********SPACE***********/

    if ( 【4】 ) printf("\n");                       

  }

}

 

/*-------------------------- 【程序填空】  --------------------------

请进行计算机编程,使其输出结果为下列图形。

   *

  ***

 *****

*******

 *****

  ***

   *

---------------------------------------------------------------------*/

#include<stdio.h>

main()

{

       int i,j;

       for(i=1; 【1】;i++)

       {

              if(i<=4)

              {

                     for(j=1;j<=4-i;j++)

                            printf(【2】);

                     for(j=1;j<=2*i-1;j++)

                            printf(【3】);

              }

              else

              {

                     for(j=1;j<=【4】;j++)

                            printf(" ");

                     for(j=1;j<=15-2*i;j++)

                            printf("*");

              }

              printf("【5】");

       }

}

 

/*-------------------------- 【程序填空】  --------------------------

题目:编写函数求1~100(闭区间)中奇数的平方和。结果为166650。

---------------------------------------------------------------------*/

#include "stdio.h"

float sum(int n)

{

/**********Program**********/

 

 float【1】;

 int i,j;

 【2】i=i+2)

   s【3】;

 return(s);

 

/**********  End  **********/

 }

main()

{

        printf("sum=%f\n",sum(100));

   

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:用冒泡法对数组c 进行由大到小的排序。

---------------------------------------------------------------------*/

#include <stdio.h>

void fun(int c[],int n)

{

  int i,j,t;

  /***********SPACE***********/

  for (j=0; 【1】;j++)

    /***********SPACE***********/

    for (i=0; 【2】;i++)

      /***********SPACE***********/

      if(【3】)

      {

        t=c[i];

        c[i]=c[i+1];

        c[i+1]=t;

      }

}

main()

{

  int i,c[12]={3,7,5,1,2,8,6,4,10,9,11,12};

  /***********SPACE***********/

  【4】;

  for(i=0;i<12;i++)

    printf("%3d",c[i]);

}

 

 

/*-------------------------- 【程序填空】  --------------------------

功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

例如:当s串为"ABCD"时,则t串的内容应为"ABCDDCBA"。

---------------------------------------------------------------------*/

#include  <conio.h>

#include  <stdio.h>

#include  <string.h>

void fun (char  *s, char  *t)

{

  int   i, d;

  /***********SPACE***********/

  d = 【1】;

  /***********SPACE***********/

  for (i = 0; i<d; 【2】) 

    t[i] = s[i];

  for (i = 0; i<d; i++) 

    /***********SPACE***********/

    t[【3】] = s[d-1-i];

  /***********SPACE***********/

  t[【4】] ='\0';

}

main()

{

  char  s[100], t[100];

  printf("\nPlease enter string S:"); scanf("%s", s);

  fun(s, t);

  printf("\nThe result is: %s\n", t);

}

 

/*-------------------------- 【程序填空】  --------------------------

题目:函数fun的功能:返回1+12+123+1234+12345……,共n(≤9)项相加的值。

例如:输入5,输出 sum=13715 

---------------------------------------------------------------------*/

#include <stdio.h>

int fun(int n)

{

    int sum=0;

    /**********Program**********/

 

【1】=0,i;

for(【2】;i++)

{

    t【3】;

    【4】t;

【5】

 

    /**********  End  **********/

    return sum;

}

int main()

{

    int n;

    do

    {   printf("请输入n(1~9):");

        scanf("%d",&n);

    }while(n<1||n>9);

    printf ("sum =%d\n",fun(n)) ;

    return 0;

}

 

/*-------------------------- 【程序填空】  --------------------------

题目:下列给定程序中,函数fun的功能是:把形参a所指数组中的奇数按原顺序依次存放到a[0]、a[1]、a[2]、……中,把偶数从数组中删除,奇数个数通过函数值返回。

例如:若a所指数组中的数据最初排列为:9、1、4、2、3、6、5、8、7,删除偶数后a所指数组中的数据为:9、1、3、5、7,返回值为5。

---------------------------------------------------------------------*/

#include    <stdio.h>

#define    N    9

int fun(int  a[], int  n)

{       

        int  i,j;

        j = 0;

        for (i=0; i<n; i++)

                if (a[i]%2==【1】)

                {

                        a[j] = a[i]; 【2】;

                }

        return 【3】;

}

main()

        int  b[N]={9,1,4,2,3,6,5,8,7}, i, n;

        printf("\nThe original data  :\n");

        for (i=0; i<N; i++)  printf("%4d ", b[i]);

        printf("\n");

        n = fun(b, N);

        printf("\nThe number of odd  : %d \n", n);

        printf("\nThe odd number  :\n");

        for (i=0; i<n; i++)  printf("%4d ", b[i]);

        printf("\n");

}

 

/*-------------------------- 【程序填空】  --------------------------

编写函数fun(x,y),函数的功能是若x、y为奇数,求x到y之间的奇数和;若x、y为偶数,则求x到y之间的偶数和。

主函数的功能是计算(1+3+5+……+1999)-(2+4+6+……+1998)的值。

---------------------------------------------------------------------*/

#include "stdio.h"

int fun(int x,int y);

main()

 {

    int s;

    s=fun(1,1999)-fun(2,1998);

    printf("s=%d\n",s);

  

 }

int fun(int x,int y)

{

/**********Program**********/

 

  【1】 i,s=0;

  for【2】

     s=【3】;

  return s;

 

/**********  End  **********/

}

 

/*-------------------------- 【程序填空】  --------------------------

题目:下列给定程序中,函数fun的功能是:逆置数组元素中的值。例如:若a所指数组中的数据为:1、2、3、4、5、6、7、8、9,则逆置后依次为:9、8、7、6、5、4、3、2、1。形参n给出数组中数据的个数。

---------------------------------------------------------------------*/

#include    <stdio.h>

void fun(int  a[], int  n)

       int  i,t;

        for (i=0; i<【1】; i++)

        {

                t=a[i];

                a[i] = a[【2】];

                【3】 = t;

        }

}

main()

        int  b[9]={1,2,3,4,5,6,7,8,9}, i;

        printf("\nThe original data  :\n");

        for (i=0; i<9; i++)

                printf("%4d ", b[i]);

        printf("\n");

        fun(b, 9);

        printf("\nThe data after invert  :\n");

        for (i=0; i<9; i++)

                printf("%4d ", b[i]);

        printf("\n");

}

 

/*-------------------------- 【程序填空】  --------------------------

(2)功能:求一批数据(数组)的最大值并返回下标。

---------------------------------------------------------------------*/

#include <stdio.h>

int max(int *p,int n,int *index)

{

  int i,in=0,m;

/***********SPACE***********/

【1】;

  /***********SPACE***********/

  for (【2】;i<n;i++) 

      if(m<*(p+i))

      {

        m=*(p+i);

/***********SPACE***********/

【3】;

      }

   *index=in;

  /***********SPACE***********/

   【4】;

}

void main()

{

  int i,a[10]={3,7,5,1,2,8,6,4,10,9},m;

  /***********SPACE***********/

  m=【5】;

/***********SPACE***********/

  printf("最大值%d,下标%d",【6】,i);

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:用冒泡法对数组a进行由小到大的排序。

---------------------------------------------------------------------*/

#include <stdio.h>

void fun(int a[],int n)

{

  int i,j,t;

  /***********SPACE***********/

  for (j=0; 【1】;j++)

    /***********SPACE***********/

    for (i=0; 【2】;i++)

      /***********SPACE***********/

      if(【3】) 

 {

        t=a[i];

        a[i]=a[i+1];

        a[i+1]=t;

      }

}

main()

{

  int i,a[9]={3,7,5,1,2,8,6,4,9};

  【4】;

  for(i=0;i<9;i++)

    printf("%3d",a[i]);

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:输入3个数a,b,c,按从小到大的顺序输出。

---------------------------------------------------------------------*/

#include <stdio.h>

main()

{

  void swap(int *p1, int *p2);

  int n1,n2,n3;

  int *pointer1,*pointer2,*pointer3;

  printf("please input 3 number:n1,n2,n3:");

  scanf("%d,%d,%d",&n1,&n2,&n3);

  pointer1=&n1;

  pointer2=&n2;

  pointer3=&n3;

    if(【1】) swap(pointer1,pointer2);

    if(【2】) swap(pointer1,pointer3);

    if(【3】) swap(pointer2,pointer3);

  printf("the sorted numbers are:%d,%d,%d\n",n1,n2,n3);

}

void swap(【4】)

int *p1,*p2;

{

  int p;

  p=*p1;*p1=*p2;*p2=p;

}

 

 

/*-------------------------- 【程序填空】  --------------------------

功能:用冒泡法对数组a 进行由小到大的排序。

---------------------------------------------------------------------*/

#include <stdio.h>

void fun(int a[],int n)

{

  int i,j,t;

  /***********SPACE***********/

  for (j=0; 【1】;j++)

    /***********SPACE***********/

    for (i=0; 【2】;i++)

      /***********SPACE***********/

      if(【3】)  

{

        t=a[i];

        a[i]=a[i+1];

        a[i+1]=t;

      }

}

main()

{

  int i,a[10]={3,7,5,1,2,8,6,4,10,9};

  /***********SPACE***********/

  【4】;

  for(i=0;i<10;i++)

    printf("%3d",a[i]);

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:求两个正整数m和n的最大公约数。

---------------------------------------------------------------------*/

#include "stdio.h"

void main()

{

  int  r,m,n,t;

  printf("Enter m,n:");

   scanf("%d,%d",【1】);

  printf("m=%d,n=%d",m,n);

   r=【2】;

  while(【3】)

  {

                m=【4】;

                n=r;

                r=【5】;

   }

  printf("h.c.f=%d\n",n);

}

 

/*-------------------------- 【程序填空】  --------------------------

打印以下图形。

    *       

    **    

    ***   

    **** 

    *****

    ****       

    ***    

    **   

    *

---------------------------------------------------------------------*/

#include "stdio.h"

void main()

{

   int i,j,n;

   printf("qing shu ru N:");

   scanf("%d",【1】);

/***********SPACE***********/

   for(i=1;i<=【2】;i++)

    {

       for(j=1;j<=【3】;j++)

       printf("*");

       printf("\n");

    }

       for(i=1;i【4】n;i++)

    {

       for(j=1;j<=【5】;j++)

       printf("*");

       printf("\n");

    }

}

 

/*-------------------------- 【程序填空】  --------------------------

功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。

---------------------------------------------------------------------*/

#include <stdio.h>

#include <conio.h>

main()

{

  int i,n,sum;

  sum=0;

   【1】;

   for(i=1; 【2】 ;i++)

    if(【3】)

      if(i%2==0)

      {

         sum=sum+i;

         n++;

         printf("%6d",i);

            if(【4】) 

            printf("\n");

      }

   printf("\ntotal=%d",sum);

}

 

/*-------------------------------------------------------------

程序功能:从键盘上输入10个学生的成绩(0-100分之间),统计并输出最高成绩和最低成绩,平均分。

---------------------------------------------------------------*/

#include <stdio.h>

main()

{

       /***********SPACE***********/

       int 【1】,max,min,i,sum=0;

       printf("please input x:\n");

       max=-1;

       min=100;

       for(i=0;i<10;i++)

       {

              /***********SPACE***********/

              scanf("%d",【2】);

              if(s[i]>max)

              /***********SPACE***********/

                     【3】;

              if(s[i]<min)

                     min=s[i];

              /***********SPACE***********/

              【4】;

       }

       printf("max=%d,min=%d,average=%.2f\n",max,min,【5】);

}

 

/*--------------------------------------------------------------

程序功能:从键盘输入一个长度为10的字符串,将它复制给字符数组,并将其中的所有小写字母转换为大写后输出。

----------------------------------------------------------------*/

#include <stdio.h>

void main()

{

       /***********SPACE***********/

       char ch【1】;

       /***********SPACE***********/

       int i,【2】;

       scanf("%s",ch);

       /***********SPACE***********/

       for(【3】;i<=9;i++)

       /***********SPACE***********/

       if(【4】)

       {

              ch[i]-=32;

              n++;

       }

       /***********SPACE***********/

       printf("转换后为%s,共转换%d个字符\n",【5】,n); 

}

 

/* ---------------------------------------------------------

程序功能:从键盘输入9个字符,按照3个一行的格式输出它们的ASCII码,每个字母左对齐占四列

------------------------------------------------------------*/

#include <stdio.h>

void main()

{

       char ch[9];

       int i;

       /***********SPACE***********/

       for(i=0;i<9;i++)

              ch[i]=【1】;

       for(i=0;i<9;i++)

       /***********SPACE***********/

       {

              printf("【2】",ch[i]);            

       /***********SPACE***********/

              if(【3】)

       /***********SPACE***********/

                     printf("【4】");

       }

}

 

 

/*--------------------------------------------------------------

程序功能:从键盘输入6个数,计算6个数的平均值(只保留整数),并打印每个数与平均值差的絶対値

---------------------------------------------------------------*/

#include<stdio.h>

/***********SPACE***********/

【1】

void main()

{

       int i,s=0,n[6];

       /***********SPACE***********/

       for(【2】;i<6;i++)

       {

              scanf("%d",&n[i]);

              /***********SPACE***********/

              s+=【3】;

       }

       /***********SPACE***********/

       【4】;

       for(i=0;i<6;i++)

              /***********SPACE***********/

              printf("%-4d",【5】);

}

 

/*---------------------------------------------

程序功能:从键盘输入10个数将它们从大到小排列输出

----------------------------------------------*/

#include <stdio.h>

void main()

{

/***********SPACE***********/

       int i,j,t,【1】;   

       for(i=0;i<10;i++)

       {

/***********SPACE***********/

              scanf("%d",【2】);  

       }

       for(i=0;i<10;i++)

/***********SPACE***********/

              for(【3】;j<10;j++)

/***********SPACE***********/

                     if(【4】)

                     {

                            t=n[i];

                            n[i]=n[j];

                            n[j]=t;

                     }

/***********SPACE***********/

              for(i=0;【5】;i++)

                     printf("%-4d",n[i]);        

}/*------------------------------------------------------------------

 

 

程序功能:从键盘输入10个字符,将它们隔位输出。

  例如:输入asdfghjklp,则输出adgjl

-------------------------------------------------------------------*/

#include <stdio.h>

void main()

{

/***********SPACE***********/

       【1】;

/***********SPACE***********/

       int 【2】;

/***********SPACE***********/ 

       for(【3】;i<10;i++)

       {

/***********SPACE***********/

              scanf("%c",【4】);  

       }

/***********SPACE***********/

       for(i=0;i<10;【5】)

              printf("%c",ch[i]);           

}

 

/*----------------------------------------------------------------

程序功能:从键盘输入10个整数成绩,按照10分一段将每个分数段的成绩人数统计出来,输入负数结束循环

----------------------------------------------------------------*/

#include <stdio.h>

void main()

{     

       int s,i;

/***********SPACE***********/

       int n【1】={0,0,0,0,0,0,0,0,0,0};

/***********SPACE***********/

       scanf("%d",【2】);

/***********SPACE***********/

       while(【3】)

       {

/***********SPACE***********/

              【4】++;

              scanf("%d",&s);       

       }

       for(i=0;i<10;i++)

/***********SPACE***********/

              printf("%d分--%d分有%d个;\n ",i*10,i*10+10,【5】);       

}

 

 

/*-------------------------------------------------------

程序功能:求100~200中能被9整除的所有整数的和。

-------------------------------------------------------*/

#include <stdio.h>

void main()

{

  /**********************************/

       int i,【1】;

       for(i=100;i<=200;【2】)

              if(【3】)

                     s+=【4】;

              printf("%d\n",【5】);

  /**********************************/

}

 

/*-------------------------------------------------------------------------

程序功能:输入年号,输出这一年的2月份的天数。

例如:输入:1990

      输出:1990年的2月有28天

         输入:2000

         输出:2000年的2月有29天

判断闰年的方法:年号能被4整除且不能被100整除为闰年或年号能被400整除为闰年。

--------------------------------------------------------------------------*/

#include<stdio.h> 

void main() 

{

       int year,leap;

       printf("请输入年份:\n"); 

   /*************************************/

       scanf("%d",【1】);

       leap=0;

       if(year%4==0)

              if(【2】)

                     leap=1;

       if(【3】)

              【4】;

       if(【5】) 

        printf("%d年的2月有29天\n",year);

    /*************************************/

       else 

        printf("%d年的2月有28天\n",year); 

}

 

/*-----------------------------------------------------------------

程序功能:求Sn=a+aa+aaa+……+aa…a之值,其a中代表1到9中的一个数字。

例如:a代表6,则求6+66+666+6666+66666(此时n=5),a和n均由键盘输入。

------------------------------------------------------------------*/

#include <stdio.h>

#include<stdlib.h>

int fun(int a,int n)

{

       int t=a,i,s;

/***************************/

       【1】;

       for(i=1;i<=n;i++)

       {

              s+=【2】;

              t=t*10+a;

       }

       【3】;

}

main( )

{

       int a,n,s ;

       printf("输入a和n的值:");

       scanf("%d,%d",【4】) ;

       printf("a=%d,n=%d:\n",a,n) ;

       s=【5】;

/*****************************/

       printf("a+aa+aaa+...+aa..a=%d\n",s);

       system("pause");

}

 

 

/*-----------------------------------------------------------------------------------

程序功能:打印输出1~100范围内所有能被15整除的数(每个数单独一行),计算并输出这些数的和。

 

输出样式:

100以内能被15整除的数:

15

30

45

60

75

90

s=315

-----------------------------------------------------------------------------------*/

#include <stdio.h>

void main()

{

    /*************************/

       int i,【1】;

       printf("100以内能被15整除的数:\n");

       for(i=1;i<=100;【2】)

              if(【3】==0)

              {

                     printf("%d\n",【4】);

                     s=s+i;

              }

              printf("s=【5】\n",s);

       /**************************/

}

 

 

/*-----------------------------------------------------------

功能:从键盘为一维整型数组输入10个整数,调用函数找出其中

      最小的数并输出。

-----------------------------------------------------------*/

#include <stdio.h>

#include<stdlib.h>

int fun(int m[],int n)

/*************************/

       int 【1】,i;

       min=m[0];

       for(i=1;【2】;i++)

       {

              【3】(m[i]<min)

                     【4】;

       }

       【5】;

/**************************/

}

main()

{

       int a[10],i,min;

       for(i=0;i<10;i++)

              scanf("%d",&a[i]);

       for(i=0;i<10;i++)

              printf("%3d",a[i]);

       printf("\n");

       min=fun(a,10);

       printf("min=%d\n",min);

}

 

/*-------------------------- 【程序填空】  --------------------------

函数fun的功能:将字符串str中第k个字符开始的n个字符逆序重排后再全部输出字串,

例如:字符串为“12345abcde” 

若 输入1,5   输出54321abcde

         输入3,6   输出12cba543de

请完善下列程序项。 

---------------------------------------------------------------------*/

#include <stdio.h>

#include <string.h>

void fun(char *str, int k, int n )

{

      int i,j;  char t;

     for(i=【1】,j= k-1+n-1;i<j;i++,j--)

       {

            t=【2】;

              【3】;

              【4】=t;

      }

 }

int main( )

{

    char str[]="12345abcde";

    unsigned int k,n;

    scanf("%d,%d",&k,&n);

    if(k+n-1<=strlen(str))

    {          fun(str,k,n);

          puts(str); 

       }

    else

                 printf("所输入的k,n值不合适!\n");

    return 0;

}

 

/*-------------------------- 【程序填空】  --------------------------

用冒泡法对数组a进行由小到大的排序。

---------------------------------------------------------------------*/

#include "stdio.h"

void fun(int a[],int n)

{

        int i,j,t;

       

       /***********SPACE***********/

        for(j=0;j<【1】;j++)

               /***********SPACE***********/

                for(i=0;i<【2】;i++)

               /***********SPACE***********/

                        if(【3】)

                        {

                                t=a[i];

                                a[i]=a[i+1];

                                a[i+1]=t;

                        }

}

main()

{

         int i,a[9]={13,8,5,11,2,6,9,7,19};

        /***********SPACE***********/

        【4】;

         for(i=0;i<9;i++)

                 printf("%3d",a[i]);  

}


C语言编程(天天乐学)的评论 (共 条)

分享到微博请遵守国家法律