acm.C语言上的问题求高手  很简单入门题,不知道哪里错了

2025-04-03 17:45:48
推荐回答(3个)
回答1:

你的程序不符合要求。
输入(一次性)
2------代表下面输入两个数
3------第一个数
4------第二个数
输出:(一次性)
7-----3*3*3=27%10=7
6-----4*4*4*4%10=6
下面是我用递归的方法做的。满意请采纳。代码如下:
#include
void digit(int n,int m,int *a);
void main()
{
int m,n,k,a[10];
scanf("%d",&n);
k=n;
if(n)
scanf("%d",&m);
digit(n,m,a);
while(k)
{
printf("%d\n",a[k--]);
}
}
void digit(int n,int m,int *a)
{
int k,i;
for(k=i=1;i<=m;i++)
{
k*=m;
if(k>10)
k%=10;
a[n]=k;
}
if(--n)
{
scanf("%d",&m);
digit(n,m,a);
}
}
就是把每次的结果存入a数组中然后依次输出。

回答2:

你的程序是个死循环。Eof 不能用在这里,他是用于文件读写上的。

回答3:

ACM通常void main() 改用int main()
且最后返回0 即return 0;