栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

期中C语言考后反思

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

期中C语言考后反思

1.验证“哥德巴赫猜想”

#include
int issu(long long int a);
int main()
{
    long long int N;
    scanf("%lld", &N);
    long long int i,j;
    for(i=2;i<=N/2;i++)
   { j=N-i;//能大大减少复杂度,对应测试点为运行超时。我怎么就没想到呜~for (j = i; j <= N; j++){
            if (issu(j)&&issu(i) && (i + j == N))
            {
                printf("%lld = %lld + %lld", N, i, j);
                return 0;
            }//}
}
int issu(long long int a)
{
    long long int i;
    if (a == 2)
        return 1;
    for (i = 2; i * i <= a; i++)
    {
        if (a % i == 0)
            return 0;
    }
    return 1;
}

2.求一批整数中出现最多的个位数字

#include
#define MAX 1000
int main()
{
    int count[10];
    for (int i = 0; i <= 9; i++)
    {
        count[i] = 0;
    }
    int num[MAX];
    int N;
    scanf("%dn", &N);
    for (int i = 0; i < N; i++)
    {
        scanf("%d", &num[i]);

if(num[i]==0)

{count[0]++;}//测试点:0出现最多次。一直没有考虑到0这个数字,可恶哇!
        while (num[i]!= 0)
        {
            count[num[i] % 10]++;
            num[i] = num[i] / 10;
        }
    }
    int max = 0;
    int i;
    for ( i = 0; i <= 9; i++)
    {
        if (count[i] > count[max])
            max = i;
    }
    printf("%d:", count[max]);
    for (int j = 0; j <= 9; j++)
    {
        if (count[j] == count[max])
            printf(" %d", j);
    }
    printf("n");
    return 0;
}

3.美好日子//没捋清楚,时间仓促,写的较为复杂

#include
void wanmeiday(int y);
int main()
{
    int T;
    int num[8000];
    scanf("%d", &T);
    for (int i = 0; i < T; i++)
    {
        scanf("%d", &num[i]);
        wanmeiday(num[i]);
    }
    return 0;
}
void wanmeiday(int y)
{
    int n = y;
    int a, b, c, d;
    d = y % 10;
    y = y / 10;
    c = y % 10;
    y = y / 10;
    b = y % 10;
    y = y / 10;
    a = y % 10;
    int mon, day;
    mon = d * 10 + c;
    day = b * 10 + a;
    if (mon == 1 || mon == 3 || mon == 5 || mon == 7 || mon == 8 || mon == 10 || mon == 12)
        {
            if (day <= 31)printf("%d%d%d%d%dn", n, d, c, b, a);
            else printf("nonen");
        }
    else if (mon == 2)
    {
        if ((n % 4 == 0 && n % 100 != 0) || n % 400 == 0)//有点生疏,但还好写对了
        {
            if (day <= 29)printf("%d%d%d%d%dn", n, d, c, b, a);
            else printf("nonen");
        }
        else
        {
            if (day <= 28)printf("%d%d%d%d%dn", n, d, c, b, a);
            printf("nonen");
        }
    }
    else if (mon >= 1 && mon <= 12) {
            if (day <= 30)printf("%d%d%d%d%dn", n, d, c, b, a);
            else printf("nonen");
        }
        else printf("nonen");
    }

4.质价比//时间仓促,结构体知识点薄弱,结构体整体替换有困难

#include
struct good
{
    int m;//zhiliang
    int p;//jiage
};
int main()
{
    int n;
    struct good goods[100];
    struct good temp;
    while (scanf("%d", &n) != EOF)
    {
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &goods[i].m);
        }
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &goods[i].p);
        }

//比大小
        for (int i = 0; i < n; i++)
        {
            for (int j = 0; j < n - 1 - i; j++)
            {
                if ((goods[j]).m > (goods[j + 1]).m)
                {
                    temp = goods[j];
                    goods[j] = goods[j + 1];
                    goods[j + 1] = temp;
                }
                else if ((goods[j]).m == (goods[j + 1]).m)
                {
                    if (goods[j].p < goods[j + 1].p)
                    {
                        temp = goods[j + 1];
                        goods[j + 1] = goods[j];
                        goods[j] = temp;
                    }
                }
            }
        }
        printf("result:n");
        for (int i = 0; i < n; i++)
        {
            printf("%d %dn", goods[i].m, goods[i].p);
        }
    }
    return 0;
}

//结构体知识点: 

(一)定义一个结构体变量

1.先定义结构体类型,再定义变量

第6行定义了一个结构体变量,变量名为stu。struct和Student是连着使用的。

2.定义结构体类型的同时定义变量

结构体变量名为stu

(二)初始化结构体

只能在定义变量的同时进行初始化赋
(三)调用结构体数据

用 . ;->是链表

总结

知识点方面:结构体的定义,表示。

算法方面:考虑不全面,再多想想,更加灵活。

速度方面:还是很慢,但写的很急。先思考再做?有点困难,总害怕写不完。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/867832.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号