C语言的几个题目。请教高手。高分高分100,再追加。
1.编程输出右边图形,其行数n(<=26)由输入而定。AABAABCBAABCDCBA......2.已知某班N(<=50)名学生进行了高数、英语和C语言等3门课考试,将...
1.编程输出右边图形,其行数n (<= 26)由输入而定。
A
A B A
A B C B A
A B C D C B A
......
2.已知某班N(<=50)名学生进行了高数、英语和C语言等3门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。
3.用下面的公式计算e的x次方。在程序中要求用函数f1计算每项分子的值,用函数f2计算每项分母的值(用递归函数来实现)。通过主函数调用f1和f2完成计算。
e的x幂=1+ x +x平方/2!+x立方/3!+ …(前10项的和)
4.编写函数fun(char s[ ], int num[ ]),其功能是统计字符串 s 中数字字符、大写字母、小写字母和空格字符的出现次数,统计结果存于num数组中。再设计main函数,调用fun函数,实现预期功能。
第一题是图形形状是等腰三角,不是直角三角。百度上弄不了~~ 展开
A
A B A
A B C B A
A B C D C B A
......
2.已知某班N(<=50)名学生进行了高数、英语和C语言等3门课考试,将3门课的成绩以及计算3门课的总分存放于一个二维数组中,将学生姓名存放在另一个二维字符数组中,按总分(由高到低)将学生姓名排序并输出排序结果(序号和姓名)。
3.用下面的公式计算e的x次方。在程序中要求用函数f1计算每项分子的值,用函数f2计算每项分母的值(用递归函数来实现)。通过主函数调用f1和f2完成计算。
e的x幂=1+ x +x平方/2!+x立方/3!+ …(前10项的和)
4.编写函数fun(char s[ ], int num[ ]),其功能是统计字符串 s 中数字字符、大写字母、小写字母和空格字符的出现次数,统计结果存于num数组中。再设计main函数,调用fun函数,实现预期功能。
第一题是图形形状是等腰三角,不是直角三角。百度上弄不了~~ 展开
5个回答
展开全部
第一题
#include<stdio.h>
void main()
{
int i,j,n;
char m;
printf("输入行数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<n-i+1;j++)
printf(" ");
for(j=n-i+1,m='A';j<=n;j++)
printf("%c",m++);
for(m=m-2;m>='A';m--)
printf("%c",m);
printf("\n");
}
}
第三题
#include<stdio.h>
#include<math.h>
double f1(int p,int q)
{
double m;
m=pow(q,p);
return m;
}
long f2(int x)
{
if (x==1)
return 1;
else
return (x * f2(x-1));
}
void main()
{
int x,i;
double sum=1;
printf("x=?\n");
scanf("%d",&x);
for(i=1;i<=9;i++)
sum=sum+f1(i,x)/f2(i);
printf("e^%d=%lf\n",x,sum);
}
其他两道,目前为止,我还不会,我是初学者,抱歉,希望能帮一点小忙吧
#include<stdio.h>
void main()
{
int i,j,n;
char m;
printf("输入行数:\n");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
for(j=1;j<n-i+1;j++)
printf(" ");
for(j=n-i+1,m='A';j<=n;j++)
printf("%c",m++);
for(m=m-2;m>='A';m--)
printf("%c",m);
printf("\n");
}
}
第三题
#include<stdio.h>
#include<math.h>
double f1(int p,int q)
{
double m;
m=pow(q,p);
return m;
}
long f2(int x)
{
if (x==1)
return 1;
else
return (x * f2(x-1));
}
void main()
{
int x,i;
double sum=1;
printf("x=?\n");
scanf("%d",&x);
for(i=1;i<=9;i++)
sum=sum+f1(i,x)/f2(i);
printf("e^%d=%lf\n",x,sum);
}
其他两道,目前为止,我还不会,我是初学者,抱歉,希望能帮一点小忙吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2009-05-16
展开全部
1
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
. . . . . . . . .
. . . . . . . . . . .
1 2 1
1 2 3 2 1
1 2 3 4 3 2 1
. . . . . . . . .
. . . . . . . . . . .
参考资料: 能帮助我吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在c++中运行 如果你用的是c,只要把cin,cout相应改成scanf,printf的格式就行了
#include "iostream.h"
#include "iomanip.h"
void main( )
{
int n,i,j,k;
cout<<"Input n:";
cin>>n;
for(i=1;i<=n;i++)
{
j=1+(i-1)*2;
cout<<setw(28-i)<<'A';
for(k=0;k<j-1;k++)
if(k<(j-1)/2)
cout<<char('A'+k+1);
else
cout<<char('A'+j-k-2);
cout<<endl;
}
}
#include "iostream.h"
#define N 50 (班级有多少人就写多少)
void main( )
{
cout<<"姓名 高数 英语 C语言 总分 "<<endl;
char a[50][20];
int b[50][4],i,j,sum,max=0,n=0,c;
for(i=0;i<N;i++)
{
cin>>a[i];
for(j=0,sum=0;j<3;j++)
{
cin>>b[i][j];
sum+=b[i][j];
}
b[i][3]=sum;
cout<<b[i][3]<<endl;
}
j=0;
cout<<"序号 姓名"<<endl;
while(j<N)
{
max=0;
n++;
for(i=0;i<N;i++)
if(b[max][3]<b[i][3])
max=i;
c=b[max][3];
for(i=0;i<N;i++)
if(c==b[i][3])
{
cout<<n;
cout<<a[i]<<endl;
b[i][3]=0;
j++;
}
}
cout<<endl;
}
#include "iostream.h"
#include "math.h"
float f1(int n,float x)
{
int a;
a=pow(x,n);
return(a);
}
float f2(int n)
{
int a;
if(n==1) a=1;
else a=f2(n-1)*n;
return(a);
}
void main( )
{
float x,sum=1;
int i;
cout<<"x=";
cin>>x;
cout<<"e^x=1";
for(i=1;i<10;i++)
{
cout<<"+x^"<<i<<"/"<<i<<"!";
sum+=f1(i,x)/f2(i);
}
cout<<"="<<sum<<endl;
}
#include "iostream.h"
#include "stdio.h"
#include "string.h"
#include "ctype.h"
void fun(char s[ ], int num[ ])
{
int i=0;
for(;i<strlen(s);i++)
{
if(isdigit(s[i]))
num[0]+=1;
if(isupper(s[i]))
num[1]+=1;
if(islower(s[i]))
num[2]+=1;
if(s[i]==' ')
num[3]+=1;
}
cout<<"该字符串中数字字符有"<<num[0]<<"个。"<<endl;
cout<<"该字符串中大写字母有"<<num[1]<<"个。"<<endl;
cout<<"该字符串中小写字母有"<<num[2]<<"个。"<<endl;
cout<<"该字符串中空格字符有"<<num[3]<<"个。"<<endl;
}
void main( )
{
char s[80];
int num[4]={0};
printf("输入字符串:");
gets(s);
fun(s,num);
}
#include "iostream.h"
#include "iomanip.h"
void main( )
{
int n,i,j,k;
cout<<"Input n:";
cin>>n;
for(i=1;i<=n;i++)
{
j=1+(i-1)*2;
cout<<setw(28-i)<<'A';
for(k=0;k<j-1;k++)
if(k<(j-1)/2)
cout<<char('A'+k+1);
else
cout<<char('A'+j-k-2);
cout<<endl;
}
}
#include "iostream.h"
#define N 50 (班级有多少人就写多少)
void main( )
{
cout<<"姓名 高数 英语 C语言 总分 "<<endl;
char a[50][20];
int b[50][4],i,j,sum,max=0,n=0,c;
for(i=0;i<N;i++)
{
cin>>a[i];
for(j=0,sum=0;j<3;j++)
{
cin>>b[i][j];
sum+=b[i][j];
}
b[i][3]=sum;
cout<<b[i][3]<<endl;
}
j=0;
cout<<"序号 姓名"<<endl;
while(j<N)
{
max=0;
n++;
for(i=0;i<N;i++)
if(b[max][3]<b[i][3])
max=i;
c=b[max][3];
for(i=0;i<N;i++)
if(c==b[i][3])
{
cout<<n;
cout<<a[i]<<endl;
b[i][3]=0;
j++;
}
}
cout<<endl;
}
#include "iostream.h"
#include "math.h"
float f1(int n,float x)
{
int a;
a=pow(x,n);
return(a);
}
float f2(int n)
{
int a;
if(n==1) a=1;
else a=f2(n-1)*n;
return(a);
}
void main( )
{
float x,sum=1;
int i;
cout<<"x=";
cin>>x;
cout<<"e^x=1";
for(i=1;i<10;i++)
{
cout<<"+x^"<<i<<"/"<<i<<"!";
sum+=f1(i,x)/f2(i);
}
cout<<"="<<sum<<endl;
}
#include "iostream.h"
#include "stdio.h"
#include "string.h"
#include "ctype.h"
void fun(char s[ ], int num[ ])
{
int i=0;
for(;i<strlen(s);i++)
{
if(isdigit(s[i]))
num[0]+=1;
if(isupper(s[i]))
num[1]+=1;
if(islower(s[i]))
num[2]+=1;
if(s[i]==' ')
num[3]+=1;
}
cout<<"该字符串中数字字符有"<<num[0]<<"个。"<<endl;
cout<<"该字符串中大写字母有"<<num[1]<<"个。"<<endl;
cout<<"该字符串中小写字母有"<<num[2]<<"个。"<<endl;
cout<<"该字符串中空格字符有"<<num[3]<<"个。"<<endl;
}
void main( )
{
char s[80];
int num[4]={0};
printf("输入字符串:");
gets(s);
fun(s,num);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
试试我的嘛
1、
#include<stdio.h>
void main()
{
int a , n , i ;
char m ;
printf("请输入一个整数(1~26):"); //输入行数由你确定
scanf("%d", &n);
printf("\n");
for(i=1 ; i<=n ; i++)
{
m='A';
for(a=1;a<=n-i;a++)
printf(" ");
for(a=1 ; a<=2*i-1 ; a++)
{
if (a<i)
{
printf("%c",m);
m++;
}
else if (a==i)
{
printf("%c",m) ;
}
else if (a>i&&i>0)
{
m--;
printf("%c",m);
}
}
printf("\n");
}
}
2、
#include<stdio.h>
main()
{
float score[50][4];
int i,j,k,l,m,n;
char name[50][20];
char sname[20];
float math=0,english=0,languagec=0,total=0;
for(i=0;i<50;i++)
{
for(j=0;j<4;j++)
{
score[i][j]=0;
}
}
printf("please input student's name(if you finish the inputing,please input # .)\nname:");
scanf("%s",sname);//输入学生名字时如果直接输入#,则表示输入完毕,然后自动显示排序结果
i=0;
while(sname[0]!='#')
{
i++;
printf("please input student's score .\nmath:");
scanf("%f",&math);
while(math>100||math<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&math);
}
printf("english:");
scanf("%f",&english);
while(english>100||english<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&english);
}
printf("languagec:");
scanf("%f",&languagec);
while(languagec>100||languagec<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&languagec);
}
total=math+english+languagec;
for(j=0;j<i;j++)
if(total>score[j][3])break;
for(k=i;k>j;k--)
{
for(l=0;l<4;l++)
score[k][l]=score[k-1][l];
for(m=0;m<20;m++)
name[k][m]=name[k-1][m];
}
for(n=0;n<20;n++)name[j][n]=sname[n];
score[j][0]=math;
score[j][1]=english;
score[j][2]=languagec;
score[j][3]=total;
if(i==50)break;
printf("please input student's name(if you finish the inputing,please input # .)\nname:");
scanf("%s",sname);
}
printf("list order by total:\n");
for(n=0;n<i;n++)
{
printf("%s:%3.1f\n",name[n],score[n][3]);
}
}
3、
#include "stdio.h"
int x;
float sum;
long f1(n)
int n;
{if(n==0) return 1;
else return x*f1(n-1);
}
long f2(n)
int n;
{
if(n==0) return 1;
else return n*f2(n-1);
}
int main()
{
int i;
scanf("%d",&x);
for(i=0;i<10;i++)
sum+=(float)f1(i)/(float)f2(i);
printf("%f",sum);
getchar();
getchar();
}
4、
#include<stdio.h>
#include<string.h>
fun(char s[],int num[4])
{ int i,j;
j=strlen(s);
for(i=0;i<j;i++)
{ if(s[i]>'0' &&s[i]<='9')
num[0]++;
else
if(s[i]>='A'&&s[i]<='Z')
num[1]++;
else
if(s[i]>='a'&&s[i]<='z')
num[2]++;
else
if(s[i]==' ')
num[3]++;
}
}
main()
{ char s[100];
int num[4]={0};
printf("Please imput str\n");
gets(s);
fun(s,num);
printf("shuzi:%d daxiezimu:%d xiaoxiezimu:%d kongge:%d",num[0],num[1],num[2],num[3]);
}
1、
#include<stdio.h>
void main()
{
int a , n , i ;
char m ;
printf("请输入一个整数(1~26):"); //输入行数由你确定
scanf("%d", &n);
printf("\n");
for(i=1 ; i<=n ; i++)
{
m='A';
for(a=1;a<=n-i;a++)
printf(" ");
for(a=1 ; a<=2*i-1 ; a++)
{
if (a<i)
{
printf("%c",m);
m++;
}
else if (a==i)
{
printf("%c",m) ;
}
else if (a>i&&i>0)
{
m--;
printf("%c",m);
}
}
printf("\n");
}
}
2、
#include<stdio.h>
main()
{
float score[50][4];
int i,j,k,l,m,n;
char name[50][20];
char sname[20];
float math=0,english=0,languagec=0,total=0;
for(i=0;i<50;i++)
{
for(j=0;j<4;j++)
{
score[i][j]=0;
}
}
printf("please input student's name(if you finish the inputing,please input # .)\nname:");
scanf("%s",sname);//输入学生名字时如果直接输入#,则表示输入完毕,然后自动显示排序结果
i=0;
while(sname[0]!='#')
{
i++;
printf("please input student's score .\nmath:");
scanf("%f",&math);
while(math>100||math<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&math);
}
printf("english:");
scanf("%f",&english);
while(english>100||english<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&english);
}
printf("languagec:");
scanf("%f",&languagec);
while(languagec>100||languagec<0)
{
printf("Out of range. please input again:\nmath:");
scanf("%f",&languagec);
}
total=math+english+languagec;
for(j=0;j<i;j++)
if(total>score[j][3])break;
for(k=i;k>j;k--)
{
for(l=0;l<4;l++)
score[k][l]=score[k-1][l];
for(m=0;m<20;m++)
name[k][m]=name[k-1][m];
}
for(n=0;n<20;n++)name[j][n]=sname[n];
score[j][0]=math;
score[j][1]=english;
score[j][2]=languagec;
score[j][3]=total;
if(i==50)break;
printf("please input student's name(if you finish the inputing,please input # .)\nname:");
scanf("%s",sname);
}
printf("list order by total:\n");
for(n=0;n<i;n++)
{
printf("%s:%3.1f\n",name[n],score[n][3]);
}
}
3、
#include "stdio.h"
int x;
float sum;
long f1(n)
int n;
{if(n==0) return 1;
else return x*f1(n-1);
}
long f2(n)
int n;
{
if(n==0) return 1;
else return n*f2(n-1);
}
int main()
{
int i;
scanf("%d",&x);
for(i=0;i<10;i++)
sum+=(float)f1(i)/(float)f2(i);
printf("%f",sum);
getchar();
getchar();
}
4、
#include<stdio.h>
#include<string.h>
fun(char s[],int num[4])
{ int i,j;
j=strlen(s);
for(i=0;i<j;i++)
{ if(s[i]>'0' &&s[i]<='9')
num[0]++;
else
if(s[i]>='A'&&s[i]<='Z')
num[1]++;
else
if(s[i]>='a'&&s[i]<='z')
num[2]++;
else
if(s[i]==' ')
num[3]++;
}
}
main()
{ char s[100];
int num[4]={0};
printf("Please imput str\n");
gets(s);
fun(s,num);
printf("shuzi:%d daxiezimu:%d xiaoxiezimu:%d kongge:%d",num[0],num[1],num[2],num[3]);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询