| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 394 人关注过本帖
标题:新手头次发帖望大神相助
只看楼主 加入收藏
yenga
Rank: 1
等 级:新手上路
帖 子:39
专家分:7
注 册:2013-11-25
结帖率:75%
收藏
已结贴  问题点数:10 回复次数:8 
新手头次发帖望大神相助
问的问题如果有点低级请不要鄙视。。
我是新手。。
嗯下面的程序两个printf都不是我要的答案,第二个还输不出来,哪里错了
求指点谢谢

#include"stdio.h"
#include"stdlib.h"
#include"math.h"

int main()
{
int x,y,a,b,c,d,t;
while(scanf("%d%d",&x,&y)!=EOF)
{
a=pow(x,1)%10;
b=pow(x,2)%10;
c=pow(x,3)%10;
d=pow(x,4)%10;
t=y%4;
printf("%d%d%d%d",a,b,c,d);
switch(t)
 {
 case'1':
 printf("%d",a);
 break;
 case'2':
 printf("%d",b);
 break;
case'3':
 printf("%d",c);
  break;
 case'0':
 printf("%d",d);
  break;
 }
}
return 0;
}
搜索更多相关主题的帖子: include 
2013-11-25 17:04
yuccn
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:何方
等 级:版主
威 望:167
帖 子:6814
专家分:42393
注 册:2010-12-16
收藏
得分:0 
嗯下面的程序两个printf都不是我要的答案

你想要的答案是什么,你的输入是什么?

我行我乐
公众号:逻辑客栈
我的博客:
https://blog.yuccn. net
2013-11-25 17:15
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:10 
第一个:
pow()函数返回值是double型的, 你用它%10. 加一个a = (int)pow(x, 1) % 10; 试试
第二个:
switch(t)中
case 后面直接写数字(0, 1, 2, 3), 你写成'0', '1', ..那是字符, 等于(48,49,50,51)
2013-11-25 17:24
ljx小子
Rank: 8Rank: 8
来 自:星星
等 级:蝙蝠侠
威 望:2
帖 子:222
专家分:916
注 册:2013-10-7
收藏
得分:0 
同意楼上。建议lz最好在输出时有区分加一些格式控制容易分清。

。。。。。。。。。。。
2013-11-25 17:37
yenga
Rank: 1
等 级:新手上路
帖 子:39
专家分:7
注 册:2013-11-25
收藏
得分:0 
谢谢,改动后可以运行了,,
但是提交的时候出现了问题,

这是题目的网址
http://acm.hdu.

我修改后的程序这样
#include"stdio.h"
#include"stdlib.h"
#include"math.h"

int main()
{
int x,y,a,b,c,d,t;
while(scanf("%d%d",&x,&y)!=EOF)
{
a=(int)pow(x,1)%10;
b=(int)pow(x,2)%10;
c=(int)pow(x,3)%10;
d=(int)pow(x,4)%10;
t=y%4;

switch(t)
 {
 case 1:
 printf("%d\n",a);
 break;
 case 2:
 printf("%d\n",b);
 break;
case 3:
 printf("%d\n",c);
  break;
 case 0:
 printf("%d\n",d);
  break;
 }
}
return 0;
}

提交不了怎么办。。。
2013-11-25 18:06
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:0 
第一,没账号密码,看不了,
第二,表示英文看不懂。
所以你要是想知道,就把题目发上来。
2013-11-25 18:26
yenga
Rank: 1
等 级:新手上路
帖 子:39
专家分:7
注 册:2013-11-25
收藏
得分:0 
回复 6楼 pangshch
Problem Description
lcy gives a hard puzzle to feng5166,lwg,JGShining and Ignatius: gave a and b,how to know the a^b.everybody objects to this BT problem,so lcy makes the problem easier than begin.
this puzzle describes that: gave a and b,how to know the a^b's the last digit number.But everybody is too lazy to slove this problem,so they remit to you who is wise.

 

Input
There are mutiple test cases. Each test cases consists of two numbers a and b(0<a,b<=2^30)

 

Output
For each test case, you should output the a^b's last digit number.

 

Sample Input
7 66
8 800
 

Sample Output
9
6
2013-11-25 20:06
pangshch
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:2
帖 子:443
专家分:1966
注 册:2013-4-9
收藏
得分:0 
还好有google翻译
你这题目是要求a的b次方的最后一位数是什么,a,b大于0, 小于等于2的30次方。
要求的是最后一位数,那就只要看a的最后一位是什么, 再求最后一位的b次方的最后一位
例如 112 的4 次方,那只要得到2 的4 次方是16,那最后一位就是6.
具体看代码:
程序代码:
#include <stdio.h>
int main()
{
    long a, b;
    int x, y;
    while (scanf("%ld%ld", &a, &b) == 2) {    // 题目有多组数据,所以用循环
        x = a%10;                     // x 是a的最后一位
        switch (x) {
        case 0:                    // x是0 、 1、 5、6,不管是多少次方。 最后一位都是等于x      
        case 1:
        case 5:
        case 6: y = x; break;
        case 2: switch (b%4) {          // x是2,2的1到7次方分别是:2 4 8 16 32 64 128 看最后一位。第五个数就重复了。
                case 0: y = 2; break;
                case 1: y = 4; break;
                case 2: y = 8; break;
                case 3: y = 6; break;
                }
            break;
        case 3: switch (b%4) {              // 下面同理
                case 0: y = 3; break;
                case 1: y = 9; break;
                case 2: y = 7; break;
                case 3: y = 1; break;
                }
            break;
        case 4: switch (b%2) {           // 第三个数就重复了。
                case 0: y = 4; break;
                case 1: y = 6; break;
                }
            break;
        case 7: switch (b%4) {
                case 0: y = 7; break;
                case 1: y = 9; break;
                case 2: y = 3; break;
                case 3: y = 1; break;
                }
            break;
        case 8: switch (b%4) {
                case 0: y = 8; break;
                case 1: y = 4; break;
                case 2: y = 2; break;
                case 3: y = 6; break;
                }
            break;
        case 9:    switch (b%2) {
                case 0: y = 9; break;
                case 1: y = 1; break;
                }
            break;
        }
        printf("%d\n", y);
    }
    return 0;
}



收到的鲜花
  • azzbcc2013-11-25 23:00 送鲜花  20朵   附言:不够细心啊,哈!
2013-11-25 21:18
thb
Rank: 2
等 级:论坛游民
帖 子:26
专家分:31
注 册:2013-11-21
收藏
得分:0 
#include"stdio.h"
#include"stdlib.h"
#include"math.h"

int main()
{
double x,y,a,b,c,d;
int t;
while(scanf("%lf %lf",&x,&y)!=EOF)
{
a=pow(x,1);
b=pow(x,2);
c=pow(x,3);
d=pow(x,4);
t=(int)y%4;
printf("%.4lf\n %.4lf\n %.4lf\n %.4lf\n",a,b,c,d);
switch(t)
{
case'1':
printf("%d",a);
break;
case'2':
printf("%d",b);
break;
case'3':
printf("%d",c);
  break;
case'0':
printf("%d",d);
  break;
}
}
return 0;
}
2013-11-25 22:14
快速回复:新手头次发帖望大神相助
数据加载中...
 
   



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

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