首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

暑期 每日一练 今天的有点简单 也和大家分享一上吧 畅所欲言

2012-07-29 
暑期每日一练今天的有点简单也和大家分享一下吧 畅所欲言C/C++ code/***********************************

暑期 每日一练 今天的有点简单 也和大家分享一下吧 畅所欲言

C/C++ code
/****************************************************手打一遍:幼儿园的小朋友分成N组做游戏,但每个组的人数有时不符合老师的要求。现在你要帮助老师把其中的一些小朋友从一组移到另一组,使得所有N各组的人数大于等于MinC,小于等于MaxC,其中MinC和MaxC是给定的两个数且一定满足MinC<=MaxC。现在老师想让移动的小朋友数尽可能少,你能求出最少需要移动多少个小朋友吗?输入数据的第一行包含用空格隔开的3个数N、MinC、MaxC,分别表示组数、每组的最小人数和最大人数(1<=N<=100,1<=MinC<=MaxC<=100)。第二行包含用空格隔开的N个数,表示开始的时候每个组的人数,每组的人数保证不超过100。请注意有可能出现无论怎样移动都不能满足要求的情况,这时应该输出-1。*****************************************************/#include<stdio.h>int main(){    int n,i,min,max,over = 0, con = 0,mun[100];    scanf("%d%d%d",&n,&min,&max);    for( i = 0 ; i < n ; i++)        scanf("%d",&mun[i]);    for( i = 0 ; i < n ; i++)    {        if( mun[i] > max )        {            over += mun[i] - max;            mun[i] = max;        }    }    for( i = 0 ; i < n ; i++)    {        if( mun[i] < min )            con += min - mun[i];    }    if( con > over )    {        printf("-1\n");        return 0;    }    con = 0;    for( i = 0 ; i < n ; i++)
这是我在咱们论坛看到的就随意做了一下 并不是留住偷懒 因为发现了了昨天的那个http://topic.csdn.net/u/20120723/12/2078c952-f0f1-4a02-841b-26115271fcea.html?seed=634492029&r=79199942#r_79199942 我开始给出的代码有问题 开始找错 纠结了很长时间 同时再次感谢那些帮助我的朋友谢谢你们 因为 一会有事昨天最后那个朋友的代码还没仔细太看 我回头会弄明白的 吧昨天那个我改正的也传上来吧
C/C++ code
/*********************************************Felicia的生日是11月1日(和Kitty是同一天生的哦)。于是Feli请来Kitty一起过生日。Kitty带来了最新款的"Kitty猫"玩具准备送给Feli,不过她说,这份礼物可不是白送的。Feli要帮她一个忙,才能够得到心仪已久的玩具。Kitty说,"Kitty猫"玩具已经卖出了n!个,n<=10^100*_*,Kitty想知道确切的数字,而不是无聊的"一个数加个感叹号"。Feli听了大吃一惊。要知道,算出n!是一个无比艰巨的任务。Feli告诉Kitty,就算Feli算出n!,Kitty也看不下去,因为当n=20时,计算机的长整型已经存不下了(Kitty只能接受1-9之间的数字)。于是Kitty说,你只要告诉我n!最后一位非0的数就可以了。Feli想了想,立刻动手写了个程序算出了正确的答案。现在,请你也试试看!注意哦,AC的男生将会得到一个"Hello Kitty"计算器(可编程,CPU 1THz,Mem 1TMB),AC的女生将会得到一个仿真"Hello Kitty"宠物(善解人意,无须喂养,智商1101,附带写情书功能)。【数据输入】每行一个n,直到输入数据结束【数据输出】对应输入的n,每行输出一个答案【样例输入】1101【样例输出】8****************************************************/#include<stdio.h>#include<math.h>int main(){    int mun,unit = 1,i,j,m,n = 1;    scanf("%d",&mun);    j = mun;    while( j / 10 != 0 )    //查一下数位    {        n++;        j = j / 10;    }    for( i = 1 ; i <= mun ; i++)    {        m = unit * i;        while(m % 10 == 0)        {            m = m / 10;        }        unit = m % (int)pow(10.0 , n+1); //修改了此处,昨天那个在算到5的倍数的时候会出现进位而出错    }    printf("%d\n",unit % 10);    return 0;}


[解决办法]
好像很厉害 加了个油
[解决办法]
积少成多,楼主,我看好你呦!
[解决办法]
菜鸟表示看那问题头都大!!唉!

难道我不适合干这行?
[解决办法]
看好楼主哦

热点排行
Bad Request.