CS50 IDE学习笔记(2)

首先,分享一个网站:https://cs50.readthedocs.io/#c

注:该网站还附带提升英语水平加成

接下来:上代码——

  • Q:输入卡号,判断卡的归属不合法.

INVALID :非法卡号
AMEX:34、37开头 15位(eg:378282246310005)
MASTERCARD:51~55开头 16位
VISA :4开头 13 or 16位(eg:4003600000000014)

卡号合法性判断:
1.从倒数第2位往前,每间隔的数字乘2, 并且把所有数字相加
2.将相加的结果加上卡号中未乘以2的数字
3.如果第2步的结果,以0结尾,则是合法卡号

解题代码①

# include <cs50.h>//注意cs是小写的(鄙人易错之处)
# include<stdio.h>
int main ()
{
   
    long int i, m, c, d, e, f, p;
    scanf("%ld", &m);
    long int b = m, s = 0, a = 1;
    while(a!=0)
    {
   
        a = b/100;
        k = b/10;
        b = a%10;
        l = k%10;
        s += 2*b;
        s += l;   
    }
    //判断AMEXDE条件
    c = m - 3.4e14;//printf("%.0f\n",c/(1e13));
    d = m - 3.7e14;//printf("%.0f\n",d/(1e13));
    //判断Visa条件
    e = m - 4e13;//printf("%.0f\n",e/(1e12));
    f = m - 4e15;//printf("%.0f\n",d/(1e15));
    //判断MasterCredit条件
    for (i = 51; i < 56; i++)
    {
   
        if((m-i*(1e13))/ (i*(1e13))==0)
      {
   
            p = 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值