已知字符数组char str[25],其元素按下标依次为'a','b','c'到'y',按每行5个字符在屏幕上以矩阵形式打印出该数组,并计算位于该矩阵主对角线(从左上到右下)上的元素的ASCII码值和

int main(){

//......

//......

return 0;

}

输入格式:

输出格式:
printf("%3c",str[i]);
printf("主对角线ASCII值和=%d\n", sum);

解答如下

img

#include <stdio.h>
int main()
{
    char str[25];
    int sum=0;
    for(int i=0;i<25;i++)
    {
        str[i]='a'+i;
        printf("%3c",str[i]);
        if((i+1)%5==0)
        {
            printf("\n");
        }
        if((i%6)==0)
            sum+=str[i];
    }
    
    printf("主对角线ASCII值和=%d\n", sum);
    return 0;
}

你题目的解答代码如下:

#include <stdio.h>
int main()
{
    int i,j,sum=0;
    char str[25];
    for (i = 0; i < 25; i++)
        str[i] = 'a'+i;
    for (i = 0; i < 5; i++)
    {
        for (j = 0; j < 5; j++)
        {
            printf("%3c",str[i*5+j]);
            if (i==j)
                sum += str[i*5+j];
        }
        printf("\n");
    }
    printf("主对角线ASCII值和=%d\n", sum);
    return 0;
}

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img