解两道C语言题,你行么?

来源:百度知道 编辑:UC知道 时间:2024/09/25 22:31:27
1.编程输出右边图形,其行数n (<= 26)由输入而定。
A
ABA
ABCBA
ABCDCBA
..........
2. 已知某班N(〈=50)名学生进行了高数、英语和C语言等3门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。
第一题 图形有误 正确如下(*代表空格){解答把程序写出来}
*****A
****ABA
***ABCBA
*ABCDCBA
.........

第一题:
#include<stdio.h>
main()
{
int i,j,n;
printf("输入行数1-26:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
printf(" ");
for(j=0;j<=i;j++)
printf("%c",'A'+j);
for(j=j-1;j>0;j--)
printf("%c",'A'+j-1);
printf("\n");
}

}

int i,x,i1;
string c,b;
for(i=1;i<=26;i++)
{
c=c+chr(i+64);//////连接字符穿 chr() 返回与指定的 ANSI 字符代码相对应的字符
x=length(c);/////判断长度
if(x % 2 ==0)
{
x--;
}
b="";
for(i1=1;i1<=x)
{
b=b+substr(c,i1-1,1);
}
pringtf("%s",c+b);
}

c好久没有用了,可能语法有错误! 过程你可以看看!

用递归做的,可能不太好读:
#include "stdio.h"
void print(char c,char end){ c!=end?(printf("%c",c),print(c+1,end),printf(&quo