(1)实验代码:
#include<stdio.h>
main()
{
int n;
scanf("%d",&n);
if(n==0)
{
printf("a");
}
int i=0,N=n;
while(n!=0)
{
n=n/10;
i++;
}
int a[i];
n=i;
for(i=0;i<n;i++)
{
a[i]=N%10;
N=N/10;
}
char s[n];
int b;
int c=n-1;
if(N<10)
for(i=n-1;i>=0;i--)
{
b=a[i]-0;
s[i]='a'+b;
if(a[i]==0&&c>=5&&i==4)
printf("W");
if(a[i]==0)
{
for(n=i;n>=0;n--)
if(a[n]>0)
{
break;
}
continue;
}
if(a[i+1]==0&&a[i]!=0&&i!=c)
{
printf("a");
}
printf("%c",s[i]);
if(a[i]!=0)
switch(i)
{
case 8:
printf("Y");
break;
case 7:
printf("Q");
break;
case 6:
printf("B");
break;
case 5:
printf("S");
break;
case 4:
printf("W");
break;
case 3:
printf("Q");
break;
case 2:
printf("B");
break;
case 1:
printf("S");
case 0:
break;
}
}
}
(2)设计思路:
第一步:判断输入的数是否为0.
第二步:若不为0则运用数组和while来记录字母,并且判断数字是否在万后面或者全部为0,列出式子做出判断.
第三步:输出字符.
运行结果截图:
本题解决方案:1:本来一开始一直无法通过检测,后面问了一个朋友,他给了我一个数据去测量了一下,让我发现无法打印出如:3亿这样的数字,然后重新去检查了代码,并且对比了网上的代码差别,找到了缺少的一部分