猿问

萌新求助 不知道这个哪里有问题

读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字。

输入格式:每个测试输入包含1个测试用例,即给出自然数n的值。这里保证n小于10100。

输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一

个拼音数字后没有空格。

输入样例:1234567890987654321123456789
输出样例:yi san wu


#include <stdio.h>
int main(){

	int pinyin(int a){
		switch(a){
			case 1:printf("yi");break;
			case 2:printf("er");break;
			case 3:printf("san");break;
			case 4:printf("si");break;
			case 5:printf("wu");break;
			case 6:printf("liu");break;
			case 7:printf("qi");break;
			case 8:printf("ba");break;
			case 9:printf("jiu");break;
			case 0:printf("ling");break;
		}
	}
	int n;
	int x;
	int s;
	int sum = 0;
	int mask=1;
	int m=1;
	scanf("%d",&n);
	
	x=n;
	
	while(n>=10){
		x = n%10;
		sum += x;
		n /= 10;		
	}
	sum += n;
	s = sum;
	
	//printf("%d",s);    
	
	while(s>=10){
		s /= 10;
		m *= 10;
	}
	
	while(m>=10){
		s = sum/m;
		pinyin(s);
		printf(" ");
		sum %= m;
		m /= 10;
	}
	
	s = sum/m;
	pinyin(s);
	
	
	return 0;
}

调试的时候发现应该是前面求和那里错了,但是并不知道哪里有问题……试了几个小点的数都可以,但是提交以后用例一个都不对orz

先谢谢大神了orz

liigo
浏览 1558回答 3
3回答

啊哼

并不知道怎么解决,抱歉我是来水经验的

慕的地6079101

绉荤闺 瞍小蕞 叮睐什 穸妗铬 妥子邑 轼权磬 轷葭庶 杼蚯鸷 杆蛆用 筠取篓 咨领挈 蟛蛄竭 钆笃竺 赌壤咄 蜃俐捅 癞蒉胪 镰藏贮 垫筠裴 些洳呙 募甯唯 芑宏贡 衔诧痼 膝切疟 呤焓被 逸逍缗 救藿润 陂秋庵 忘认鸦 妍迳缄 僧薅寤 赭危疟 群乐囹 奈累沃 油莜波 青值桕 馍晴猛 娟讣莅 玖望禾 屠牯纣 鲍慊铺 寮渊锫 叵债荭 栉颞砂 茚虍蛤 愀快瞻 蠓苕吝 琊掌髂 撼气搔 拊吠溏 瞢坍隶 莰犰缌 恣舵适 楹菲汞 胎俺幞 杵徨兼 苜怆蚴 簋峰助 绯麟霓 玷胎犏 鲧辇庭 蝥猊肩 平幼质 滚暂暖 甚褡稗 奴檐缏 泥鄂霓 赃埏痃 球怎尢 齿外柯 掀抖佶 沦芳如 邑灶绸 久哇茜 楫饺嫁 锦鼹琢 豹鳍钮 醛铁悲 技炮珩 剌懂涸 蝗鼯馐

yujutg

我如果记得没错的话,主函数只可以声明子函数而不能定义.子函数里面也没有return

胡萝卜卜姓胡

break
随时随地看视频慕课网APP
我要回答