2021-09-22 C100题

C语言100题

考研初试C语言复习 2021.9.22


前言


提示:以下是本篇文章正文内容,下面案例可供参考

第一题、

1.题目描述

斐波那契数列

2.代码

第一种:

#include<stdio.h>
//非递归写法
int main()
{
    int f1 = 1, f2 = 1, i;
    for (i = 1; i <= 20; i++)
    {
        printf("%12d%12d", f1, f2);
        if (i % 2 == 0) printf("\n");
        f1 = f1 + f2;//改变项的值
        f2 = f1 + f2;
    }

    return 0;
}

第二种:

#include <stdio.h>

//递归实现
int main() {
    int m=0;
    for (int i = 1; i <= 40; i++) {
        m = fibon(i);
        printf("%d ", m);
    }
    return 0;
}
int fibon(int num) {
    if (num == 1 || num == 2) return 1;
    else return fibon(num - 1) + fibon(num - 2);
}

题目思考:还可以用队列等其他方法

第二题、

1.题目描述

101到200的质数

2.代码

#include <stdio.h>

int main()
{
    int i, j;

    for (i = 101; i <= 200; i++)
    {
        for (j = 2; j <= i; j++)
        {
            // 如果j能被i整除在跳出循环
            if (i % j == 0)
                break;
        }
        // 判断循环是否提前跳出,如果j<i说明在2~j之间,i有可整除的数
        if (j >= i)
        {
            printf("%d ", i);
        }
    }
    return 0;
}

题目思考:利用break语句进行判断,减少复杂度,同是有可以用递归和分治

第三题、

1.题目描述

水仙花数

2.代码

#include <stdio.h>
int main() {
	int a, b, c;
	for (int i = 100; i < 1000; i++) {
		a = i /100%10;
		b = i /10%10;
		c = i % 10;
		if (i == (a * a * a + b * b * b + c * c * c)) printf("%d ", i);
	}
	return 0;
}

题目思考:入门题 考察获取位数的能力

第四题、

1.题目描述

将一个正整数分解质因数。例如:输入90,打印出90=233*5

2.代码

#include <stdio.h>
int main() {
	int n, i;
	printf("输入数据:");
	scanf_s("%d", &n);
	int k = 2;
	for (; k <= n;) {
		if (n % k == 0) {
			printf("%d", k);
			n /= k;
			if (n != 1) printf("*");
		}
		else k++;
	}
}

题目思考:入门题

第五题、

1.题目描述

成绩系统

2.代码

#include<stdio.h>
int main()
{
    int score;
    char grade;
    printf("请输入分数: ");
    scanf_s("%d", &score);
    grade = (score >= 90) ? 'A' : ((score >= 60) ? 'B' : 'C');
    printf("%c\n", grade);
    return 0;
}

题目思考:连结构体都不用 实属白给

总结

小10道 都是经典题目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值