| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1189 人关注过本帖, 1 人收藏
标题:半夜求教C语言。
取消只看楼主 加入收藏
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
结帖率:22.22%
收藏(1)
 问题点数:0 回复次数:2 
半夜求教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
xuyao18
Rank: 2
等 级:论坛游民
帖 子:50
专家分:30
注 册:2009-4-27
收藏
得分:0 
回复 5楼 BlueGuy
非常感谢!
能告诉我,我的程序错在什么地方么?
昨天晚上一直在考虑这个问题,一直觉得计算方面没有什么错了呀。
2009-10-10 18:02
快速回复:半夜求教C语言。
数据加载中...
 
   



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

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