我这里哪里错了,该怎么改?

#include<stdio.h>   //题目是:求的是a的b次方的最后一个数是什么
int last(int x,int y){
		x = x % 10;
		int k;
		int a[5]; 
		switch(x){
			case 1:
				return 1;
			case 5:
				return 5;
			case 6:
				return 6;
			case 0:
				return 0;
			case 2:
				{
				a[5]={2,4,8,6};
				k = y % 4;
				return a[k-1];
				}
			case 3:
				{
				
				a[5]={1,3,9,7};
				k = y % 4;
				return a[k];
			}
			case 4:
				{
				
				a[5]={4,6};
				k = y % 2;
				return a[k-1];
			}
			case 7:
				{
				
				a[5]={1,7,9,3};
				k = y % 4;
				return a[k];
			}
			case 8:
				{
				a[5]={8,4,2,6};
				k = y % 4;
				return a[k-1];
			}
			case 9:
				{
				
				a[3]={1,9};
				k = y % 2;
				return a[k];
			}
		}
	}

int main(){
	int a,b;
	while(~scanf("%d %d",&a,&b)){
		if(b==0)
		printf("1");
		else
		printf("%d",last(a,b));
		}
		return 0;
	}


慕侠2084024
浏览 1359回答 4
4回答

慕移动6052691

修改后的程序:#include <stdio.h>int last(int x,int y){ x = x % 10; int k; //int a[5];  switch(x){ case 1: return 1; break; case 5: return 5; break; case 6: return 6; break; case 0: return 0; break; case 2: { int a[4]={2,4,8,6}; k = y % 4; return a[k-1]; };break; case 3: { int a[4]={1,3,9,7}; k = y % 4; return a[k]; };break; case 4: { int a[2]={4,6}; k = y % 2; return a[k-1]; };break; case 7: { int a[4]={1,7,9,3}; k = y % 4; return a[k]; };break; case 8: { int a[4]={8,4,2,6}; k = y % 4; return a[k-1]; };break; case 9: { int a[2]={1,9}; k = y % 2; return a[k]; };break; }}int main(){ int a,b; while(scanf("%d %d",&a,&b)){ if(b==0) printf("1"); else printf("%d",last(a,b)); } return 0;}

Success派

缺少break?

karl卡尔

把错误提示贴出来
打开App,查看更多内容
随时随地看视频慕课网APP