The second lesson

Posted Vanau

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了The second lesson相关的知识,希望对你有一定的参考价值。

1.


/******输入一个三位数,取出每个位上的数值******/

#include<stdio.h>
void main()

    int a;
    printf("please input a=");
    scanf("%d",&a);
    printf("bai wei=%d\\nshi wei=%d\\nge wei=%d\\n",a/100,a%100/10,a%10);

2.

/****从键盘输入的字符中统计数字字符的个数,用换行符结束循环****/

//----The first project

#include<stdio.h>
#include<conio.h>   //使用字符数据的非格式化输入输出必须将conio.h包含进来

void main()

    int n=0,c;
    c=getchar();        //getchar()函数调用时是读取用户的按键信息,返回用户输入第一个字符的的ASCII码
    while(c!=0x0a)      //当第一个字符不是换行符时,进入循环
    
        if(0x30<c&&c<0x39)
        n++;
        c=getchar();        //这个getchar必须要有,不然的话就只循环一次
    

    printf("%d",n);

//----The second project

#include<stdio.h>

void main()

    int n=0;
    printf("input a string:\\n");

    for(;getchar()!='\\n';n++)           //for语句判断循环条件时,一般为逻辑表达式或者为关系表达式。注意其中项缺省的条件。
        ;   //;必须要有,表示循环体为空语句
    printf("%d",n);

3.

/****************************************************************
                    编程打印大小可变的菱形*号图案
*****************************************************************/

//----The first project

/****************************************************************
i为行数,并以此为循环变量,m为空格的个数,n为*号的个数。
观察可知:1.菱形的大小其实就是中间行中*号的个数,也即是行数,其值为奇数;
          2.在每一行中,当i<=(SIZE+1)/2时,n=2*i-1,否则n=2*(SIZE+1-i)-1;
            在每一行*号之前的空格数m=(SIZE-n)/2;
****************************************************************/

#include<stdio.h>

#define SIZE 11     //直接宏定义该菱形图案型号大小

void main()

    int i,m,n;      
    for(i=1;i<=SIZE;i++)
    
        if(i<=(SIZE+1)/2)       
            n=2*i-1;
        else
            n=2*(SIZE+1-i)-1;

        m=(SIZE-n)/2;

        for(;m>0;m--)
            printf(" ");
        for(;n>0;n--)
            printf("*");
        printf("\\n");
    
//----The second project----INPROVED

#include<stdio.h>
#include<stdlib.h>          //标准库头文件,调用exit()函数需要添加该头文件

void main()

    int i,j,k,m,n,size;

    printf("input size:");      //可自定义输入菱形大小
    scanf("%d",&size);

    if(size<=0||size%2==0)      //逻辑运算符:&&表示逻辑与,||表示逻辑或,
    
        printf("input error!");
        exit(-1);               //exit()函数的作用是当程序执行条件不满足时(本题值输入有误)来终止整个程序的运行,强制返回到操作系统
    

    for(i=1;i<=size;i++)
    
        n=(i<=(size+1)/2)?i:size+1-i;       //三目运算符常与赋值运算符连用,且两者的优先级最低。可近似代替if-else
        n=2*n-1;

        m=(size-n)/2;
        for(k=1;k<=m;k++)
            printf(" ");
        for(j=1;j<=n;j++)
            printf("*");

        printf("\\n");
    
/********************************************************************
                    编程打印大小可变的沙漏型*号图案
********************************************************************/

#include<stdio.h>
#include<stdlib.h>          //标准库头文件,调用exit()函数需要添加该头文件

void main()

    int i,j,k,m,n,size;

    printf("input size:");      //可自定义输入沙漏型大小
    scanf("%d",&size);

    if(size<=0||size%2==0)      //逻辑运算符:&&表示逻辑与,||表示逻辑或,
    
        printf("input error!");
        exit(-1);               //exit()函数的作用是当程序执行条件不满足时(本题值输入有误)来终止整个程序的运行,强制返回到操作系统
    

    for(i=1;i<=size;i++)
    
        n=(i<=(size+1)/2)?i-1:size+1-i-1;       //三目运算符常与赋值运算符连用,且两者的优先级最低。可近似代替if-else
        n=size-2*n;

        m=(size-n)/2;
        for(k=1;k<=m;k++)
            printf(" ");
        for(j=1;j<=n;j++)
            printf("*");

        printf("\\n");
    

以上是关于The second lesson的主要内容,如果未能解决你的问题,请参考以下文章

Second Lesson

打印沙漏

打印沙漏

打印沙漏

python second lesson

打印沙漏