强人帮忙做两道c语言的题,万分感谢!
要求用TC来编。1、编程输入下边图形,其行数n(<=26)由输入而定。AABAABCBAABCDCBA……2、已知某班N(<=50)名学生进行了高数、英语和C语言三门课考...
要求用TC来编。
1、编程输入下边图形,其行数n(<=26)由输入而定。
A
ABA
ABCBA
ABCDCBA
……
2、已知某班N(<=50)名学生进行了高数、英语和C语言三门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,按总分(由高到低)将学生姓名排序并输入排序结果(序号和姓名)
就这两题,求教各位高人,感谢!
第一题的图形显示有些问题,应为
....A
...ABA
..ABCBA
ABCDCBA
……
(其中前三行字目前的点代表空格,不显示,图形为字母组成的等腰三角形) 展开
1、编程输入下边图形,其行数n(<=26)由输入而定。
A
ABA
ABCBA
ABCDCBA
……
2、已知某班N(<=50)名学生进行了高数、英语和C语言三门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,按总分(由高到低)将学生姓名排序并输入排序结果(序号和姓名)
就这两题,求教各位高人,感谢!
第一题的图形显示有些问题,应为
....A
...ABA
..ABCBA
ABCDCBA
……
(其中前三行字目前的点代表空格,不显示,图形为字母组成的等腰三角形) 展开
2个回答
展开全部
又按你的新要求改了一下
还有二题也做了修改这次
因该是你想要的答案了:
一题:
#include<stdio.h>
void main()
{
int i,n,j,a;char c;
scanf("%d",&n);
a=n-1;
for(i=1;i<=n;i++,a--)
{
for(j=1;j<=a;j++)
printf("%c",' ');
for(c='A';c<'A'+i;c++)
printf("%c",c);
for(c=c-2;c>='A';c--)
printf("%c",c);
printf("\n");
}
}
二题:
#include<stdio.h>
void main()
{
void print(int *p[50],char *q[50],int n);
int n,i,j; int a[50][4];char str[50][10];
int *p[50]; char *q[50];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(str[i]);
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
getchar();
}
}
for(i=0;i<n;i++)
{
p[i]=a[i];
q[i]=str[i];
}
print(p,q,n);
}
void print(int *p[50],char *q[50],int n)
{
int i,j; int *q2; char *q1;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(*(*(p+i)+3)<*(*(p+j)+3))
{
q2=p[i];
p[i]=p[j];
p[j]=q2;
q1=q[i];
q[i]=q[j];
q[j]=q1;
}
printf("unmber name score1score2score3 sum\n");
for(i=0;i<n;i++)
{
printf("%-6d %-10s ",i+1,*(q+i));
for(j=0;j<4;j++)
printf("%-6d",*(*(p+i)+j));
printf("\n");
}
}
还有二题也做了修改这次
因该是你想要的答案了:
一题:
#include<stdio.h>
void main()
{
int i,n,j,a;char c;
scanf("%d",&n);
a=n-1;
for(i=1;i<=n;i++,a--)
{
for(j=1;j<=a;j++)
printf("%c",' ');
for(c='A';c<'A'+i;c++)
printf("%c",c);
for(c=c-2;c>='A';c--)
printf("%c",c);
printf("\n");
}
}
二题:
#include<stdio.h>
void main()
{
void print(int *p[50],char *q[50],int n);
int n,i,j; int a[50][4];char str[50][10];
int *p[50]; char *q[50];
scanf("%d",&n);
getchar();
for(i=0;i<n;i++)
{
gets(str[i]);
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
getchar();
}
}
for(i=0;i<n;i++)
{
p[i]=a[i];
q[i]=str[i];
}
print(p,q,n);
}
void print(int *p[50],char *q[50],int n)
{
int i,j; int *q2; char *q1;
for(i=0;i<n;i++)
for(j=i+1;j<n;j++)
if(*(*(p+i)+3)<*(*(p+j)+3))
{
q2=p[i];
p[i]=p[j];
p[j]=q2;
q1=q[i];
q[i]=q[j];
q[j]=q1;
}
printf("unmber name score1score2score3 sum\n");
for(i=0;i<n;i++)
{
printf("%-6d %-10s ",i+1,*(q+i));
for(j=0;j<4;j++)
printf("%-6d",*(*(p+i)+j));
printf("\n");
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询