| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1189 人关注过本帖, 1 人收藏
标题:半夜求教C语言。
只看楼主 加入收藏
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
结帖率:22.22%
收藏(1)
 问题点数:0 回复次数:17 
半夜求教C语言。
小弟在做一个ACM的题目,要求得出数字N的N次方以后的最右边数值,我写了下面这个程序,在C里面运行没有问题,但是传到网站上就显示答案错误了,估计是程序里面有不对的地方,希望各位大大指正,谢谢了。
题目要求:
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single positive integer N(1<=N<=1,000,000,000).

Output
For each test case, you should output the rightmost digit of N^N.

Sample Input
2
3
4

Sample Output
7
6


程序如下


[i]#include <stdio.h>
void main ()
{
    int a,s,t,i,b[100],j;
    scanf("%d",&t);
    for(i=0;i<t;i++)
    {
        scanf("%d",&a);
        s=a%10;
        switch(s)
        {
        case 0:b[i]=0;
            break;
        case 1:b[i]=1;
            break;
        case 2:    j=a%4;
            switch(j)
            {
            case 0:b[i]=6;
                break;
            case 1:b[i]=2;
                break;
            case 2:b[i]=4;
                break;
            case 3:b[i]=8;
                break;
            }
            break;
        case 3:j=a%4;
            switch(j)
            {
            case 0:b[i]=1;
                break;
            case 1:b[i]=3;
                break;
            case 2:b[i]=9;
                break;
            case 3:b[i]=7;
                break;
            }
            break;
        case 4:j=a%2;
            switch(j)
            {
            case 0:b[i]=6;
                break;
            case 1:b[i]=4;
                break;
            }
            break;
        case 5:b[i]=5;
            break;
        case 6:b[i]=6;
            break;
        case 7:j=a%4;
            switch(j)
            {
            case 0:b[i]=1;
                break;
            case 1:b[i]=7;
                break;
            case 2:b[i]=9;
                break;
            case 3:b[i]=3;
                break;
            }
            break;
        case 8:
            j=a%4;
            switch(j)
            {
            case 0:b[i]=6;
                break;
            case 1:b[i]=8;
                break;
            case 2:b[i]=4;
                break;
            case 3:b[i]=2;
                break;
            }
            break;
        case 9:
            j=a%2;
            switch(j)
            {
            case 0:b[i]=1;
                break;
            case 1:b[i]=9;
                break;
            }
        }
        
    }
    for(i=0;i<t;i++)printf("%d\n",b);
}
搜索更多相关主题的帖子: C语言 
2009-10-09 23:40
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
收藏
得分:0 
做了好长时间了,还没做起来,很伤心,各位帮帮吧。
2009-10-09 23:49
qq8801103
Rank: 5Rank: 5
来 自:苏州中科大软件学院
等 级:职业侠客
威 望:1
帖 子:422
专家分:340
注 册:2009-10-8
收藏
得分:0 
都是高手

Discuz!  
好好学习  天天向上
2009-10-10 01:55
flyingcloude
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:6
帖 子:598
专家分:1512
注 册:2008-1-13
收藏
得分:0 
看错了

[ 本帖最后由 flyingcloude 于 2009-10-10 11:07 编辑 ]

你能学会你想学会的任何东西,这不是你能不能学会的问题,而是你想不想学的问题
2009-10-10 10:07
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
int main(void)   
{   
    int n[10][4] =     
    {   
        { 0, 0, 0, 0 },   
        { 1, 1, 1, 1 },   
        { 6, 2, 4, 8 },   
        { 1, 3, 9, 7 },   
        { 6, 4, 6, 4 },   
        { 5, 5, 5, 5 },   
        { 6, 6, 6, 6 },   
        { 1, 7, 9, 3 },   
        { 6, 8, 4, 2 },   
        { 1, 9, 1, 9 }   
    };   
    int N;   
 
    scanf("%d", &N);      
    printf("%d\n", n[N%10][N%4]);  
   
    return 0;
      
}   

我就是真命天子,顺我者生,逆我者死!
2009-10-10 10:58
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
可以更简单的

我就是真命天子,顺我者生,逆我者死!
2009-10-10 11:03
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
再说吧

[ 本帖最后由 BlueGuy 于 2009-10-10 11:41 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-10-10 11:08
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
恩……有道理……

专心编程………
飞燕算法初级群:3996098
我的Blog
2009-10-10 11:29
UserYuH
Rank: 12Rank: 12Rank: 12
来 自:毅华
等 级:火箭侠
威 望:8
帖 子:720
专家分:3300
注 册:2009-8-10
收藏
得分:0 
对于一位数可行,两位数以上就不对了。

努力—前进—变老—退休—入土
2009-10-10 11:38
BlueGuy
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:29
帖 子:4476
专家分:4055
注 册:2009-4-18
收藏
得分:0 
真的有道理吗?  用 5楼的吧

[ 本帖最后由 BlueGuy 于 2009-10-10 11:43 编辑 ]

我就是真命天子,顺我者生,逆我者死!
2009-10-10 11:39
快速回复:半夜求教C语言。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016780 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved