精华内容
参与话题
问答
  • C语言程序设计50例(经典收藏)

    万次阅读 多人点赞 2018-12-08 12:12:31
    C语言程序设计50例(经典收藏) 本篇文章是对C语言程序设计的50个小案例进行了详细的分析介绍,需要的朋友参考下 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1....

    C语言程序设计50例(经典收藏)

    本篇文章是对C语言程序设计的50个小案例进行了详细的分析介绍,需要的朋友参考下
    【程序1】
    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
          掉不满足条件的排列。
    2.程序源代码:
    代码如下:

    #include <stdio.h>
    int main()
    {
      int i,j,k;
      printf("\n");
      for(i=1;i<5;i++) /*以下为三重循环*/
        for(j=1;j<5;j++)
          for (k=1;k<5;k++)
          {
            if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/
            printf("%d,%d,%d\n",i,j,k);
          }
      return 0;
    }
    
    

    ==============================================================
    【程序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.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。      
    2.程序源代码:
    代码如下:

    #include <stdio.h>
    int main()
    {
        long int i;
        int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
        scanf("%ld",&i);
        bonus1=100000*0.1;
        bonus2=bonus1+100000*0.75;
        bonus4=bonus2+200000*0.5;
        bonus6=bonus4+200000*0.3;
        bonus10=bonus6+400000*0.15;
        if(i<=100000)
            bonus=i*0.1;
        else if(i<=200000)
            bonus=bonus1+(i-100000)*0.075;
        else if(i<=400000)
            bonus=bonus2+(i-200000)*0.05;
        else if(i<=600000)
            bonus=bonus4+(i-400000)*0.03;
        else if(i<=1000000)
            bonus=bonus6+(i-600000)*0.015;
        else
            bonus=bonus10+(i-1000000)*0.01;
        printf("bonus=%d",bonus);
        return 0;
    }
    
    

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

    #include <math.h>
    #include <stdio.h>
    int main()
    {
      long int i,x,y,z;
      for (i=1;i<100000;i++)
      {
        x=sqrt(i+100); /*x为加上100后开方后的结果*/
        y=sqrt(i+268); /*y为再加上168后开方后的结果*/
        if(x*x==i+100&&y*y==i+268) /*如果一个数的平方根的平方等于该数,这说明此数是完全平方数*/
        printf("\n%ld\n",i);
      }
      return 0;
    }
    
    

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

    #include <stdio.h>
    int main()
    {
      int day,month,year,sum,leap;
      printf("please input year,month,day\n");
      scanf("%d,%d,%d",&year,&month,&day);
      switch(month) /*先计算某月以前月份的总天数*/
      {
        case 1:sum=0;break;
        case 2:sum=31;break;
        case 3:sum=59;break;
        case 4:sum=90;break;
        case 5:sum=120;break;
        case 6:sum=151;break;
        case 7:sum=181;break;
        case 8:sum=212;break;
        case 9:sum=243;break;
        case 10:sum=273;break;
        case 11:sum=304;break;
        case 12:sum=334;break;
        default:printf("data error");break;
      }
      sum=sum+day; /*再加上某天的天数*/
      if(year%400==0||(year%4==0&&year%100!=0)) /*判断是不是闰年*/
        leap=1;
      else
        leap=0;
      if(leap==1&&month>2) /*如果是闰年且月份大于2,总天数应该加一天*/
        sum++;
      printf("It is the %dth day.",sum);
      return 0;
    }
    
    

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

    #include <stdio.h>
    int main()
    {
      int x,y,z,t;
      scanf("%d%d%d",&x,&y,&z);
      if (x>y)
        {t=x;x=y;y=t;} /*交换x,y的值*/
      if(x>z)
        {t=z;z=x;x=t;} /*交换x,z的值*/
      if(y>z)
        {t=y;y=z;z=t;} /*交换z,y的值*/
      printf("small to big: %d %d %d\n",x,y,z);
      return 0;
    }
    
    

    ==============================================================
    【程序6】
    题目:用号输出字母C的图案。
    1.程序分析:可先用’
    '号在纸上写出字母C,再分行输出。
    2.程序源代码:
    代码如下:

    #include <stdio.h>
    int main()
    {
      printf("Hello C-world!\n");
      printf(" ****\n");
      printf(" *\n");
      printf(" * \n");
      printf(" ****\n");
      return 0;
    }
    
    

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

    #include <stdio.h>
    int main()
    {
      char a=176,b=219;
      printf("%c%c%c%c%c\n",b,a,a,a,b);
      printf("%c%c%c%c%c\n",a,b,a,b,a);
      printf("%c%c%c%c%c\n",a,a,b,a,a);
      printf("%c%c%c%c%c\n",a,b,a,b,a);
      printf("%c%c%c%c%c\n",b,a,a,a,b);
      return 0;
    }
    
    

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

    #include <stdio.h>
    int main()
    {
      int i,j,result;
      printf("\n");
      for (i=1;i<10;i++)
      {
        for(j=1;j<10;j++)
        {
          result=i*j;
          printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/
        }
        printf("\n"); /*每一行后换行*/
      }
      return 0;
    }
    

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

    #include <stdio.h>
    int main()
    {
      int i,j;
      for(i=0;i<8;i++)
      {
        for(j=0;j<8;j++)
          if((i+j)%2==0)
            printf("%c%c",219,219);
          else
            printf("  ");
        printf("\n");
      }
      return 0;
    }
    

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

    #include <stdio.h>
    int main()
    {
      int i,j;
      printf("\1\1\n"); /*输出两个笑脸*/
      for(i=1;i<11;i++)
      {
        for(j=1;j<=i;j++)
          printf("%c%c",219,219);
        printf("\n");
      }
      return 0;
    }
    
    

    【程序11】
    题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月
       后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…
    2.程序源代码:
    代码如下:

    #include <stdio.h>
    int main()
    {
      long f1,f2;
      int i;
      f1=f2=1;
      for(i=1;i<=20;i++)
      {
        printf("%12ld %12ld",f1,f2);
        if(i%2==0) printf("\n"); /*控制输出,每行四个*/
        f1=f1+f2; /*前两个月加起来赋值给第三个月*/
        f2=f1+f2; /*前两个月加起来赋值给第三个月*/
      }
      return 0;
    }
    
    

    ==============================================================
    【程序12】
    题目:判断101-200之间有多少个素数,并输出所有素数。
    1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
          则表明此数不是素数,反之是素数。       
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    #include<math.h>
    int main()
    {
      int m,i,k,h=0,leap=1;
      for(m=101;m<=200;m++)
      {
        k=sqrt(m+1);
        for(i=2;i<=k;i++)
        if(m%i==0)
        {
          leap=0;
          break;
        }
        if(leap)
        {
          printf("%-4d",m);
          h++;
          if(h%10==0)
            printf("\n");
        }
        leap=1;
      }
      printf("\nThe total is %d",h);
      return 0;
    }
    
    

    ==============================================================
    【程序13】
    题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数
       本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。
    1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      int i,j,k,n;
      printf("'water flower'number is:");
      for(n=100;n<1000;n++)
      {
        i=n/100;/*分解出百位*/
        j=n/10%10;/*分解出十位*/
        k=n%10;/*分解出个位*/
        if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
          printf("%-5d",n);
      }
      return 0;
    }
    

    ==============================================================
    【程序14】
    题目:将一个正整数分解质因数。例如:输入90,打印出90=233*5。
    程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:
    (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
    (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,
     重复执行第一步。
    (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      int n,i;
      printf("\nplease input a number:\n");
      scanf("%d",&n);
      printf("%d=",n);
      for(i=2;i<=n;i++)
        while(n!=i)
        {
          if(n%i==0)
          {
            printf("%d*",i);
            n=n/i;
          }
          else
            break;
        }
      printf("%d",n);
      return 0;
    }
    

    ==============================================================
    【程序15】
    题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,
       60分以下的用C表示。
    1.程序分析:(a>b)?a:b这是条件运算符的基本例子。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      int score;
      char grade;
      printf("please input a score\n");
      scanf("%d",&score);
      grade=score>=90?'A':(score>=60?'B':'C');
      printf("%d belongs to %c",score,grade);
      return 0;
    }
    

    ==============================================================
    【程序16】
    题目:输入两个正整数m和n,求其最大公约数和最小公倍数。
    1.程序分析:利用辗除法。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      int a,b,num1,num2,temp;
      printf("please input two numbers:\n");
      scanf("%d %d",&num1,&num2);
      if(num1<num2)/*交换两个数,使大数放在num1上*/
      {
        temp=num1;
        num1=num2;
        num2=temp;
      }
      a=num1;b=num2;
      while(b!=0)/*利用辗除法,直到b为0为止*/
      {
        temp=a%b;
        a=b;
        b=temp;
      }
      printf("gongyueshu:%d\n",a);
      printf("gongbeishu:%d\n",num1*num2/a);
      return 0;
    }
    
    

    ==============================================================
    【程序17】
    题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
    1.程序分析:利用while语句,条件为输入的字符不为’\n’.
          
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      char c;
      int letters=0,space=0,digit=0,others=0;
      printf("please input some characters\n");
      while((c=getchar())!='\n')
      {
        if(c>='a'&&c<='z'||c>='A'&&c<='Z')
          letters++;
          else if(c==' ')
            space++;
            else if(c>='0'&&c<='9')
              digit++;
            else
              others++;
      }
      printf("all in all:char=%d space=%d digit=%d others=%d\n",letters,space,digit,others);
      return 0;
    }
    
    

    ==============================================================
    【程序18】
    题目:求s=a+aa+aaa+aaaa+aa…a的值,其中a是一个数字。例如2+22+222+2222+22222(此时
       共有5个数相加),几个数相加有键盘控制。
    1.程序分析:关键是计算出每一项的值。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
      int a,n,count=1;
      long int sn=0,tn=0;
      printf("please input a and n\n");
      scanf("%d %d",&a,&n);
      printf("a=%d,n=%d\n",a,n);
      while(count<=n)
      {
        tn=tn+a;
        sn=sn+tn;
        a=a*10;
        ++count;
      }
      printf("a+aa+...=%ld\n",sn);
      return 0;
    }
    
    

    ==============================================================
    【程序19】
    题目:一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
       找出1000以内的所有完数。

    1. 程序分析:请参照程序<–上页程序14.
      2.程序源代码:
      代码如下:
    #include<stdio.h>
    int main()
    {
        static int k[10];
        int i,j,n,s;
        for(j=2;j<1000;j++)
        {
            n=-1;
            s=j;
            for(i=1;i<j;i++)
            {
                if((j%i)==0)
                {
                    n++;
                    s=s-i;
                    k[n]=i;
                }
            }
            if(s==0)
            {
                printf("%d is a wanshu",j);
                for(i=0;i<n;i++)
                    printf("%d,",k[i]);
                printf("%d\n",k[n]);
            }
        }
        return 0;
    }
    
    

    ==============================================================
    【程序20】
    题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在
       第10次落地时,共经过多少米?第10次反弹多高?
    1.程序分析:见下面注释
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        float sn=100.0,hn=sn/2;
        int n;
        for(n=2;n<=10;n++)
        {
            sn=sn+2*hn;/*第n次落地时共经过的米数*/
            hn=hn/2; /*第n次反跳高度*/
        }
        printf("the total of road is %f\n",sn);
        printf("the tenth is %f meter\n",hn);
        return 0;
    }
    
    

    【程序21】
    题目:猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个
       第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下
       的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。
    1.程序分析:采取逆向思维的方法,从后往前推断。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int day,x1,x2;
        day=9;
        x2=1;
        while(day>0)
        {
            x1=(x2+1)*2;/*第一天的桃子数是第2天桃子数加1后的2倍*/
            x2=x1;
            day--;
        }
        printf("the total is %d\n",x1);
        return 0;
    }
    
    

    ==============================================================
    【程序22】
    题目:两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定
       比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出
       三队赛手的名单。
    1.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        char i,j,k;/*i是a的对手,j是b的对手,k是c的对手*/
        for(i='x';i<='z';i++)
            for(j='x';j<='z';j++)
            {
                if(i!=j)
                for(k='x';k<='z';k++)
                {
                    if(i!=k&&j!=k)
                    {
                        if(i!='x'&&k!='x'&&k!='z')
                        printf("order is a--%c\tb--%c\tc--%c\n",i,j,k);
                    }
                }
            }
        return 0;
    }
    
    

    ==============================================================
    【程序23】
    题目:打印出如下图案(菱形)

       *
      ***
     *****
    *******
     *****
      ***
       *
    

    1.程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重
          for循环,第一层控制行,第二层控制列。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int i,j,k;
        for(i=0;i<=3;i++)
        {
            for(j=0;j<=2-i;j++)
                printf(" ");
            for(k=0;k<=2*i;k++)
                printf("*");
            printf("\n");
        }
        for(i=0;i<=2;i++)
        {
            for(j=0;j<=i;j++)
                printf(" ");
            for(k=0;k<=4-2*i;k++)
                printf("*");
            printf("\n");
        }
        return 0;
    }
    
    

    ==============================================================
    【程序24】
    题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
    1.程序分析:请抓住分子与分母的变化规律。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int n,t,number=20;
        float a=2,b=1,s=0;
        for(n=1;n<=number;n++)
        {
            s=s+a/b;
            t=a;a=a+b;b=t;/*这部分是程序的关键,请读者猜猜t的作用*/
        }
        printf("sum is %9.6f\n",s);
        return 0;
    }
    
    

    ==============================================================
    【程序25】
    题目:求1+2!+3!+…+19!的和
    1.程序分析:此程序只是把累加变成了累乘。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        long long s=0,n,t=1;
        for(n=1;n<=19;n++)
        {
            t*=n;
            s+=t;
        }
        printf("1+2!+3!...+19!=%lld\n",s);
        return 0;
    }
    
    

    ==============================================================
    【程序26】
    题目:利用递归方法求5!。
    1.程序分析:递归公式:fn=fn_1*4!
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int i;
        int fact(int j);
        for(i=1;i<=5;i++)
            printf("%d!=%d\n",i,fact(i));
        return 0;
    }
    int fact(int j)
    {
        int sum;
        if(j==0)
            sum=1;
        else
            sum=j*fact(j-1);
        return sum;
    }
    
    

    ==============================================================
    【程序27】
    题目:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int i=5;
        void palin(int n);
        palin(i);
        printf("\n");
        return 0;
    }
    void palin(int n)
    {
      char next;
      if(n<=1)
      {
        next=getchar();
        printf("\n\0:");
        putchar(next);
      }
      else
      {
        next=getchar();
        palin(n-1);
        putchar(next);
      }
    }
    
    

    ==============================================================
    【程序28】
    题目:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第
       3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。最后
       问第一个人,他说是10岁。请问第五个人多大?
    1.程序分析:利用递归的方法,递归分为回推和递推两个阶段。要想知道第五个人岁数,需知道
          第四人的岁数,依次类推,推到第一人(10岁),再往回推。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    age(int n)
    {
      int c;
      if(n==1) c=10;
      else c=age(n-1)+2;
      return(c);
    }
    int main()
    {
        printf("%d",age(5));
        return 0;
    }
    
    

    ==============================================================
    【程序29】
    题目:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

    1. 程序分析:学会分解出每一位数,如下解释:(这里是一种简单的算法,师专数002班赵鑫提供)
      2.程序源代码:
      代码如下:
    #include<stdio.h>
    int main()
    {
        long a,b,c,d,e,x;
        scanf("%ld",&x);
        a=x/10000;/*分解出万位*/
        b=x%10000/1000;/*分解出千位*/
        c=x%1000/100;/*分解出百位*/
        d=x%100/10;/*分解出十位*/
        e=x%10;/*分解出个位*/
        if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a);
            else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);
                else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);
                    else if (d!=0) printf("there are 2, %ld %ld\n",e,d);
                        else if (e!=0) printf(" there are 1,%ld\n",e);
        return 0;
    }
    
    

    ==============================================================
    【程序30】
    题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。   
    1.程序分析:同29例
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        long ge,shi,qian,wan,x;
        scanf("%ld",&x);
        wan=x/10000;
        qian=x%10000/1000;
        shi=x%100/10;
        ge=x%10;
        if(ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/
            printf("this number is a huiwen\n");
        else
            printf("this number is not a huiwen\n");
        return 0;
    }
    
    

    【程序31】
    题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续
       判断第二个字母。
    1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        char letter;
        printf("please input the first letter of someday\n");
        while((letter=getchar())!='Y')/*当所按字母为Y时才结束*/
        {
            switch (letter)
            {
            case 'S':printf("please input second letter\n");
                if((letter=getchar())=='a')
                    printf("saturday\n");
                else if ((letter=getchar())=='u')
                    printf("sunday\n");
                else
                    printf("data error\n");
            break;
            case 'F':printf("friday\n");break;
            case 'M':printf("monday\n");break;
            case 'T':printf("please input second letter\n");
                if((letter=getchar())=='u')
                    printf("tuesday\n");
                else if ((letter=getchar())=='h')
                    printf("thursday\n");
                else
                    printf("data error\n");
            break;
            case 'W':printf("wednesday\n");break;
            default: printf("data error\n");
            }
        }
        return 0;
    }
    
    

    ==============================================================
    【程序32】
    题目:Press any key to change color, do you want to try it. Please hurry up!
    1.程序分析:            
    2.程序源代码:
    代码如下:

    #include "conio.h"
    #include "stdio.h"
    void main(void)
    {
      int color;
      for (color = 0; color < 8; color++)
      {
        textbackground(color);/*设置文本的背景颜色*/
        cprintf("This is color %d\r\n", color);
        cprintf("Press any key to continue\r\n");
        getch();/*输入字符看不见*/
      }
    }
    

    ==============================================================
    【程序33】
    题目:学习gotoxy()与clrscr()函数   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "conio.h"
    #include "stdio.h"
    void main(void)
    {
      clrscr();/*清屏函数*/
      textbackground(2);
      gotoxy(1, 5);/*定位函数*/
      cprintf("Output at row 5 column 1\n");
      textbackground(3);
      gotoxy(20, 10);
      cprintf("Output at row 10 column 20\n");
      getch();
    }
    

    ==============================================================
    【程序34】
    题目:练习函数调用

    1. 程序分析:
      2.程序源代码:
      代码如下:
    #include<stdio.h>
    void hello_world(void)
    {
        printf("Hello, world!\n");
    }
    void three_hellos(void)
    {
        int counter;
        for (counter = 1; counter <= 3; counter++)
            hello_world();/*调用此函数*/
    }
    int main()
    {
        three_hellos();/*调用此函数*/
        return 0;
    }
    
    

    ==============================================================
    【程序35】
    题目:文本颜色设置
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    void main(void)
    {
      int color;
      for (color = 1; color < 16; color++)
      {
        textcolor(color);/*设置文本颜色*/
        cprintf("This is color %d\r\n", color);
      }
      textcolor(128 + 15);
      cprintf("This is blinking\r\n");
      getch();
    }
    

    ==============================================================
    【程序36】
    题目:求100之内的素数   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    #include<math.h>
    #define N 101
    int main()
    {
        int i,j,line,a[N],k;
        for(k=2;k<N;k++)
        {
            for(i=2;i<=sqrt(k);i++)
            {
                if(k%i==0)
                    break;
            }
            if(i==(int)sqrt(k)+1)
                printf("%d ",k);
        }
        return 0;
    }
    
    

    ==============================================================
    【程序37】
    题目:对10个数进行排序
    1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,
          下次类推,即用第二个元素与后8个进行比较,并进行交换。       
    2.程序源代码:
    代码如下:

    #include<stdio.h>
    int main()
    {
        int a[10],i,j,t;
        printf("请输入10个数:");
        for(i=0;i<10;i++)
            scanf("%d",&a[i]);
        for(i=0;i<9;i++)
            for(j=0;j<9-i;j++)
                if(a[j]>a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        for(i=0;i<10;i++)
            printf("%d ",a[i]);
        return 0;
    }
    
    

    ==============================================================
    【程序38】
    题目:求一个3*3矩阵对角线元素之和
    1.程序分析:利用双重for循环控制输入二维数组,再将a累加后输出。
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    /* 如果使用的是TC系列编译器则可能需要添加下句 */
    static void dummyfloat(float *x){ float y; dummyfloat(&y);}
    main()
    {
      float a[3][3],sum=0;
      int i,j;
      printf("please input rectangle element:\n");
      for(i=0;i<3;i++)
        for(j=0;j<3;j++)
          scanf("%f",&a[j]);
      for(i=0;i<3;i++)
        sum=sum+a;
      printf("duijiaoxian he is %6.2f",sum);
      getch();
    }
    

    ==============================================================
    【程序39】
    题目:有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中。

    1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后
           此元素之后的数,依次后移一个位置。
      2.程序源代码:
      代码如下:
    #include<stdio.h>
    int main()
    {
        int a[11]={1,4,6,9,13,16,19,28,40,100},i,j,t,d;
        scanf("%d",&a[10]);
        if(a[0]>a[9])
            d=1;
        else
            d=0;
        for(i=0;i<10;i++)
            for(j=0;j<10-i;j++)
                if(a[j]>a[j+1])
                {
                    t=a[j];
                    a[j]=a[j+1];
                    a[j+1]=t;
                }
        if(d==0)
            for(i=0;i<11;i++)
                printf("%d ",a[i]);
        else
            for(i=10;i>=0;i--)
                printf("%d ",a[i]);
        return 0;
    }
    
    

    ==============================================================
    【程序40】
    题目:将一个数组逆序输出。
    1.程序分析:用第一个与最后一个交换。
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    #define N 5
    main()
    {
      int a[N]={9,6,5,4,1},i,temp;
      printf("\n original array:\n");
      for(i=0;i<N;i++)
        printf("%4d",a);
      for(i=0;i<N/2;i++)
      {
        temp=a;
        a=a[N-i-1];
        a[N-i-1]=temp;
      }
      printf("\n sorted array:\n");
      for(i=0;i<N;i++)
        printf("%4d",a);
      getch();
    }
    

    ==============================================================
    【程序41】
    题目:学习static定义静态变量的用法   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    varfunc()
    {
      int var=0;
      static int static_var=0;
      printf("\40:var equal %d \n",var);
      printf("\40:static var equal %d \n",static_var);
      printf("\n");
      var++;
      static_var++;
    }
    void main()
    {
      int i;
      for(i=0;i<3;i++)
        varfunc();
      getch();
    }
    

    ==============================================================
    【程序42】
    题目:学习使用auto定义变量的用法
    1.程序分析:      
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    main()
    {
      int i,num;
      num=2;
      for(i=0;i<3;i++)
      {
        printf("\40: The num equal %d \n",num);
        num++;
        {
          auto int num=1;
          printf("\40: The internal block num equal %d \n",num);
          num++;
        }
      }
      getch();
    }
    

    ==============================================================
    【程序43】
    题目:学习使用static的另一用法。   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    main()
    {
      int i,num;
      num=2;
      for(i=0;i<3;i++)
      {
        printf("\40: The num equal %d \n",num);
        num++;
        {
          static int num=1;
          printf("\40:The internal block num equal %d\n",num);
          num++;
        }
      }
      getch();
    }
    

    ==============================================================
    【程序44】
    题目:学习使用external的用法。
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    int a,b,c;
    void add()
    {
      int a;
      a=3;
      c=a+b;
    }
    void main()
    {
      a=b=4;
      add();
      printf("The value of c is equal to %d\n",c);
      getch();
    }
    

    ==============================================================
    【程序45】
    题目:学习使用register定义变量的方法。
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    void main()
    {
      register int i;
      int tmp=0;
      for(i=1;i<=100;i++)
      tmp+=i;
      printf("The sum is %d\n",tmp);
      getch();
    }
    

    ==============================================================
    【程序46】
    题目:宏#define命令练习(1)   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    #define TRUE 1
    #define FALSE 0
    #define SQ(x) (x)*(x)
    void main()
    {
      int num;
      int again=1;
      printf("\40: Program will stop if input value less than 50.\n");
      while(again)
      {
        printf("\40:Please input number==>");
        scanf("%d",&num);
        printf("\40:The square for this number is %d \n",SQ(num));
        if(num>=50)
          again=TRUE;
        else
          again=FALSE;
      }
      getch();
    }
    

    ==============================================================
    【程序47】
    题目:宏#define命令练习(2)
    1.程序分析:            
    2.程序源代码:
    代码如下:

    #include "stdio.h"
    #include "conio.h"
    /*宏定义中允许包含两道衣裳命令的情形,此时必须在最右边加上"\"*/
    #define exchange(a,b) { \
                            int t;\
                            t=a;\
                            a=b;\
                            b=t;\
                          }
    void main(void)
    {
      int x=10;
      int y=20;
      printf("x=%d; y=%d\n",x,y);
      exchange(x,y);
      printf("x=%d; y=%d\n",x,y);
      getch();
    }
    

    ==============================================================
    【程序48】
    题目:宏#define命令练习(3)   
    1.程序分析:
    2.程序源代码:
    代码如下:

    #define LAG >
    #define SMA <
    #define EQ ==
    #include "stdio.h"
    #include "conio.h"
    void main()
    {
      int i=10;
      int j=20;
      if(i LAG j)
        printf("\40: %d larger than %d \n",i,j);
        else if(i EQ j)
          printf("\40: %d equal to %d \n",i,j);
          else if(i SMA j)
            printf("\40:%d smaller than %d \n",i,j);
          else
            printf("\40: No such value.\n");
      getch();
      }
    

    ==============================================================
    【程序49】
    题目:#if #ifdef和#ifndef的综合应用。

    1. 程序分析:
      2.程序源代码:
      代码如下:
        #include "stdio.h"
        #include "conio.h"
        #define MAX
        #define MAXIMUM(x,y) (x>y)?x:y
        #define MINIMUM(x,y) (x>y)?y:x
        void main()
        {
          int a=10,b=20;
        #ifdef MAX
          printf("\40: The larger one is %d\n",MAXIMUM(a,b));
        #else
          printf("\40: The lower one is %d\n",MINIMUM(a,b));
        #endif
        #ifndef MIN
          printf("\40: The lower one is %d\n",MINIMUM(a,b));
        #else
          printf("\40: The larger one is %d\n",MAXIMUM(a,b));
        #endif
        #undef MAX
        #ifdef MAX
          printf("\40: The larger one is %d\n",MAXIMUM(a,b));
        #else
          printf("\40: The lower one is %d\n",MINIMUM(a,b));
        #endif
        #define MIN
        #ifndef MIN
          printf("\40: The lower one is %d\n",MINIMUM(a,b));
        #else
          printf("\40: The larger one is %d\n",MAXIMUM(a,b));
        #endif
          getch();
        }
    

    很快就

    展开全文
  • C语言10个经典小程序--致新手

    万次阅读 多人点赞 2017-09-20 21:31:16
    一:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 二:输入某年某月某日,判断这一天是这一年的第几天? 三:输入三个整数x,y,z,请把这三个数由小到大输出。 ...

        网上有很多的人说编程有多么多么无聊。。。。So Boring ! 。。。其实博主想说:不要管别人怎么说,别人说什么,做你自己喜欢做的事就好。坚持下来,你会发现编程的乐趣的。。。。当然,如果你觉得学习编程语言很痛苦,坚持了一段时间后无果,南无果断放弃未必不是一个好的选择。。。。哈哈哈哈。。。

       好了,今天俺送给大家的一经典英文就是与上面所说的折磨一大段废话有关:

    英国作家和评论家约翰逊说过:

                Great works are performed not by strength , but by perseverance. 

                                                           完成伟大的事业不在于体力,而在于坚韧不拔的毅力。       ——Samuel Johnson

                   

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


    main()
    {
    int i,j,k;
    printf("\n");
    for(i=1;i<5;i++)    /*以下为三重循环*/
     for(j=1;j<5;j++) 
      for (k=1;k<5;k++)
       {
        if (i!=k&&i!=j&&j!=k)    /*确保i、j、k三位互不相同*/
        printf("%d,%d,%d\n",i,j,k);
        }
    }

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


    main()
    {
    int day,month,year,sum,leap;
    printf("\nplease input year,month,day\n");
    scanf("%d,%d,%d",&year,&month,&day);
    switch(month)/*先计算某月以前月份的总天数*/
    {
     case 1:sum=0;break;
     case 2:sum=31;break;
     case 3:sum=59;break;
     case 4:sum=90;break;
     case 5:sum=120;break;
     case 6:sum=151;break;
     case 7:sum=181;break;
     case 8:sum=212;break;
     case 9:sum=243;break;
     case 10:sum=273;break;
     case 11:sum=304;break;
     case 12:sum=334;break;
     defaultrintf("data error");break;
    }
    sum=sum+day;  /*再加上某天的天数*/
     if(year%400==0||(year%4==0&&year%100!=0))/*判断是不是闰年*/
      leap=1;
     else
      leap=0;
    if(leap==1&&month>2)/*如果是闰年且月份大于2,总天数应该加一天*/
    sum++;
    printf("It is the %dth day.",sum); }

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


    main()
    {
    int x,y,z,t;
    scanf("%d%d%d",&x,&y,&z);
    if (x>y)
    /*交换x,y的值*/
    if(x>z)
    /*交换x,z的值*/
    if(y>z)
    /*交换z,y的值*/
    printf("small to big: %d %d %d\n",x,y,z);
    }

    【程序4】
    题目:用*号输出字母C的图案。
    1.程序分析:可先用<|>*<|>号在纸上写出字母C,再分行输出。
    2.程序源代码:


    #include "stdio.h"
    main()
    {
    printf("Hello C-world!\n");
    printf(" ****\n");
    printf(" *\n");
    printf(" * \n");
    printf(" ****\n");
    }

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


    #include "stdio.h"
    main()
    {
    char a=176,b=219;
    printf("%c%c%c%c%c\n",b,a,a,a,b);
    printf("%c%c%c%c%c\n",a,b,a,b,a);
    printf("%c%c%c%c%c\n",a,a,b,a,a);
    printf("%c%c%c%c%c\n",a,b,a,b,a);
    printf("%c%c%c%c%c\n",b,a,a,a,b); }

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


    #include "stdio.h"
    main()
    {
     int i,j,result;
     printf("\n");
     for (i=1;i<10;i++)
      { for(j=1;j<10;j++)
        {
         result=i*j;
         printf("%d*%d=%-3d",i,j,result);               /*-3d表示左对齐,占3位*/
         }
       printf("\n");                                                       /*每一行后换行*/
       }
    }

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


    #include "stdio.h"
    main()
    {
    int i,j;
    for(i=0;i<8;i++)
     {
      for(j=0;j<8;j++)
       if((i+j)%2==0)
        printf("%c%c",219,219);
       else
        printf(" ");
       printf("\n");
      }
    }

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


    #include "stdio.h"
    main()
    {
    int i,j;
    printf("\n");/*输出两个笑脸*/
    for(i=1;i<11;i++)
     {
     for(j=1;j<=i;j++)
       printf("%c%c",219,219);
     printf("\n");
      }
    }


    以上代码.注释文风参考脚本之家,原文请看www.jb51.net。。。这是个很不错的学习网站。。。主要是网络编程,脚本语言,数据库方面的。。。。
    虽是参考,但是博主有认真核对过代码的正确性。。。。请大家浏览时放心。。。。。
    展开全文
  • c语言】小程序游戏——飞机游戏(一)

    万次阅读 多人点赞 2018-10-07 18:52:49
    下面来介绍一个简单的游戏,其中用到的c语言知识属于基础内容,所以特别容易上手  ~~~~~~~飞机游戏~~~~~~~~~  首先按照常理我们知道,肯定要在界面上绘制出一个飞机,我们用“*”符号来简单代表就OK。  我们...

            下面来介绍一个简单的游戏,其中用到的c语言知识属于基础内容,所以特别容易上手

                                                ~~~~~~~飞机游戏~~~~~~~~~

             首先按照常理我们知道,肯定要在界面上绘制出一个飞机,我们用“*”符号来简单代表就OK。

             我们知道,在窗口的坐标系原点是在窗口左上角的,如图所示

                     

              所以我们如果想在这个坐标系里面的某个点上画出一个飞机,那么它的坐标系应该就是这样的

                 

            根据前一篇文章的介绍,如果转化为c语言的话,就需要:X0既是打印出X0个“\n”,Y0既是打印出Y0个空格!!!!

                                    然鹅

              我们可以使用更为简便的方式实现这个效果

              可是在此之前,我们需要初始化一些数据

              比如游戏的界面有多大、飞机的初始位置在什么地方等

              所以,初始化代码如下

    
    int height = 20;
    int weight = 20;
    int position_x=height/2;
    int position_y=weight/2;
     
    

            初始化完成之后,我们就可以确定飞机的初始位置了,改进后的代码如下

     for(int i=0;i<height;i++)
       {
    		for(int j=0;j<weight;j++)
    		{
    			if((i == position_x) && (j == position_y))
    				printf("*");
    			else 
    				printf(" ");
    		}
    		printf("\n");
       }

              编译时成功了,但是结果是你们想要的那样吗?

                   

                                                由结果可知,程序是会一直往下打印“*”号,没有终点

                                                                             这是为什么呢?

            大神们都知道,编译器是从上往下一直执行代码的,所以打印出来的结果自然也是一直往下打印的啦!

            所以,如果我们想要让飞机一直停留在窗口前面的话有什么办法呢?

            vc6里面有个东西叫做清屏函数

            一个用于输出完一次结果之后就把结果清除,在重新输出,再清除的函数

            还有一个叫光标移动函数

            一个用于把光标固定在某个位置,就不会一直闪屏的函数

            VC中的清屏函数和光标移动函数(俗称gotoxy()),如下

    #include <stdio.h>
    #include <stdlib.h>
    #include <windows.h>
    
    void gotoxy(int x,int y)
    {
        COORD pos;
        pos.X = x;
        pos.Y = y;
        HANDLE out = GetStdHandle(STD_OUTPUT_HANDLE);
        SetConsoleCursorPosition(out,pos);
    }
    
    void main()
    {
        system("cls");//清屏函数
        gotoxy(0,0);//光标移动函数
    }

          添加完上面的函数之后,再次编译结果,就可以看到飞机已经可以正常地出现在规定的位置啦

                      

             在接下来,我们还需要对“飞机”这个类添加属性,然后增加敌机、发射激光、计算分数等,详细请看小程序游戏——飞机游戏(二)

    展开全文
  • C语言必背18个经典程序

    万次阅读 多人点赞 2017-12-18 10:53:08
    C语言必背18个经典程序

    1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/

    #include “stdio.h”

    main()

    {int i,j,result;

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

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

    {

    result=i*j;

    printf(“%d*%d=%-3d”,i,j,result);/*-3d表示左对齐,占3位*/

    }

    printf(“\n”);/*每一行后换行*/

    }

    }

    2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
    兔子的规律为数列1,1,2,3,5,8,13,21….*/

    main()

    {

    long f1,f2;

    int i;

    f1=f2=1;

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

    { printf(“%12ld%12ld”,f1,f2);

    if(i%2==0) printf(“\n”);/*控制输出,每行四个*/

    f1=f1+f2;/*前两个月加起来赋值给第三个月*/

    f2=f1+f2; /*前两个月加起来赋值给第三个月*/

    }

    }

    3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
    程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,
         则表明此数不是素数,反之是素数。*/

    #include “math.h”

    main()

    {

    intm,i,k,h=0,leap=1;

    printf(“\n”);

    for(m=101;m<=200;m++)

    {k=sqrt(m+1);

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

    if(m%i==0)

    {leap=0;break;}

    if(leap) /*内循环结束后,leap依然为1,则m是素数*/

    {printf(“%-4d”,m);h++;

    if(h%10==0)

    printf(“\n”);

    }

    leap=1;

    }

    printf(“\nThetotal is %d”,h);

    }

    4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程
       找出1000以内的所有完数。*/

    main()

    {

    static int k[10];

    inti,j,n,s;

    for(j=2;j<1000;j++)

    {

    n=-1;

    s=j;

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

    {if((j%i)==0)

    { n++;

    s=s-i;

    k[n]=i;

    }

    }

    if(s==0)

    {printf(“%d is a wanshu: “,j);

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

    printf(“%d,”,k[i]);

    printf(“%d\n”,k[n]);

    }

    }

    }

    5、/*下面程序的功能是将一个4×4的数组进行逆时针旋转90度后输出,要求原始数组的数据随机输入,新数组以4行4列的方式输出,
    请在空白处完善程序。*/

    main()

    { int a[4][4],b[4][4],i,j; /*a存放原始数组数据,b存放旋转后数组数据*/

    printf(“input 16 numbers: “);

    /*输入一组数据存放到数组a中,然后旋转存放到b数组中*/

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

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

    { scanf(“%d”,&a[i][j]);

    b[3-j][i]=a[i][j];

    }

    printf(“arrayb:\n”);

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

    { for(j=0;j<4;j++)

    printf(“%6d”,b[i][j]);

    printf(“\n”);

    }

    }

    6、/*编程打印直角杨辉三角形*/

    main()

    {int i,j,a[6][6];

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

    {a[i][i]=1;a[i][0]=1;}

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

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

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

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

    {for(j=0;j<=i;j++)

    printf(“%4d”,a[i][j]);

    printf(“\n”);}

    }

    7、/*通过键盘输入3名学生4门课程的成绩,
    分别求每个学生的平均成绩和每门课程的平均成绩。
    要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车
    其中最后一列和最后一行分别放每个学生的平均成绩、每门课程的平均成绩及班级总平均分。*/

    #include <stdio.h>

    #include <stdlib.h>

    main()

    { float a[4][5],sum1,sum2;

    inti,j;

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

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

    scanf(“%f”,&a[i][j]);

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

    {sum1=0;

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

    sum1+=a[i][j];

    a[i][4]=sum1/4;

    }

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

    { sum2=0;

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

    sum2+=a[i][j];

    a[3][j]=sum2/3;

    }

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

    { for(j=0;j<5;j++)

    printf(“%6.2f”,a[i][j]);

    printf(“\n”);

    }

    }

    8、/*完善程序,实现将输入的字符串反序输出,

    如输入windows 输出swodniw。*/

    #include <string.h>

    main()

    { char c[200],c1;

    int i,j,k;

    printf(“Enter a string: “);

    scanf(“%s”,c);

    k=strlen(c);

    for (i=0,j=k-1;i<k/2;i++,j–)

    { c1=c[i];c[i]=c[j];c[j]=c1; }

    printf(“%s\n”,c);

    }

    指针法:

    void invert(char *s)

    {int i,j,k;

    char t;

    k=strlen(s);

    for(i=0,j=k-1;i<k/2;i++,j–)

    { t=*(s+i); *(s+i)=*(s+j); *(s+j)=t; }

    }

    main()

    {FILE *fp;
    char str[200],*p,i,j;
    if((fp=fopen(“p9_2.out”,”w”))==NULL)
    { printf(“cannot open thefile\n”);
    exit(0);
    }

    printf(“input str:\n”);

    gets(str);

    printf(“\n%s”,str);

    fprintf(fp,“%s”,str);

    invert(str);

    printf(“\n%s”,str);

    fprintf(fp,“\n%s”,str);

    fclose(fp);

    }

    9、/*下面程序的功能是从字符数组s中删除存放在c中的字符。*/

    #include <stdio.h>

    main()

    { char s[80],c;

    int j,k;

    printf(“\nEnter a string: “);

    gets(s);

    printf(“\nEnter a character: “);

    c=getchar( );

    for(j=k=0;s[j]!= ‘\0’;j++)

    if(s[j]!=c)

    s[k++]=s[j];

    s[k]=’\0’;

    printf(“\n%s”,s);

    }

    10、/*编写一个voidsort(int *x,int n)实现将x数组中的n个数据从大到小
    排序。n及数组元素在主函数中输入。将结果显示在屏幕上并输出到文件p9_1.out中*/

    #include<stdio.h>

    void sort(int *x,int n)

    {

    int i,j,k,t;

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

    {

    k=i;

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

    if(x[j]>x[k]) k=j;

    if(k!=i)

    {

    t=x[i];

    x[i]=x[k];

    x[k]=t;

    }

    }

    }

    void main()

    {FILE *fp;

    int *p,i,a[10];

    fp=fopen(“p9_1.out”,”w”);

    p=a;

    printf(“Input 10 numbers:”);

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

    scanf(“%d”,p++);

    p=a;

    sort(p,10);

    for(;p<a+10;p++)

    { printf(“%d “,*p);

    fprintf(fp,”%d “,*p); }

    system(“pause”);

    fclose(fp);

    }

    11、已知数组a中的元素已按由小到大顺序排列,以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大顺序排列*/

    main()

    { inta[10]={0,12,17,20,25,28,30}; /*a[0]为工作单元,从a[1]开始存放数据*/

    int x , i, j=6; /*j为元素个数*/

    printf(“Enter a number: “);

    scanf(“%d”,&x);

    a[0]=x;

    i=j; /*从最后一个单元开始*/

    while(a[i]>x)

    { a[i+1]=a[i]; i–; } /*将比x大的数往后移动一个位置*/

    a[++i]=x;

    j++; /*插入x后元素总个数增加*/

    for(i=1;i<=j;i++) printf(“%8d”,a[i]);

    printf(“\n”);

    }

    12、/*编写函数replace(char *s,char c1,char c2)实现将s所指向的字符串中所有字符c1用c2替换,字符串、字符c1和c2均在主函数中输入,将原始字符串和替换后的字符串显示在屏幕上,并输出到文件p10_2.out中*/

    #include<stdio.h>

    replace(char*s,char c1,char c2)

    {while(*s!=’\0’)

    { if(*s==c1)

    *s=c2;

    s++;

    }

    }

    main()

    { FILE *fp;

    char str[100],a,b;

    if((fp=fopen(“p10_2.out”,”w”))==NULL)

    { printf(“cannot open thefile\n”);

    exit(0); }

    printf(“Enter a string:\n”);

    gets(str);

    printf(“Enter a&&b:\n”);

    scanf(“%c,%c”,&a,&b);

    printf(“%s\n”,str);

    fprintf(fp,”%s\n”,str);

    replace(str,a,b);

    printf(“Thenew string is—-%s\n”,str);

    fprintf(fp,”Thenew string is—-%s\n”,str);

    fclose(fp);

    }

    13、/*在一个字串s1中查找一子串s2,若存在则返回子串在主串中的起始位置
    ,不存在则返回-1。*/

    main()

    {chars1[6]=”thisis”;char s2[5]=”is”;

    printf(“%d\n”,search(s1,s2));

    system(“pause”);

    }

    int search(chars1[],char s2[])

    {inti=0,j,len=strlen(s2);

    while(s1[i]){

    for(j=0;j<len;j++)

    if(s1[i+j]!=s2[j]) break;

    if(j>=len)return i;

    else i++;

    }

    return -1;

    }

    14、/*用指针变量输出结构体数组元素。*/

    struct student

    {

    int num;

    char *name;

    char sex;

    int age;

    }stu[5]={{1001,”lihua”,’F’,18},{1002,”liuxing”,’M’,19},{1003,”huangke”,’F’,19},{1004,”fengshou”,’F’,19},{1005,”Wangming”,’M’,18}};

    main()

    {int i;

    struct student *ps;

    printf(“Num \tName\t\t\tSex\tAge\t\n”);

    /*用指针变量输出结构体数组元素。*/

    for(ps=stu;ps<stu+5;ps++)

    printf(“%d\t%-10s\t\t%c\t%d\t\n”,ps->num,ps->name,ps->sex,ps->age);

    /*用数组下标法输出结构体数组元素学号和年龄。*/

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

    printf(“%d\t%d\t\n”,stu[i].num,stu[i].age);

    }

    15、/*建立一个有三个结点的简单链表:*/

    #define NULL 0

    struct student

    {

    int num;

    char *name;

    int age ;

    struct student*next;

    };

    void main()

    {

    struct studenta,b,c,*head,*p;

    a.num=1001;a.name=”lihua”; a.age=18; /* 对结点成员进行赋值 */

    b.num=1002;b.name=”liuxing”; b.age=19;

    c.num=1003;c.name=”huangke”; c.age=18;

    head=&a; /* 建立链表,a为头结点 */

    a.next=&b;

    b.next=&c;

    c.next=NULL;

    p=head; /* 输出链表 */

    do{

    printf(“%5d,%s,%3d\n”,p->num,p->name,p->age);

    p=p->next;

    }while(p!=NULL);

    }

    16、/*输入一个字符串,判断其是否为回文。回文字符串是指从左到右读和从右到左读完全相同的字符串。*/

    #include<stdio.h>

    #include<string.h>

    #include<string.h>

    main()

    { char s[100];

    int i,j,n;

    printf(“输入字符串:\n”);

    gets(s);

    n=strlen(s);

    for(i=0,j=n-1;i<j;i++,j–)

    if(s[i]!=s[j]) break;

    if(i>=j) printf(“是回文串\n”);

    else printf(“不是回文串\n”);

    }

    17、/*冒泡排序,从小到大,排序后结果输出到屏幕及文件myf2.out*/

    #include<stdio.h>

    void fun(inta[],int n)

    {int i,j,t;

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

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

    if(a[j]>a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}

    }

    main()

    {inta[10]={12,45,7,8,96,4,10,48,2,46},n=10,i;

    FILE *f;

    if((f=fopen(“myf2.out”,”w”))==NULL)

    printf(“open file myf2.outfailed!\n”);

    fun(a,10);

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

    {printf(“%4d”,a[i]);

    fprintf(f,”%4d”,a[i]);

    }

    fclose(f);

    }

    18、编写函数countpi,利用公式

    计算π的近似值,当某一项的值小于10-5时,认为达到精度要求,请完善函数。将结果显示在屏幕上并输出到文件p7_3.out中。

    #include<stdio.h>

    doublecountpi(double eps) /*eps为允许误差*/

    {

    int m=1;

    double temp=1.0,s=0;

    while(temp>=eps)

    { s+=temp;

    temp=temp*m/(2*m+1);

    m++;

    }

    return(2*s);

    }

    main()

    {FILE *fp;

    double eps=1e-5,pi;

    if((fp=fopen(“p7_3.out”,”w”))==NULL)

    { printf(“cannot open thefile\n”);

    exit(0);

    }

    pi= countpi(eps);

    printf(“pi=%lf\n”,pi);

    fprintf(fp,”pi=%lf\n”,pi);

    fclose(fp);

    }

                    </div>
    </article>
      <div class="readall_box csdn-tracking-statistics" data-mod="popu_376">
          <div class="read_more_mask"></div>
          <a class="btn btn-large btn-gray-fred read_more_btn" target="_self">阅读全文</a>
      </div>
      <div class="article_copyright">
        版权声明:开放      </div>
      <ul class="article_collect clearfix csdn-tracking-statistics"  data-mod="popu_378">
          <li class="tit">本文已收录于以下专栏:</li>
    












      <div class="more_comment">
          <div id="comment_bar" class="trackgin-ad" data-mod="popu_385"></div>
      </div>
    
      <h3 class="recommend_tit" id="related">相关文章推荐</h3>
      <div class="recommend_list clearfix" id="rasss">
                                                                                      <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/21aspnet/article/details/1540005"  target="_blank" strategy="BlogCommendFromBaidu_0">C语言100个经典的算法</a></h2>
                          <div class="summary">
                              POJ上做做ACM的题语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法题目:古典问题:有一对兔子,从出生后第3...                          </div>
                          <ul>
                              <li class="avatar_img"><a href="http://blog.csdn.net/21aspnet" target="_blank" strategy="BlogCommendFromBaidu_0"><img src="http://avatar.csdn.net/D/3/E/3_21aspnet.jpg" alt="21aspnet" title="21aspnet"></a></li>
                              <li class="user_name"><a href="http://blog.csdn.net/21aspnet">21aspnet</a></li>
                              <li class="time">2007年03月24日 17:00</li>
                              <li class="visited_num"><i class="icon iconfont icon-read"></i><span>68285</span></li>
                          </ul>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/chenxh/3" target="_blank" strategy="BlogCommendFromBaidu_1"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/zip.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/chenxh/3" target="_blank" strategy="BlogCommendFromBaidu_1">Delphi7高级应用开发随书源码</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2003年04月30日 00:00</li>
                                      <li class="visited_num fileSize">676KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/chenxh/3" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                      <script>
                      (function() {
                          var s = "_" + Math.random().toString(36).slice(2);
                          document.write('<div id="' + s + '"></div>');
                          (window.slotbydup=window.slotbydup || []).push({
                              id: '4765209',
                              container: s,
                              size: '808,120',
                              display: 'inlay-fix'
                          });
                      })();
                  </script>
                                                                <dl class="clearfix csdn-tracking-statistics downloadElement" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dt><a href="http://download.csdn.net/download/chenxh/3" target="_blank" strategy="BlogCommendFromBaidu_2"><img class="maxwidth" src="http://csdnimg.cn/release/download/old_static/images/minetype/zip.svg" alt="" title=""></a></dt>
                      <dd>
                          <div class="summary">
                              <h2><a href="http://download.csdn.net/download/chenxh/3" target="_blank" strategy="BlogCommendFromBaidu_2">Delphi7高级应用开发随书源码</a></h2>
                              <div class="summary">
                                  <ul>
                                      <li class="time">2003年04月30日 00:00</li>
                                      <li class="visited_num fileSize">676KB</li>
                                      <li class="download_btn"><a href="http://download.csdn.net/download/chenxh/3" target="_blank">下载</a></li>
                                  </ul>
                              </div>
                          </div>
                      </dd>
                  </dl>
                                                                                                    <dl class="clearfix csdn-tracking-statistics" data-mod="popu_387" data-poputype="feed"  data-feed-show="false"  data-dsm="post">
                      <dd>
                          <h2><a href="http://blog.csdn.net/sinat_32829711/article/details/55103599"  target="_blank" strategy="BlogCommendFromBaidu_3">C语言程序设计经典50例</a></h2>
                          <div class="summary">
                              【程序1】
    

    题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
    解答:

    #include int main() { int i,j,k,n=0; for(…

    Delphi7高级应用开发随书源码

    • 2003年04月30日 00:00
    • 676KB
    • 下载
    (function() { var s = "_" + Math.random().toString(36).slice(2); document.write('
    '); (window.slotbydup=window.slotbydup || []).push({ id: '4983339', container: s, size: '808,120', display: 'inlay-fix' }); })();

    C语言18个经典小程序(二)

    7、/*通过键盘输入3名学生4门课程的成绩, 分别求每个学生的平均成绩和每门课程的平均成绩。 要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车 其中最后一列和最后…

    C语言必背18个经典程序

    1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/
    #include “stdio.h” main() {int i,j,result; for(i=1;i {for(j=…

    Delphi7高级应用开发随书源码

    • 2003年04月30日 00:00
    • 676KB
    • 下载

    Delphi7高级应用开发随书源码

    • 2003年04月30日 00:00
    • 676KB
    • 下载

    C语言18个经典小程序(二)

    7、/*通过键盘输入3名学生4门课程的成绩, 分别求每个学生的平均成绩和每门课程的平均成绩。 要求所有成绩均放入一个4行5列的数组中,输入时同一人数据间用空格,不同人用回车 其中最后一列和最后…
    内容举报
    返回顶部
    收藏助手
    src="" id="collectIframe" width="100%" height="360" scrolling="no">
    不良信息举报
    您举报文章:C语言必背18个经典程序
    举报原因:
    原文地址:
    原因补充:

    (最多只允许输入30个字)

    <script language="javascript" type="text/javascript">
        var isComment=0;
        //显示隐藏地址
        $(function () {
          console.log("version:phoenix");
            if(isComment){
                $("#report_description").attr("disabled",true);
                $("#sp_n").hide();
                $("#sp_reason").html("评论内容:");
            }
            $(".report_type").click(function () {
                $("#panel_originalurl,#report_other_content").hide();
                switch ($(this).val()) {
                    case '3':
                        $("#panel_originalurl").show();
                        $("#originalurl").focus();
                        break;
                    case '7':
                        if(isComment){
                            $("#report_other_content").show().focus();
                        }
                        break;
                }
    
            });
    
            $("#frmReport").submit(function () {
                if (!currentUserName) {
    
                    if (confirm("您的操作必须登录,是否登录?")) {
                        location.href = "http://passport.csdn.net/account/login?from=" + encodeURIComponent(location.href);
                        return false;
                    }
                    return false;
                }
    
                var reportType = $("input[name=report_type]:checked").val();
                if(!reportType){
                    alert("请选择举报原因!");
                    return false;
                }
                var otherInfo = "";
                switch (reportType) {
                    case '3':
                        otherInfo = $("#originalurl").val();
                        if (otherInfo == ""||otherInfo=="http://") {
                            alert("举报抄袭必须提供原创文章地址!");
                            $("#originalurl").focus();
                            return false;
                        } else if(!checkeURL(otherInfo)) {
                            alert("请输入正确的原创文章地址!");
                            $("#originalurl").focus();
                            return false;
                        }
                        break;
                    case '7':
                        otherInfo = $("#report_other_content").val();
                        if (isComment && !otherInfo) {
                            alert("请填写举报的具体原因!");
                            $("#report_other_content").focus();
                            return false;
                        }
                        if(!isComment){
                            if(!$("#report_description").val()){
                                alert("请填写举报的具体原因!");
                                $("#report_description").focus();
                                return false;
                            }
                        }
                        break;
                }
                if(!isComment){
                    if($("#report_description").val().length>30){
                        alert("举报原因最多只允许输入30个字!");
                        return false;
                    }
                }
                nowTime = {
                    year: new Date().getFullYear(),
                    month: parseInt(new Date().getMonth())+1,
                    day: new Date().getDate(),
                    hours: parseInt(new Date().getHours())+1,
                    minutes: parseInt(new Date().getMinutes())+1,
                    seconds: parseInt(new Date().getSeconds())+1
                };
                var data = {
                    articleId: fileName,
                    commentId: 0,
                    reportType: reportType,
                    originalurl: $("#originalurl").val(),
                    report_other_content: $("#report_other_content").val(),
                    report_description: $("#report_description").val(),
                    currentUserName: currentUserName,
                    updatetime: nowTime.year+'/'+nowTime.month+'/'+nowTime.day+' '+ nowTime.hours+':'+nowTime.minutes+':'+seconds,
                    blogUser: username
                };
                if(!isComment){//如果是举报文章
                    data.report_other_content = data.report_description;
                    // data.report_description = "1. 神经网络这是一个常见的神经网络的图:这是一个常见的三层神经网络的基本构成,Layer L1是输入层,Layer L2是隐含层";
                }
    
                $.post(blog_address + "/common/report?id="+fileName+"&t=2", data, function (data) {
                    if (data.result == 1){
                        SetError("感谢您的举报,我们会尽快审核!");
                    }else{
                        if (data.content) alert(data.content);
                    }
    
                });
                return false;
            });
    
            $("#btnCloseReportDialog").click(function () {
                CloseDiv();
            });
    
        });
    
        //提示后关闭方法
        function SetError(error) {
            $("#btnCloseReportDialog").trigger("click");
            alert(error);
            CloseDiv();
        }
    
        //关闭方法
        function CloseDiv() {
    
            $.removeMask();
            $("#report_dialog").hide();
            return false;
        }
    
        //验证url
        function checkeURL(url){
            return /^http(s)?:\/\/([\w-]+\.)+[\w-]+/i.test(url);
        }
    </script>
    


    if((".articlecollectli").length==1)$(".articlecollect").hide();if((".article_tags li").length==1){(".article_tags").hide();}(".edit a").attr("href","http://write.blog.csdn.net/postedit/"+fileName); .each((".edu_li a"),function(){(this).attr("href",(this).attr("href").replace("blog7","blog9"))}); new CNick('#uid').showNickname(); if(("#fan").html()=="")
        {
            $("#fan").html(0);
        }




        appendMark(
    ('.recommend_list').children('a').find('dt'),$('.extension_other'))

    展开全文
  • c语言一些简单的程序

    万次阅读 多人点赞 2018-06-17 17:30:51
    三个数找最大值#include &lt;stdio.h&gt; int main() { int a,b,c; scanf("%d%d%d",&amp;a,&amp;b,&amp;c); int maxs=max(a,max(b,c)); printf("%d"...g...
  • 一些简单好玩的C语言程序

    万次阅读 多人点赞 2019-05-06 20:26:18
    C/C++程序举例 打印素数表 // 输出前500个素数 #include<stdio.h> #include<math.h> #define N 500 //判断是否为素数 int isprime(int y) { int i,ret=1; for(i=2;i<=sqrt(y);i++) ...
  • 精心收集了60个C语言项目源码,分享给大家

    万次阅读 多人点赞 2020-02-27 19:39:45
    编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分析 VS2019编写简单的C程序示例 简单示例,VS2019调试C语言程序 C语言基础-基本算法 C语言基础-数据类型 C语言中的输入输出函数 C语言...
  • 编写 C 语言程序的7个步骤

    千次阅读 2018-08-12 15:27:33
    编写 C 语言程序的7个步骤 编写 C 语言程序的过程可分解为7个步骤: ** 特别注意,这是理想状态。在实际的使用过程中,尤其是在较大型的项目中,可能要做一些重复的工作,根据下一个步骤的情况来调整或改进上一...
  • C语言程序设计第五版 谭浩强 第五版课后答案

    万次阅读 多人点赞 2019-06-16 00:27:29
    谭浩强 C语言程序设计第五版 第4章课后答案 3.求两个正整数m和n,求其最大公约数和最小公倍数。 #include<stdio.h> void main() { int m, n, t, i, a = 1; scanf("%d%d", &m, &n); if (m < n) ...
  • 谭浩强编写 C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计C语言程序设计
  • C语言程序设计第四版谭浩强课后习题答案 完整版下载地址:http://download.csdn.net/download/xw791488540/3778054?utm_source=blogseo第一章 程序设计和C语言 【第15页】 1-5 #include
  • 谭浩强 C语言程序设计 第三版 PDF版

    千次下载 热门讨论 2008-05-19 13:34:25
    谭浩强 C语言程序设计 第三版 PDF版
  • C语言程序设计学习总结

    千次阅读 2017-03-23 15:57:51
    最近忙于学习C语言程序设计,考计二C。都搞得我头晕眼花,天天都是刷题。马上就要考计二C了。我想总结一下我对C语言的理解。 C不同于java的最大区别在于C是面向过程,而java是面向对象。刚开始我也搞不清到底区别在...
  • C语言程序设计案例教程(PDF)

    千次下载 热门讨论 2008-01-15 17:07:13
    全书共分11章,具有较大的知识信息量,从程序设计的基础知识、流程控制到最后的文件操作与图形绘制,通过近80个实例的分析讲解,再利用100余道习题的练习与巩固,由浅至深,层层引导,让学生能够快速掌握C语言,提高...
  • C语言程序设计实例大全(220个例子) C语言程序设计实例大全(220个例子) C语言程序设计实例大全(220个例子)
  • C语言程序设计,实验报告程序

    千次阅读 2016-03-26 11:44:16
    1.判断输入字符种类 #include #include int main() { char c; printf("plz enter character:\n "); c=getchar(); if(c){ printf("\n the charater is a control charater");... }else if(c>='0'&
  • C语言程序设计经典50例

    万次阅读 2017-02-14 18:19:24
    程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 解答: #include int main() { int i,j,k,n=0; for(i=1;i//只要这样的三重循环就可以直接保证不重复,而不必再...
  • C语言程序设计学习心得体会总结

    万次阅读 2019-01-04 16:35:38
    C语言程序设计学习心得体会总结 通过近几个月来的学习使我对C/C++编程语言有了一个更加深刻的理解,要想去学好C语言,就要真正的把它当成一门语言来学。就像学英语一样,英语有自己的语法规定,词汇搭配,C语言也是...
  • C语言程序设计:现代方法>>第二版习题答案
  • C语言程序设计》专升本考试大纲

    千次阅读 多人点赞 2019-05-13 09:35:01
    C语言程序设计》专升本考试大纲 一、总要求 本课程地位:本课程是计算机专业的核心课程之一。 本课程性质:本课程是计算机专业的专业基础课程 本课程了解、熟悉、掌握的主要内容:了解C语言的主要特征、常用算法...
  • C语言程序设计经典书籍

    千次阅读 2016-12-25 12:21:18
    本人决定将搜集的一些C语言程序设计经典书籍拿出来跟朋友们分享,需要的朋友请直接下载。 下载地址链接: https://pan.baidu.com/s/1SC74Qg-SXyGJMt-To5NrOA 密码: uep8 1.Kernighan、Ritchie,《C程序设计语言...
  • 我最开始接触的c语言书籍是,谭浩强的C语言教材。 在《数据结构》中,学会了使用指针。后来,单独花时间克服了字符的处理。 工欲善其事,必先利其器。 我在本科暂时的三个目标是:c/c++,操作系统,网络。 暑假...
  • C语言程序设计试题库(编程题-100道、程序填空题-40道 、程序阅读题-100道 、单项选择题-100道、判断题-170道、填空题-140道)
  • C语言程序设计实验教程pdf

    千次阅读 2018-07-30 13:15:05
    链接:https://pan.baidu.com/s/1yA7nmEgpyLvDc22ENNT47Q 密码:0ezv 本书为完整版,以下为内容截图:  
  • https://pan.baidu.com/s/1eTg0MNDlwe9pqDPU3f-LWg
  • C语言程序设计小结

    千次阅读 2018-08-07 10:17:43
    真正的程序设计高手不是语法上的精通而是程序总体架构,算法上的周密。当初大学时都是利用C51写的51单片机的程序,根本就不管程序的可维护性,程序大小,就是一个C文件中包含了全部的函数体。在工作中这是一个完全不...
  • C语言程序设计》教学大纲

    千次阅读 2008-11-06 12:43:00
    适应专业:全院所有专业一、本课程的地位、任务和作用本课程是计算机系各专业的院定必修课,非计算机专业的选修课,通过本课程的学习可以使学生掌握结构化程序设计的方法,确立程序设计的思维方式,培养和提高学生的...
  • 单片机C语言程序设计实训100例大集合

    千次阅读 多人点赞 2018-12-19 16:01:10
    单片机C语言程序设计实训100例大集合 本书基于Keil μVision程序设计平台和Proteus硬件仿真平台,精心编写了100余个8051单片机C语言程序设计案例。完整的资料已经上传到闯客网技术论坛了,关于这个资料已经创建了一...
  • 练习2-12 输出华氏-摄氏温度转换表 输入2个正整数lower和upper(lower≤upper≤100),请输出一张取值范围为[lower,upper]、且每次增加2华氏度的华氏-摄氏温度转换表。 温度转换的计算公式:C=5×(F−32)/9,其中:...
  • 本题要求编写程序,输入10个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。 输入格式: 输入为10个字符。最后一个回车表示输入结束,不算在内。 输出格式: 在一行内按照 letter = 英文字母个数, ...

空空如也

1 2 3 4 5 ... 20
收藏数 656,807
精华内容 262,722
关键字:

c语言程序

c语言 订阅