19/12/20培训内容

一.上午教学内容

switch()选择函数,括号内是变量

case选项,后只接一个确切的数字,每一个case后要加一个break

default没有选项(除了上边选项的所有情况),后不用加break


数据处理过程中的结构


switch case和if esle两种分支结构

for和while两种循环结构


#include<stdio.h>

int main()

{

    char s;

    s=getwchar();

    switch(s)

    {

        case 'a':printf("1");break;

        case 'b':printf("1");break;

        case 'c':printf("1");break;

        default:printf("10");

    }

}


程序的实质:数据表示和数据处理


流程图是代码的直观体现


开始,结束:圆角方形

输入和输出:平行四边形

数据处理过程:长方形

判断:菱形


printf(格式输出)/scanf(格式输入)

putchar(输出字符)/getchar(输入字符)


printf("格式控制字符串",输出列表);

scanf("格式控制",地址列表);


putchar('\'')输出的是'


continue继续

break结束,跳出当前循环(只能用在switch语句和循环语句)


sizeof();求字节数


逻辑运算符,有非先算非

只有一个数的运算符:单目运算符

#include<stdio.h>

int main()

{

    float a=1.23456;

    printf("%.3f\n",a);             //保留三位,四舍五入

    printf("%-7f\n",a);             //分配7个空间

    printf("%6.3f\n",a);           //占满6位,补全数据,没有的位写空格,右对齐

    printf("%-6.3f",a);             //左对齐

}


二.下午教学内容

//第一题:求1-99所有同构数 (例:5-25,25-625,5和25都是同构数)

/*

#include<stdio.h>

int main()

{

    int i,j;

    printf("1-99的同构数有:\n");

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

    {

        j=i*i;

        if((i<10)&&(j%10==i))

        {

        printf("%d ",i);

        }

        else if((i>=10)&&(i<=99)&&(j%100==i))

        {

            printf("%d ",i);

        }

    }

}

*/

//第二题:

/*

F

FE

FED

FEDC

FEDCB

FEDCBA

*/

/*

#include<stdio.h>

int main()

{

    int i;

    char j;

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

    {

        for(j='F';j>70-i;j--)

        {

            printf("%c",j);

        }

        printf("\n");

    }

}

*/

//第三题:

/*

A

BC

DEF

GHIJ

KLMNO

PQRSTU

*/

/*

#include<stdio.h>

int main()

{

    int i;

    char j='A',k;

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

    {

        k=j;

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

        {

            printf("%c",j);

        }

        printf("\n");

    }

}

*/

//第四题: 输入天数,转换成周数和天数。(如,输入18,转换成2周4天显示结果

// 18天是2周,4天)

/*

#include<stdio.h>

int main()

{

    int a,b,c;

    printf("输入天数");

    scanf("%d",&a);

    printf("%d天",a);

    b=a/7;

    c=a-(7*b);

    printf("是%d周 ",b);

    switch(c)

    {

    case(1):printf("1天");break;

    case(2):printf("2天");break;

    case(3):printf("3天");break;

    case(4):printf("4天");break;

    case(5):printf("5天");break;

    case(6):printf("6天");break;

    default:printf(" ");

    }

}

*/

//成绩评定(96-100为A+,90-95为A,80-89为B,70-79为C,60-69为D,其余不及格)

/*

#include<stdio.h>

int main()

{

    int a,b,c,read;

    printf("请输入成绩");

    scanf("%d",&a);

    b=a/10;

    c=a%10;

    read:switch(b)

    {

        case(10):printf("成绩为A+");break;

        case(9):

        if(c>5)

        {

            b=10;

            goto read;

        }

        else

        {

            printf("成绩为A");break;

        }

        break;

        case(8):printf("成绩为B");break;

        case(7):printf("成绩为C");break;

        case(6):printf("成绩为D");break;

        default:printf("不及格");

    }

}

*/

//第六题:求s=1+2+3+----n,当加到第几项使,s的值会超过1000

/*

#include<stdio.h>

int main()

{

    int i=0,s=0;

    while(s<1000)

    {

        i++;

        s=s+i;

    }

    printf("%d",i);

}

*/

//第七题:根据输入的年.月份给定这个月有多少天

/*

#include<stdio.h>

int main()

{

    int a,b,c;

    printf("请输入年和月:");

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

    c=b%2;

    if(b<=7)

    {

        switch(c)

        {

            case(0):

            if(b==2)

            {

            if(a%100==0&&a%400==0)

            {

                printf("这个月是29天");

            }

            else if(a%100!=0&&a%4==0)

            {

                printf("这个月是29天");

            }

            else

            {

                printf("这个月是28天");

            }

        }

        else

        {

            printf("这个月是30天");

        }

        break;

        case(1):printf("这个月是31天");break;

        }

    }

    else

    {

        switch(c)

        {

            case(0):printf("这个月是31天");break;

            case(1):printf("这个月是30天");break;

        }

    }

}

*/

//第八题:求1+2+3+----n的结果,手动输入n

/*

#include<stdio.h>

int main()

{

    int i=0,sum=0,n;

    scanf("%d",&n);

    while(i<n)

    {

        i++;

        sum=sum+i;

    }

    printf("%d",sum);

}

*/

//第九题:求1-1000所有奇数和平均值

/*

#include<stdio.h>

int main()

{

    int a,i,j=0,sum=0;

    for(i=1;i<1000;i=i+2)

    {

        j++;

        sum=sum+i;

    }

    a=sum/j;

    printf("奇数和为%d平均值为%d",sum,a);

}

*/

//第十题:求1-3000之间所有5的倍数和7的倍数的和1416217

/*

#include<stdio.h>

int main()

{

    int i,a=0,b=0;

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

    {

        if(i%5==0)

        {

            a=a+i;

        }

        else if(i%7==0)

        {

            b=b+i;

        }

    }

    printf("5的倍数和%d,7的倍数和%d",a,b);

}

*/

//第十一题:求任意两个数的最大公约数和最小公倍数

/*

#include<stdio.h>

int main()

{

    int a,b,c;

    int i,j;

    printf("请输入两个数a b\n");

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

    if(b>a)

    {

        c=a;

        a=b;

        b=c;

    }

    i=a;

    j=b;

    while(c!=0)

    {

        c=a%b;

        a=b;

        b=c;

    }

    printf("最大公约数%d\n",a);

    printf("最小公倍数%d\n",i*j/a);

}

*/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容