幸运彩票

描述:

彩票的号码有 6 位数字,若一张彩票的前 3 位上的数之和等于后 3 位上的数之和,则称这张彩票是幸运的。本题就请你判断给定的彩票是不是幸运的。

输入格式:

输入在第一行中给出一个正整数 N(≤ 100)。随后 N 行,每行给出一张彩票的 6 位数字。

输出格式:

对每张彩票,如果它是幸运的,就在一行中输出 You are lucky!;否则输出 Wish you good luck.

输入样例:

2

233008

123456

输出样例:

You are lucky!
Wish you good luck.

代码:

//字符串解决
#include <stdio.h>
int main()
{
    int n;
    scanf("%d", &n);            //输入n行
    while(n--)
    {
        char num[7];
        scanf("%s",num);        //输入参数
        if(num[0] + num[1] +num[2] == num[3] + num[4] + num[5])
            printf("You are lucky!");     //判断前三位的Ascii值得和
        else                             //与后三位的Ascii值得和是否相同
            printf("Wish you good luck.");
        printf("\n");
    }
    return 0;
}

解析:

利用字符数组接收输入的彩票,最后取前三位和后三位的ASCLL码进行比较。

代码:

//数字解决
#include <stdio.h>
int main()
{
    int n;
    int a,b,c,d,e,f;
    scanf("%d", &n);            //输入n行
    while(n--)
    {
        int num;
        scanf("%d",&num);        //输入参数
        a = num/100000;
        b = num/10000-a*10;
        c = num/1000-a*100-b*10;
        d = num/100-a*1000-b*100-c*10;
        e = num/10-a*10000-b*1000-c*100-d*10;
        f = num%10;
        if(a+b+c==d+e+f)
            printf("You are lucky!");
        else                                
            printf("Wish you good luck.");
        printf("\n");
    }
    return 0;
}

解析:

直接把输入的数字暴力拆解开,然后前三位和后三位进行比较。

统计字符出现次数

描述:

本题要求编写程序,统计并输出某给定字符在给定字符串中出现的次数。

输入格式:

输入第一行给出一个以回车结束的字符串(少于80个字符);第二行输入一个字符。

输出格式:

在一行中输出给定字符在给定字符串中出现的次数。

输入样例:

programming is More fun!
m

输出样例:

2

代码:

#include<stdio.h>
#include<string.h>
int main(){
    char a[100];
    gets(a);//读入字符串 
    int s[300]={0};
    for(int i=0;i<strlen(a);i++){
        s[a[i]]++;//字符对应的ASCLL下标+1 
    }
    char c;
    c = getchar();//读入字符 
    printf("%d",s[c]);//输出对应字符下标的数值 
    return 0;
}

解析:

由于不确定是不是包含空格,所以利用gets()接收一行的字符串,strlen()判断字符串的长度。

因为字符的ASCLL最大直到256,所以把数组初始化为零后,每次使对应字符的ASCLL码下标的数值+1,最终接收字符c,输出c下标所对应的数值。


一只小菜鸡