#include <stdio.h>
#include<string.h>
#define N 10
int main()
{
int a[N][N],b[N],c[N];
int i,j,k;
int m,n;
int sum,temp,temp1,count,mask;
scanf("%d %d",&m,&n);
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for(i=0;i<m;i++)
{
sum=0;
for(j=0;j<n;j++)
{
if(i==0||i%2==0)
{
sum+=a[i][j];
}
else
{
break;
}
}
b[i]=sum;
}
/*for(i=0;i<m;i++)
{
printf("%d\n",b[i]);
}
printf("\n");*/ //检验b[i]的各项值
for(i=0;i<m;i++)
{
if(b[i]==0)
{
for(j=i;j<m;j++)
{
temp=b[j];
b[j]=b[j+1];
b[j+1]=temp;
}
m--;
}
}
//printf("%d\n",m);
/*for(i=0;i<m;i++)
{
printf("%d\n",b[i]);
}
printf("\n");*/ //检验b[i]的各项值
for(i=0;i<m;i++)
{
mask=0;
temp=b[i];
while(temp>0)
{
temp=temp/10;
mask++;
}//计算位数
temp1=b[i];
for(j=0;j<mask;j++)
{
c[j]=temp1%10;
temp1=temp1/10;
}//将每个数字储存在数组,方便输出;
printf("%d:",b[i]);
for(j=mask-1;j>=0;j--)
{
switch(c[j])
{
case 0:printf("ling ");break;
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;
}
}
printf("\n");
}
return 0;
}
【问题描述】按程序功能要求编写程序,并将程序代码以文件名1-A-3.c 保存到【答题文件夹】文件夹中。
功能说明:从键盘输入不超过10行10列的整型二维数组的各元素,
求出各奇数行(下标为0,2,4,6...的行,即第1,3,5,7...行)之和,
并把和的每位数字转成拼音(0~9数字拼音分别为:ling,yi,er,san,si,wu,liu,qi,ba,jiu)输出,
输出格式参照样例的输出格式,各数拼音之间以一个空格分隔。
【样例输入】:
5 6
56 78 36 4 50 80
19 44 95 72 -8 60
85 67 -3 32 12 35
29 21 47 88 28 -9
7 66 53 40 20 15
【样例输出】:
304:san ling si
228:er er ba
201:er ling yi
【样例说明】:输入5行6列二维数组;分别求出第1,3,5行的和304,228,201,并转换成拼音输出。