吉林大学超星学习通02(1)

打了九天,进步是可见的。当时实践入门直接开打,导致上课都在摸鱼...现在改成了向后自学。用最新手的方式打出来的代码,用作保存记录。

1. (程序题)

题目编号:Exp02-Basic01,GJBook3-03-03

题目名称:递增排序

题目描述:任意三个实数a、b、c,按照从小到大的顺序输出。

输入:输入三个实数(测试数据均只有一位小数)。

输出:按照从小到大顺序输出之前输入的三个实数,以一个西文空格间隔,且每个实数小数点后保留1位。

样例:

输入:
2.3  5.6  1.2
输出:
1.2 2.3 5.6
#include<stdio.h>



int main()

{

    float a,b,c,t;

    scanf("%f%f%f",&a,&b,&c);

    if(a<b) { t=a;a=b;b=t;}

    if(a<c) {t=a;a=c;c=t;}

    if(b<c){t=b;b=c;c=t;}

    printf("%.01f %.01f %.01f",c,b,a);

   

}

入门的时候打过,当时觉得很妙,后面了解到了条件运算符(?:),觉得这个也很不错,还没用这个试过。

2. (程序题)

题目编号:Exp02-Basic02

题目名称:括号统计

题目描述:编程序,判断给定以字符‘@’结束的字符序列中‘(’与‘)’、‘[’与‘]’、‘{’与‘}’的个数是否相等。

输入:输入一串以字符‘@’结束的字符序列,其间可能含有若干空白字符。

输出:个数不相等的括号(按花括号、方括号、圆括号的顺序);如果三种括号的个数都相等,输出NULL。


样例1:

输入:{a+b*c+(d/e-f]}}@
输出:{}[]()

样例2:

输入:{a  +  b*c+(d/e-f]}@
输出:[]()
#include<stdio.h>

int main()

{

    int a=0,b=0,c=0,d=0,e=0,f=0;

    char m=0;

    while(m!='@'){

        scanf("%c",&m);

        switch(m){

            case '{':a++;break;

            case '}':b++;break;

            case '[':c++;break;

            case ']':d++;break;

            case '(':e++;break;

            case ')':f++;break;

            default:break;}

    }

    if(a!=b) printf("{}");

    if(c!=d) printf("[]");

    if(e!=f) printf("()");

    if(a==b&&c==d&&e==f) printf("NULL");

    return 0;

}

这个当时看的c入门书有,但是没想到把这两个套在一起,这题属于醍醐灌顶。

3. (程序题)

题目编号 :Exp02-Basic03

题目名称:数字求和

题目描述:给定一个整数a,以及另外的5个整数,问题是:这5个整数中,可以被a整除的整数和是多少?
 

输入:输入一行只包括6个小于100的整数,其中第一个整数是a,输入保证a不为零。

输出:输出一行,给出一个整数,是5个数中可以被a整除的所有整数的和。


样例1:

输入:10 10 -20 30 40 11
输出:60

样例2:

输入:11 10 20 30 40 12
输出:0
#include<stdio.h>

int main()

{

    int a,t=1,m=0,n=0;

    scanf("%d",&a);

    while(t<=5)

    {

        scanf("%d",&m);

        if((m%a)==0) {n=n+m;}

        t=t+1;

    }

    printf("%d",n);

    return 0;

}

这题到第八题都不难,直到第九题狠狠把我给创了...到现在还搁这想为什么那个数能过呢...

4.5.6.7.8.跳过

9. (程序题)

题目编号 :Exp02-Basic09,GJBook3例-04-10

题目名称:斐波纳契序列

问题描述:

开始,有一对小兔子。

 一个月后,变成大兔子开始怀孕;

两个月后, 生出一对小兔子,这时共有两对兔子(一对大兔子, 一对小兔子), 同时大兔子又再次怀孕;

 三个月后, 以前出生的小兔子变成大兔子,以前怀孕的大兔子又生出一对小兔子, 这时共有三对兔子(两对大兔子, 一对小兔子), 所有大兔子又全部怀孕;

 四个月后, 以前出生的小兔子变成大兔子,以前怀孕的大兔子又各生出一对小兔子, 这时共有五对兔子(三对大兔子, 两对小兔子), 所有大兔子又全部怀孕;

五个月后, 以前出生的小兔子变成大兔子,以前怀孕的大兔子又各生出一对小兔子, 这时共有八对兔子(五对大兔子, 三对小兔子), 所有大兔子又全部怀孕;

…… ……

假设在兔子的生养过程中没有死亡。编程序,输入 n , 计算 n 个月后,有多少对兔子, 并输出。

提示:注意序列各项间的递推关系。 

输入:一个非负整数n,表示月份(n≤91)

输出:n 个月后的兔子数(单位:对)

样例1:输入 0   输出 1

样例2:输入 1   输出 1

样例3:输入 2   输出2

样例4:输入10   输出89

#include<stdio.h>
int main(void)

{

    long long w=2,u,v;                   //如果用int型的话,输入50以上就会溢出

    int i,n;// int最大为2×10的9次方,而long long可以到9×10的18次方                                         

    u=1;v=1;i=2;

    scanf("%d",&n);

    if(n==1||n==2)
        w=1;

   while(i<n){

        u=v;                    //用三个变量递推,算出w后u,v各向后进一位

        v=w;

        w=v+u;

        i++;}

        printf("%lld",w);

        return 0;

}

笑死,还没想明白。开摆。

剩下的再说吧。

### 如何获取学习通题库的访问令牌或认证Token 为了获取学习通题库的访问令牌或认证Token,通常需要遵循OAuth 2.0协议或其他类似的授权机制。具体过程涉及以下几个方面: #### 获取客户端凭证 首先,应用程序开发者需向学习通平台注册应用以获得一对`client_id`和`client_secret`。这对凭证用于后续请求中证明身份。 #### 请求Authorization Code 通过重定向用户至学习通提供的授权页面并附带必要的参数(如response_type、redirect_uri等),让用户同意授权后返回authorization code给回调URL[^1]。 ```python import requests auth_url = "https://example.com/oauth/authorize" params = { &#39;response_type&#39;: &#39;code&#39;, &#39;client_id&#39;: &#39;<your_client_id>&#39;, &#39;redirect_uri&#39;: &#39;<your_redirect_uri>&#39; } requests.get(auth_url, params=params) ``` #### 使用Authorization Code换取Access Token 收到authorization code后,在服务器端发起POST请求到指定endpoint交换access token以及refresh token。此操作应包含之前得到的`client_id`, `client_secret` 和 authorization code作为body中的form-data提交上去。 ```python token_endpoint = "https://example.com/oauth/token" data = { &#39;grant_type&#39;: &#39;authorization_code&#39;, &#39;code&#39;: &#39;<received_authorization_code>&#39;, &#39;redirect_uri&#39;: &#39;<your_redirect_uri>&#39;, &#39;client_id&#39;: &#39;<your_client_id>&#39;, &#39;client_secret&#39;: &#39;<your_client_secret>&#39; } response = requests.post(token_endpoint, data=data).json() access_token = response[&#39;access_token&#39;] refresh_token = response[&#39;refresh_token&#39;] if &#39;refresh_token&#39; in response else None ``` 一旦成功获得了有效的access token,便可以用它来调用受保护的学习通API资源了;而当access token即将到期时,则可通过refresh token再次申请新的有效期内的access token继续使用而不必每次都经过完整的授权流程。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值