精华内容
下载资源
问答
  • JAVA上实例源码以及开源项目

    千次下载 热门讨论 2016-01-03 17:37:40
     数字证书:从文件中读取数字证书,生成文件输入流,输入文件c:/mycert.cer,获取个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录  个Java+ajax写...
  • 数字证书:从文件中读取数字证书,生成文件输入流,输入文件c:/mycert.cer,获取个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 个Java+ajax写的...
  • 输入百分制的成绩t,将其转换成对应的等级,具体转换规则如下: 90~100A; 80~89B; 70~79C; 60~69D; 0~59E; Input 输入数据有多,每行,由个整数组成。 Output 对于每输入数据...
    1. 输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:
      90~100为A;
      80~89为B;
      70~79为C;
      60~69为D;
      0~59为E;

    Input

    输入数据有多组,每组占一行,由一个整数组成。

    Output

    对于每组输入数据,输出一行。如果输入数据不在0~100范围内,请输出一行:“Score is error!”。

    题意:把在给定范围内的数字转化为给定的字母输出,不在给定范围内的输出”Score is error”.

    解题思路:此题非常简单,是顺序结构比较简单的一类,按题目要求写代码即可。

    细节处理:没有什么细节需要特别处理。

    原代码:

    #include

    using namespace std;

    int main()

    {

    int t;
    
    while(cin>>t)
    
    {
    
        if(t<0||t>100)
    
    cout<<"Score is error!"<<endl;
    
    else if(t>=90&&t<=100)
    
    cout<<"A"<<endl;
    
    else if(t>=80&&t<=89)
    
    cout<<"B"<<endl;
    
    else if(t>=70&&t<=79)
    
    cout<<"C"<<endl;
    
    else if(t>60&&t<=69)
    
    cout<<"D"<<endl;
    
    else if(t>=0&&t<=59)
    
    cout<<"E"<<endl;
    
    }
    
    return 0;
    

    }

    总结:此题目就是运用最开始所学的顺序结构加上多组数据输入的while循环即可。

    1. 给你n个整数,求他们中所有奇数的乘积。

    Input

    输入数据包含多个测试实例,每个测试实例占一行,每行的第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。

    Output

    输出每组数中的所有奇数的乘积,对于测试实例,输出一行。

    题意:把给定的一组数中所有奇数相乘,把所得到的数输出即可。

    解题思路:把所有的奇数找出来,用一个循环把所得到的奇数连乘,就得到了最后的结果。

    细节处理:while,for后面别忘了加花括号,最后别忘了换行cout<<endl;

    #include

    using namespace std;

    int main()

    {

    int n,i,a,temp;

    while(scanf("%d",&n)==1)

    {

    a = 1;

    for(i=0;i<n;i++)

    {

    scanf("%d",&temp);

    if(temp%2) a*=temp;

    }

    printf("%d\n",a);

    }

    return 0;

    }

    总结:做这种需要先判断奇和偶,然后再用循环把他们找出来即可,被忘了是多组数据输入。

    3.

    Problem Description

    有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。

    Input

    输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。

    Output

    对于每组输入数据,输出一个平均值序列,每组输出占一行。

    解题思路:每隔题目所给定的长度,将这些数求平均值,有一个公式,首项加所求平均值的个数减去一就是这m个数的平均数。

    细节处理:如果最后的数不足m,还需要单独拿出来计算。但公式和上面的一样。

    原代码:

    #include <stdio.h>

    int main()

    {

    int n,m,a,b,c;
    
    while (scanf("%d %d", &n, &m) != EOF) 
    
    {
    
        b = n/m;
    
        c = n%m;
    
        a = 2;
    
        for (int i = 0; i < b; i++) 
    
        {
    
            if (i != 0)
    
                printf(" ");
    
            printf("%d", a + m - 1);
    
            a = a + 2 * m;
    
        }
    
        if (c != 0)
    
            printf(" %d", a + c - 1);
    
        printf("\n");
    
    }
    
    return 0;
    

    }

    总结:像这样的题需要找到它的规律,以便于根据规律来写出计算他的式子,以此来快速解决问题。

    1. Problem Description

    青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。

    Input

    输入数据有多组,每组占一行,每行的第一个数是n(2<n<=100),表示评委的人数,然后是n个评委的打分。

    Output

    对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行。

    解题思路:根据题目给出的数据,我们可以看出选手的得分是从大到小排好序的,因此不用我们从新排序,写码时去掉第一个数据和最后一个数据,求中间n-2个数据的平均值即可。

    细节处理:别忘了最后输出的是保留两位小数,所以要用浮点数。别忘了头文件!

    原代码:

    #include

    #include

    using namespace std;

    int main()

    {

     int n,i,x=0,max,min,a;
    
     float s;
    
     while(cin>>n)
    
    {
    
    max=0;
    
    min=100;
    
    x=0;
    
    for(i=1;i<=n;i++)
    
    {
    
        cin>>a;
    
    x+=a;
    
    if(max<a)
    
    {
    
        max=a;
    
    }
    
    if(min>a)
    
    {
    
        min=a;
    
    }
    
    }
    
    s=(x-max-min)*1.00/(n-2);
    
    cout<<fixed<<setprecision(2)<<s<<endl;
    
    }
    
     return 0;
    

    }

    总结:做这个题需要把最大值最小值去掉,然后求平均值,不能忘了题目要求的浮点数,按自己的理解去写就可以了。

    1. Font Size: ← →

    Problem Description

    有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?

    Input

    输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。
    n=0表示输入数据的结束,不做处理。

    Output

    对于每个测试实例,输出在第n年的时候母牛的数量。
    每个输出占一行。

    解题思路:因为小牛四年以后才会生,所以分类讨论,当n<=4的时候,只有第一只母牛会生,所以年数就是母牛数,n>4的时候小牛就开始生了,先把年数减去4,所以就找规律得到代码中的式子。

    细节处理:记住分两种情况!

    原代码:

    #include

    using namespace std;

    int main()

    {

    int n;
    
    while(cin>>n)
    
    {
    
        if(n==0)break;
    
        int a,b,c,d;
    
        if(n<=4)cout<<n<<endl;
    
        else{
    
            n=n-4;
    
            a=b=c=d=1;
    
            for(int i=0;i<n;i++)
    
            {
    
                d=c+d;
    
                c=b;
    
                b=a;
    
                a=d;
    
            }
    
            cout<<a+b+c+d<<endl;
    
        }
    
    }
    

    }

    总结:像这一类的题也需要先找到规律,然后根据规律来写出式子求出来即可。

    Problem Description

    输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。

    Input

    输入数据有多组,每组占一行,每行的第一个数字为n,接着是n个整数,n=0表示输入数据的结束,不做处理。

    Output

    对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开。每个测试实例占一行。

    解题思路:因为是把绝对值作比较后绝对值从小到大的顺序排列,所以用abs函数来求,然后比较绝对值得大小,再用sort函数排序后输出。

    细节处理:别忘了每个数之间的空格!

    原代码:

    #include

    #include

    #include

    using namespace std;

    int com(int a,int b)

    {

     return abs(a)>abs(b);
    

    }

    int main()

    {

     int a[101],x,i;
    
     while(cin>>i&&i!=0)
    
     {
    
          for(x=0;x<i;x++)
    
          {
    
               cin>>a[x];
    
          }
    
          sort(a,a+i,com);
    
          for(x=0;x<i;x++)
    
          {
    
               cout<<a[x];
    
               if(x!=i-1)
    
                    cout<<" ";
    
          }
    
          cout<<endl;
    
     }
    
     return 0;
    

    }

    总结:学会运用c++中比较好用的函数如sqrt求根符号,abs绝对值符号等等。

    1. Problem Description

    有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

    Input

    输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

    Output

    对于每个测试实例,输出插入新的元素后的数列。

    解题思路:把所有的数输进去之后,用sort函数排序,再输出即可。

    细节处理:sort(a,a+n+2)

    原代码:

    #include

    #include

    using namespace std;

    int a[110];

    int main()

    {

    int n,m;
    
    while(cin>>n>>m,!(n==0&&m==0))
    
    {
    
        for(int i=1;i<=n;i++)
    
          cin>>a[i];
    
        a[n+1]=m;
    
        sort(a,a+n+2);
    
        for(int i=1;i<=n;i++)
    
          cout<<a[i]<<" ";
    
        cout<<a[n+1]<<endl;
    
    }
    
    return 0;
    

    }

    总结:插入这种题,可以把所有数据都输进去后再排序。

    Problem Description

    作为杭电的老师,最盼望的日子就是每月的8号了,因为这一天是发工资的日子,养家糊口就靠它了,呵呵
    但是对于学校财务处的工作人员来说,这一天则是很忙碌的一天,财务处的小胡老师最近就在考虑一个问题:如果每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?
    这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。

    Input

    输入数据包含多个测试实例,每个测试实例的第一行是一个整数n(n<100),表示老师的人数,然后是n个老师的工资。
    n=0表示输入的结束,不做处理。

    Output

    对于每个测试实例输出一个整数x,表示至少需要准备的人民币张数。每个输出占一行。

    解题思路:把每一个数都从100-1来整除,然后求余,依次往下循环!

    细节处理:按照正常的思路把他给写下来就行。

    原代码:

    #include

    using namespace std;

    int main()

    {

    int n,a,sum=0,i;
    
    while(cin>>n)
    
    {
    
        if(n==0)
    
        break;
    
        for(i=1;i<=n;i++)
    
    {
    
        cin>>a;
    
    sum+=a/100;
    
    a%=100;
    
    sum+=a/50;
    
    a%=50;
    
    sum+=a/10;
    
    a%=10;
    
    sum+=a/5;
    
    a%=5;
    
    sum+=a/2;
    
    a%=2;
    
    sum+=a;
    
    }
    

    cout<<sum<<endl;

    sum=0;

    }
    
    return 0;
    

    }

    总结:因为是整数,所以每一个面值都要求一遍。

    Problem Description

    “回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。请写一个程序判断读入的字符串是否是“回文”。

    Input

    输入包含多个测试实例,输入数据的第一行是一个正整数n,表示测试实例的个数,后面紧跟着是n个字符串。

    Output

    如果一个字符串是回文串,则输出"yes",否则输出"no".

    解题思路:用字符串把它给表示出来,用gets输入,回文串就是收尾字母相同,把他的长度len给表示出来,然后输入开头和末尾的字母,看看是否相等,如果不相等就结束no,相等就继续,知道循环结束,说明是回文串,输出yes。

    细节处理:分情况判断是否是回文序列,后别忘了往中间缩。

    原代码:

    #include<stdio.h>

    #include<string.h>

    int main(){

    int n,i,len,j;
    
    char s[100];
    
    scanf("%d",&n);
    
    getchar();
    
    while(n--){
    
        gets(s);
    
        len=strlen(s);
    
        i=0;j=len-1;
    
        while(i<j){
    
            if(s[i]!=s[j])
    
                break;
    
            i++;
    
            j--;
    
        }
    
        if(i>=j)
    
            printf("yes\n");
    
        else
    
            printf("no\n");
    
    }
    
    return 0;
    

    }

    总结:像这种输字符串的需要用长度strlen(s)来处理,这样就十分方便简要,代码也会很简单。

    Problem Description

    这个题目的A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。

    Input

    输入数据有多行组成,首先是一个整数N,表示测试实例的个数,然后是N行数据,每行有6个整数AH,AM,AS,BH,BM,BS,分别表示时间A和B所对应的时分秒。题目保证所有的数据合法。

    Output

    对于每个测试实例,输出A+B,每个输出结果也是由时分秒3部分组成,同时也要满足时间的规则(即:分和秒的取值范围在0~59),每个输出占一行,并且所有的部分都可以用32位整数表示。

    解题思路:因为是60进制的,所以应该先从秒判断,来确定最后时的数,然后输出时再把时分秒给取余,就得到了最后的结果。

    细节处理:最后输出的时候,别忘了求余即可。

    原代码:

    #include

    using namespace std;

    int main()

    {

    int N,AH,AM,AS,BH,BM,BS;
    
    cin>>N;
    
    while(N--)
    
    {
    
        cin>>AH>>AM>>AS>>BH>>BM>>BS;
    
        BS+=AS;
    
        BM+=(AM+BS/60);
    
        BH+=(AH+BM/60);
    
        cout<<BH<<" "<<(BM%60)<<" "<<(BS%60)<<endl;
    
    }
    
    return 0;
    

    }

    总结:这种题类似进制问题,只要把他们加起来求余就可以完成,这样的题就可以这样处理。

    Input

    每组输入数据占1行,每行数据的开始是2个整数n(0<=n<=100)和m(0<=m<=100),分别表示集合A和集合B的元素个数,然后紧跟着n+m个元素,前面n个元素属于集合A,其余的属于集合B. 每个元素为不超出int范围的整数,元素之间有一个空格隔开.
    如果n=0并且m=0表示输入的结束,不做处理。

    Output

    针对每组数据输出一行数据,表示A-B的结果,如果结果为空集合,则输出“NULL”,否则从小到大输出结果,为了简化问题,每个元素后面跟一个空格.

    解题思路:把B中与A对应的元素找出来,然后把A中剩下的元素按从大到小的顺序排出来,输出,如果A中的元素每一个都能在B中找到,就输出NULL。

    细节处理:像这种分支比较多的程序,我们需要理清思路一步一步的写,千万不要把关系处理乱了,层次分明,条理清晰。

    原代码:

    #include

    #include

    #include

    using namespace std;

    int main()

    {

    int a[100], b[100], judge[100];
    
    int i, j, k;
    
    int n, m;
    
    while (scanf("%d%d", &n, &m) != EOF)
    
    {
    
        int flag[100] = { 0 }, num = 0;
    
        if (m == n&&m == 0)
    
        {
    
        return 0;
    
        }
    
        else
    
        {
    
            for (i = 0; i < n; i++)
    
            {
    
                cin >> a[i];
    
                }
    
                for (i = 0; i < m; i++)
    
                {
    
                    cin >> b[i];
    
                    }
    
                    for (j = 0; j < n; j++)
    
                    {
    
                    for (k = 0; k < m; k++)
    
                    {
    
                    if (a[j] == b[k])
    
                    {
    
                    flag[j] = 1;
    
                    }
    
                    }
    
                    }
    
                    for (i = 0; i < n; i++)
    
                    {
    
                    if (flag[i] != 1)
    
                    {
    
                    sort(a, a + n);
    
                    cout << a[i] << " ";
    
                    judge[num++] = a[i];
    
                    }
    
                    }
    
                    if (num == 0)
    
                    {
    
                    cout << "NULL";
    
                    }
    
                    cout << endl;
    
                    }
    
                    }
    
                    }
    

    总结:这样的程序应定要认真仔细的一步一步写,如果中间错一点就全错了,所以要明确步骤,一步一步的写。

    Font Size: ← →

    Problem Description

    求A^B的最后三位数表示的整数。
    说明:A^B的含义是“A的B次方”

    Input

    输入数据包含多个测试实例,每个实例占一行,由两个正整数A和B组成(1<=A,B<=10000),如果A=0, B=0,则表示输入数据的结束,不做处理。

    Output

    对于每个测试实例,请输出A^B的最后三位表示的整数,每个输出占一行。

    解题思路:对于这种超级简单的题就没有啥特别的思路,就是按套路写,把给定的两个数乘出来然后出去1000求余,输出余数即可;

    细节处理:没啥细节。

    原代码:

    #include

    using namespace std;

    int main()

    {

    int a,b,x,i;

    while(cin>>a>>b,a!=0||b!=0)

    {

    x=1;

    for(i=1;i<=b;i++)

    x=(a*x)%1000;

       cout<<x<<endl;
    

    }

    return 0;

    }

    总结:一个非常常规的循环语句,按套路写就可以。

    Problem Description

    喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!
    什么问题?他研究的问题是蟠桃一共有多少个!
    不过,到最后,他还是没能解决这个难题,呵呵-
    当时的情况是这样的:
    第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?

    Input

    输入数据有多组,每组占一行,包含一个正整数n(1<n<30),表示只剩下一个桃子的时候是在第n天发生的。

    Output

    对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。

    解题思路:找到猴子吃桃的规律,然后倒着用循环语句把规律用式子表示出来即可,反正我是用手推出来的!

    细节处理:每输入一组数据之后,别忘了把y变成1,否则就会一直加下去,这样的话第二组数据数出来的结果就是错的.

    原代码:

    #include

    using namespace std;

    int main()

    {

    int y=1,i,n,s=0;
    
    while(cin>>n)
    
    {
    
            for(i=1;i<n;i++)
    
            {
    
                s=(y+1)*2;
    
                y=s;
    
            }
    
            cout<<s;
    
            cout<<endl;
    
       s=0;
    
       y=1;
    
    }
    
    return 0;
    

    }

    总结:像这种题目需要先把它的规律找出来,然后寻找式子把他给表示出来,然后用一个循环就可以完成了,有一些麻烦的会多组循环,但也不影响。

    Problem Description

    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?

    Input

    输入数据首先包含一个整数N,表示测试实例的个数,然后是N行数据,每行包含一个整数M(1<=M<=40),表示楼梯的级数。

    Output

    对于每个测试实例,请输出不同走法的数量

    解题思路:先把前走向前三级的数据给表示出来,然后从第四个台阶开始,每一级台阶的走法,就是前两个台阶走法的加和,用循环把它给表示出来,然后输出题目所给的结果即可。

    细节处理:记得每输入一组数据就要换行。

    原代码:

    #include

    using namespace std;

    int main()

    {

    int N,i,n;
    
    int a[1000];
    
    cin>>N;
    
    while(N--)
    
    {
    
        cin>>n;
    
        a[1]=0;
    
        a[2]=1;
    
        a[3]=2;
    
        for(i=4;i<=n;i++)
    
        {
    
            a[i]=a[i-1]+a[i-2];
    
        }
    
        cout<<a[n];
    
        cout<<endl;
    
    }
    
    return 0;
    

    }

    总结:想此类题目,需要仔细审题然后把其中的规律找出来,找到一个固定的式子,然后用循环把他给表示出来即可。

    1. Problem Description

    一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?

    Input

    输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。

    Output

    对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。

    解题思路:这个题目就比较有意思了,我比较喜欢,根据题意来说这样的两位数有可能不止一组,所以我们就从0开始到99,一个一个数来试,如果在10以内出现的两位数,就得先输出一个零,再输出个位数,如果出现两个以上的两位数,就要输入空格,这就需要用if语句来判断,最后输出所有能被整除的结果。

    细节处理:每一组数据完成以后需要把k变回零,否则就会影响下一组的结果。

    原代码:

    #include

    using namespace std;

    int main()

    {

      int a,b,s,i,j,k=0;
    
      while(cin>>a>>b)
    
      {
    
          if(a==0&&b==0)
    
          break;
    
          s=0;
    
          for(i=0;i<=99;i++)
    
          {
    
              j=a*100+i;
    
              if(j%b==0)
    
              {
    
                  if(k!=0)
    
                  {
    
                      cout<<" ";
    
                  }
    
                  if(i<10)
    
                  {
    
                      cout<<"0";
    
                      cout<<i;
    
                  }
    
                  else
    
                  {
    
                      cout<<i;
    
                  }
    
                  k++;
    
              }
    
          }
    
         cout<<endl;
    
         k=0;
    
       }
    
    return 0;
    

    }

    总结:处理这一类问题一定要理清思路不要乱,就算是一个空格没有处理好,在这个程序也是错的,所以,做这种题的时候一定要仔细,层次清晰调理。
    大总结:经过这几天的做题,多组数据输入的用while输入,最后别忘了换行处理cout<<endl;,如果有些题目说明输入0就结束程序,就写:
    if(n==0)
    break;
    像有些题目比较有意思,需要提前把规律找出来,然后用式子表示出来,再用循环根据规律来把题目给解出来即可,像蜜蜂路线那道题,还有猴桃的问题。求余相对来说就比较简单,用%,根据题意来写即可;像那种分支比较多的代码,我们写的时候就要层次分明,理清思路,不能放过一个细节,否则如果一个细节出现问题,整个程序就有可能是错误的。这样的程序应定要认真仔细的一步一步写,如果中间错一点就全错了,所以要明确步骤,一步一步的写。
    这几天我还学会了之前没有掌握的语言,像abs就是绝对值,sqrt就是求根等等。这样就可以省去了很多步骤,还能避免很多错误,这样写的就很轻松,正确率还高。求素数这种问题我就比较习惯暴力求解。这样就不会错过一些结果。
    感谢这几天的努力,让我基本上掌握了这门语言,感谢老师的教导,我会更加努力的学习!加油。

    展开全文
  • c语言课程设计论文

    2019-01-05 12:00:05
    输入百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90100A;8089B;7079C;6069D;0~59E; 输入数字,判断其范围,注意输入的是多数据,需用while来实现。 代码如下 #include using ...

    输入一个百分制的成绩t,将其转换成对应的等级,具体转换规则如下:90100为A;8089为B;7079为C;6069为D;0~59为E;
    输入一个数字,判断其范围,注意输入的是多组数据,需用while来实现。
    代码如下
    #include
    using namespace std;
    int main()
    {
    int n;
    while(cin>>n)
    {
    if(n<0||n>100)
    cout<<“Score is error!”<<endl;
    if(0<=n&&n<=59)
    cout<<“E”<<endl;
    if(60<=n&&n<=69)
    cout<<“D”<<endl;
    if(70<=n&&n<=79)
    cout<<“C”<<endl;
    if(80<=n&&n<=89)
    cout<<“B”<<endl;
    if(90<=n&&n<=100)
    cout<<“A”<<endl;
    }
    }

    春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:
    “水仙花数”是指一个三位数,它的各位数字的立方和等于其本身,比如:153=13+53+3^3。
    现在要求输出所有在m和n范围内的水仙花数。
    先将这个三位数的百位、十位、个位分离开,利用水仙花数的特点去判断是否为水仙花数。
    #include
    using namespace std;
    int main()
    {
    int m,n,i,a,b,c,d=0,e;
    while(cin>>m>>n)
    {
    e=1;
    d=0;
    for(i=m;i<=n;i++)
    {
    a=i%10;
    b=i/10%10;
    c=i/100%10;
    if(iaaa+bbb+ccc)
    {
    if(e
    1)
    cout<<i;
    else cout<<" "<<i;
    e++;
    }
    else d++;
    }
    if(d==n-m+1)
    cout <<“no”<<endl;
    else cout<<endl;
    }}

    给你n个整数,求他们中所有奇数的乘积。
    先判断一个数字是否为奇数,将奇数筛选,如果是奇数就用s乘以那个数,前提s为1,如果不是奇数不做处理。
    #include<stdio.h>
    #include
    using namespace std;
    int main()
    {
    int i,n,s,p;
    while(cin>>n)
    {
    s=1;
    for(i=0;i<n;i++)
    {
    cin>>p;
    if(p%2==1)
    s=s*p;
    }
    cout<<s<<endl;
    }
    return 0;
    }

    对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x<y<=50),判定该表达式的值是否都为素数。
    先输入两个不同的数,从小的数开始循环,将从m开始的每一个数代入公式中,再去判断该数值是否为素数,需在用另一个循环,去判断是否为素数,如果是则输出ok,否则输出sorry。
    #include
    #include<math.h>
    using namespace std;
    int main()
    {
    int m,n,a,b,j,i;
    while(cin>>m>>n)
    {
    if(m0&&n0)
    break;
    b=0;
    for(i=m;i<=n;i++)
    {
    a=i*i+i+41;
    for(j=2;j<=sqrt(a);j++)
    {
    if(a%j0)
    b++;
    }}
    if(b
    0)
    cout<<“OK”<<endl;
    else cout<<“Sorry”<<endl;
    }}

    多项式的描述如下:
    1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + …
    现在请你求出该多项式的前n项的和。
    根据题目不难看出每一项分母上的数字依次加一,可利用循环来实现,而符号可用(-1)的n次幂来实现,用1去除以每一个循环的数,然后加和即可,注意结果须保留两位数字,所以定义sum时须定义为double,而不能用int来定义sum。
    #include
    #include
    #include
    #include
    using namespace std;
    int main()
    {
    int m,n,i,j;
    double sum=0,s;
    cin>>m;
    for(i=1;i<=m;i++)
    {
    cin>>n;
    sum=0;
    for(j=1;j<=n;j++)
    {
    s=pow(-1,j+1);
    sum=sum+s*1/j;
    }
    cout<<fixed<<setprecision(2)<<sum<<endl;
    }
    return 0;
    }

    青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
    将所有分数输入后,将所有数字按从小到大的顺序排序,利用循环将第一个数和最后一个数去掉,将剩余的数加和后除以总数减二,输出即可。
    #include<stdio.h>
    #include
    #include<math.h>
    #include
    using namespace std;
    int main()
    {
    int n,i;
    double sum=0,m[110],s;
    while (cin>>n)
    {
    sum=0;
    for (i=0;i<n;i++)
    {
    cin>>m[i];
    }
    sort(m,m+n);
    for (i=1;i<n-1;i++)
    {
    sum=sum+m[i];
    }
    s=sum/(n-2);
    cout<<fixed<<setprecision(2)<<s<<endl;
    }
    return 0;
    }

    有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛?
    分情况去做,如果n小于等于4,直接输出n,如果n大于4,重新去定义n为1,第二年出生的牛在第五年生一头牛,利用循环求的所有牛。
    #include
    #include
    #include
    using namespace std;
    int main()
    {
    int n,a,b,c,d,i;
    while(cin>>n)
    {
    if(n==0)
    break;
    if(n<=4)
    cout<<n<<endl;
    else
    {
    n=n-4;
    a=b=c=d=1;
    for(i=1;i<=n;i++)
    {
    d=c+d;
    c=b;
    b=a;
    a=d;
    }
    cout<<a+b+c+d<<endl;
    }
    }
    return 0;
    }

    输入n(n<=100)个整数,按照绝对值从大到小排序后输出。题目保证对于每一个测试实例,所有的数的绝对值都不相等。
    输入一个数字,先取其数字的绝对值,将其绝对值赋值给另一个字母,然后将数字从大到小进行排序,输出即可。
    #include
    #include
    using namespace std;
    int main()
    {
    int a,i,j,t;
    while(cin>>a&&a)
    {
    i=0;
    int b[a];
    while(i<a)
    cin>>b[i++];
    for(i=0;i<a;i++)
    for (j=0;j<a-i-1;j++)
    {
    if(abs(b[j])<abs(b[j+1]))
    {
    t=b[j];
    b[j]=b[j+1];
    b[j+1]=t;
    }
    }
    for(i=0;i<a-1;i++)
    cout<<b[i]<<" “;
    cout<<b[i]<<’\n’;
    }
    return 0;
    }
    有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。
    输入一个数字,判断其与后输入数字的大小,如果比前一个数字大,将其插入到这个数字后面,后面的数字依次往后推一个,输出所有数字即可。
    #include
    using namespace std;
    int main()
    {
    int n,a[110],m,i,j,s=0;
    while(cin>>n>>m)
    {
    if(m0&&n0)
    return 0;
    for(i=1;i<=n;i++)
    {
    cin>>a[i];
    }
    a[n+1]=m;
    for(j=1;j<=n;j++)
    for(i=1;i<=n+1-j;i++)
    {
    if(a[i]>a[i+1])
    {s=a[i];
    a[i]=a[i+1];
    a[i+1]=s;}
    }s=0;
    cout<<a[1];
    for(i=2;i<=n+1;i++)
    {
    cout<<” "<<a[i];
    }cout<<endl;}}
    每个老师的工资额都知道,最少需要准备多少张人民币,才能在给每位老师发工资的时候都不用老师找零呢?这里假设老师的工资都是正整数,单位元,人民币一共有100元、50元、10元、5元、2元和1元六种。
    输入一个数值,将sum加上x除以100,将其去除以100后取余,然后将sum加上x除以50,将其除以50,以此类推,最后输出sum即可。
    #include
    #include
    using namespace std;
    int main()
    {
    int n,sum,i,x;
    while(cin>>n)
    {
    if(n==0)
    break;
    else
    sum=0;
    for(i=1;i<=n;i++)
    {
    cin>>x;
    sum=sum+x/100;
    x=x%100;
    sum=sum+x/50;
    x=x%50;
    sum=sum+x/10;
    x=x%10;
    sum=sum+x/5;
    x=x%5;
    sum=sum+x/2;
    x=x%2;
    sum=sum+x;
    }
    cout<<sum<<endl;
    }
    return 0;
    }

    A和B不是简单的整数,而是两个时间,A和B 都是由3个整数组成,分别表示时分秒,比如,假设A为34 45 56,就表示A所表示的时间是34小时 45分钟 56秒。将A和B对应相加。
    输入集合A和B,从第二组数字开始,如果相加数字大于60,则前一组加1,如果小于60,直接输出即可,
    #include
    #include
    using namespace std;
    int main()
    {
    int n,i,j,s,l,m,a[10];
    while(cin>>n)
    {
    for(i=0;i<n;i++)
    {
    for(j=0;j<6;j++)
    cin>>a[j];
    s=a[0]+a[3];
    l=a[1]+a[4];
    m=a[2]+a[5];
    if(m>=60)
    {
    l=l+m/60;
    m=m%60;}
    if(l>=60)
    {
    s=s+l/60;
    l=l%60;}
    cout<<s<<" “<<l<<” "<<m<<endl;}}
    return 0;
    }

    求A^B的最后三位数表示的整数。
    说明:A^B的含义是“A的B次方”
    输入x和y,x为数值,y为次幂,先将x除以1000后取余赋值给z,因为只需输出后三位,利用循环实现次幂,输出结果即可。
    #include<stdio.h>
    #include
    using namespace std;
    int main()
    {
    int i,x,y,z;
    while(cin>>x>>y)
    {
    if(x0&&y0)
    break;
    z=x%1000;
    for(i=1;i<y;i++)
    {
    z=z*(x%1000);
    z=z%1000;
    }
    cout<<z<<endl;
    }
    return 0;
    }

    有一楼梯共M级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第M级,共有多少种走法?
    输入m从第一级开始走,不难看出第一级时共有0种,第二级时共有1种,第三级时共有两种,当n大于等于四时,寻找起规律,发现从第四级开始一共有前两级的和种,相加输出即可。
    #include<stdio.h>
    #include
    using namespace std;
    int f[41];
    int main()
    {
    int n,m,i;
    f[1]=0;
    f[2]=1;
    f[3]=2;
    for(i=4;i<41;i++)
    f[i]=f[i-1]+f[i-2];
    cin>>n;
    while(n–)
    {
    cin>>m;
    cout<<f[m]<<endl;
    }
    return 0;
    }

    假设所有的短号都是是 6+手机号的后5位,比如号码为13512345678的手机,对应的短号就是645678。
    现在,如果给你一个11位长的手机号码,你能找出对应的短号吗?
    将所输入的一串数字定义为字符,首先需输出6,
    然后再利用循环将a[6]以后的数字输出即可,所输出的即为校园短号。
    #include
    #include
    using namespace std;
    int main()
    {
    int n,i;
    char a[11];
    cin>>n;
    while(n–)
    {
    for(i=0;i<11;i++)
    {
    cin>>a[i];
    }
    cout<<“6”;
    for(i=6;i<11;i++)
    {
    cout<<a[i];
    }
    cout<<endl;
    }
    return 0;
    }

    第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
    寻找其中的规律,可以将其倒着算,不难寻找到其中的规律,从1开始,倒数第n天时,一共有z=(1+1)*2个需计算n次即可,到最后输出其z的值即可。
    #include
    #include
    using namespace std;
    int main()
    {
    int n,m,i;
    while(cin>>n)
    {
    m=1;
    for(i=1;i<n;i++)
    {
    m=(m+1)*2;}
    {
    cout<<m<<endl;}
    }
    return 0;
    }

    总体来说我感觉杭电的这些题有点难,几乎每一个题都需要用while语句来实现多组数据的输入,有些题目中的规律也比较难寻找,题目中的规律成了这个题的核心关键,而课程设计这门课也比较的难,这一个学期的课程设计也没有学到什么东西,总是在会与不会之间徘徊,说懂也不懂,说不懂也懂那么一点,这一次课程设计不仅检验了我所学习的知识,也培养了我如何去把握一件事情,如何去做一件事情,又如何完成一件事情。在设计过程中,和同学们相互探讨,相互学习,相互监督。学会了合作,学会了运筹帷幄,学会了宽容,学会了理解,也学会了做人与处世。掌握了一些基本的学习c语言的方法,一步步的熟悉了规范和标准,体会了学以致用、突出自己劳动成果的喜悦心情,从中发现自己平时学习的不足和薄弱环节,从而加以弥补。
    感谢老师,老师严谨细致、一丝不苟的作风一直是我工作、学习中的榜样;老师循循善诱的教导和不拘一格的思路给予我无尽的启迪;每一次题目的完成,离不开老师的细心教导,而您开朗的个性和宽容的态度,帮助我能够很顺利的完成了这次课程设计。同时感谢对我帮助过的同学们,谢谢你们对我的帮助和支持,让我感受到同学的友谊。由于本人的设计能力有限,在设计过程中难免出现错误,恳请老师们多多指教,我十分乐意接受你们的批评与指正,本人将万分感谢。

    展开全文
  •  根据 Net applications 公布的数字,Chrome 在5月份已经占据了 7.05% 的市场份额,比4月的 6.73% 再次上涨 0.32 的百分点,而1年前的09年5月,这一数字 2.18%。  竞争对手方面,Firefox 从24.35%微涨至24.59%...
  • 计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入页码的? 如何设置页脚首页第5页 表格的页脚问题 无拘无束的页眉 打印表头 Excel打印中如何不显示...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    计算特定的一组单元格中,满足条件的单元格的个数 把文本格式的数字转换成真正的数字 设置页码 Excel表格里如何插入页码的? 如何设置页脚首页第5页 表格的页脚问题 无拘无束的页眉 打印表头 Excel打印中如何不显示...
  • cx_Freeze:将python程序转换为带有个动态链接库的可执行文件。 dh-virtualenv:构建并将 virtualenv 虚拟环境作为个 Debian 包来发布。 Nuitka:将脚本、模块、包编译成可执行文件或扩展模块。 py2app:将 ...
  • DC-DC开关转换器的作用是将个直流电压有效转换成另个。高效率DC-DC转换器采用三项基本技术:降压、升压,以及降压/升压。 降压转换器用于产生低直流输出电压,升压转换器用于产生高直流输出电压,降压/升压转换器则...
  • 5.6给出一百分制成绩,要求输出成绩等级’A’、’B’、’C’、’D’、’E’。90分以上’A’,80~89分为’B’,70~79分为’C’,60~69分为’D’,60分以下’E’。 12 5.7给定个不多于5位的正整数,要求:①...
  • java面试题

    2018-01-01 15:35:15
    编一段代码,实现在控制台输入一组数字后,排序后在控制台输出; 122 84.14. 列出某文件夹下的所有文件; 123 84.15. java调用系统命令实现删除文件的操作; 123 84.16. java实现从文件中一次读出一个字符的操作; ...
  • 大话数据结构

    2019-01-10 16:35:22
    事先建立个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某项的值是多少的问题。 2.13总结回顾 37 ...
  • 事先建立个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某项的值是多少的问题。 2.13总结回顾 37 ...
  • 大话数据结构 程杰

    2018-09-01 10:06:43
    事先建立个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某项的值是多少的问题。 2.13总结回顾 37 ...
  • 事先建立个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某项的值是多少的问题。 2.13总结回顾 37 ...
  • 6.11.1 树转换为二叉树 196 6.11.2 森林转换为二叉树 197 6.11.3 二叉树转换为树 197 6.11.4 二叉树转换为森林 199 6.11.5 树与森林的遍历 199 6.12 赫夫曼树及其应用 200 压缩而不出错是如何做到的呢?简单的说,...
  • java开源包1

    千次下载 热门讨论 2013-06-28 09:14:34
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包12

    热门讨论 2013-06-28 10:14:45
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • 大话数据结构-程杰

    2014-07-13 23:45:52
    事先建立个有2050大的数组,然后把所有年份按下标数字对应,如果是闰年,此数组项的值就是1,如果不是就是0。这样,所谓的判断某一年是否是闰年就变成了查找这个数组的某项的值是多少的问题。 2.13 总结回顾 37...
  • Java资源包01

    2016-08-31 09:16:25
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包101

    2016-07-13 10:11:08
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包11

    热门讨论 2013-06-28 10:10:38
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包6

    热门讨论 2013-06-28 09:48:32
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包10

    热门讨论 2013-06-28 10:06:40
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包8

    热门讨论 2013-06-28 09:55:26
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包9

    热门讨论 2013-06-28 09:58:55
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • java开源包7

    热门讨论 2013-06-28 09:52:16
    GiftedMotion是个很小的,免费而且易于使用图像互换格式动画是能够设计个有趣的动画了系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的...
  • 最新Java面试宝典pdf版

    热门讨论 2011-08-31 11:29:22
    9、请设计一百亿的计算器 9 10、使用final关键字修饰个变量时,是引用不能变,还是引用的对象不能变? 11 11、"=="和equals方法究竟有什么区别? 11 12、静态变量和实例变量的区别? 12 13、是否可以从个...
  • Java面试宝典2010版

    2011-06-27 09:48:27
    10、在weblogic管理台中对个应用域(或者说是个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 11、说说weblogic中一个Domain的缺省目录结构?比如要将个简单的helloWorld.jsp...

空空如也

空空如也

1 2 3
收藏数 48
精华内容 19
关键字:

一组数字转换为百分制