高程总结版.docx

上传人:b****6 文档编号:7133090 上传时间:2023-01-21 格式:DOCX 页数:36 大小:25.47KB
下载 相关 举报
高程总结版.docx_第1页
第1页 / 共36页
高程总结版.docx_第2页
第2页 / 共36页
高程总结版.docx_第3页
第3页 / 共36页
高程总结版.docx_第4页
第4页 / 共36页
高程总结版.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

高程总结版.docx

《高程总结版.docx》由会员分享,可在线阅读,更多相关《高程总结版.docx(36页珍藏版)》请在冰豆网上搜索。

高程总结版.docx

高程总结版

“高级语言程序设计”编程题

1.从键盘输入3个整数,求其中的最大数和最小数,并输出结果。

#include"stdio.h"

voidmain()

{

intx,y,z,max,min;

printf("Pleaseinputthreeintegernumber:

");

scanf("%d%d%d",&x,&y,&z);

min=max=x;

if(x==y&&y==z)

printf("x=y=z,max=min=%d\n",max);

else

{

if(y>max)

max=y;

if(z>max)

max=z;

if(y

min=y;

if(z

min=z;

printf("max=%d,min=%d\n",max,min);

}

}

 

2.从键盘上输入一个3*3的整数矩阵,求其各行的平均值并输出,输出时保留两位小数。

#include

voidmain()

{

inta[3][3],b[3]={0};

inti,j;

printf("请输入一个三行三列的整数矩阵:

\n");

for(i=0;i<3;i++)

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

for(i=0;i<3;i++)

for(j=0;j<3;j++)

b[i]=b[i]+a[i][j];

for(i=0;i<3;i++)

printf("该矩阵第%d行元素的平均值是:

%.2f\n",i+1,b[i]/3.0);

}

 

3.输出x2的值,x取值从0到10。

#include"stdio.h"

voidmain()

{

intx;

for(x=0;x<=10;x++)

printf("square(%d)=%d\n",x,x*x);

}

4.从键盘上输入一个3*4的整数矩阵,要求输出其最大元素的值,以及它的行号和列号。

#include"stdio.h"

voidmain()

{

inta[3][4],max,i,j,row,colum;

printf("请输入3*4的整数矩阵:

\n");

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

max=a[0][0];

row=0;

colum=0;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(a[i][j]>max)

{

max=a[i][j];

row=i;

colum=j;

}

printf("max=%d,row=%d,colum=%d\n",max,row,colum);

}

 

5.编写一个程序从键盘输入10个数,要求输出其中最小的。

#include

main()

{

inta[10];/*定义数组a有10个元素,使用0~9*/

inti,min;

for(i=0;i<=9;i++)/*键盘输入10个数据*/

scanf("%d",&a[i]);

printf("Theoldnumbersare:

\n");

for(i=0;i<=9;i++)/*屏幕输出输入的数据*/

printf("%5d",a[i]);

min=a[0];

for(i=1;i<=9;i++)/*相邻元素进行比较,如果前面比后面的大则进行交换*/

if(min>a[i])min=a[i];

printf("\nTheminimumnumberis:

%d\n",min);//屏幕输出最小的数据

return0;

}

 

6.编写一个函数根据以下公式计算s,计算结果作为函数值返回;n通过形参传入。

s=

#include

doublef1(intn);

 

voidmain()

{

intn=1;

printf("Inputthevalueofn\n");

scanf("%d",&n);

printf("%lf",f1(n));

}

doublef1(intn)

{inti;

doubleterm,s=0;

 

for(i=1;i<=n;i++)

{term=1.0/(2*i-1);

s+=term;}

return(s);

}

7.输出1000年(包括1000年)到1999年之间的所有闰年,要求每三个一行,分行输出。

#include

voidmain()

{

inti=0;

intyear,leap;

for(year=1000;year<2000;year++)

{

if(year%4==0)

if(year%100==0)

if(year%400==0)

leap=1;

else

leap=0;

else

leap=1;

else

leap=0;

if(leap)

{i++;

printf("%d\t",year);

if(i%3==0)printf("\n");

}

}

}

8.编写程序打印所有的“水仙花数”。

“水仙花数”指一个三位数,其各位数字立方和等于该数本身,例如153是一个“水仙花数”,因为153=1×1×1+3×3×3+5×5×5。

#include

voidmain()

{

inti,j,k,n;

printf("resultis:

");

for(n=100;n<1000;n++)

{

i=n/100;

j=(n-i*100)/10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

}

9.编写一个程序,输入一个3位数的正整数,然后反向输出对应的数。

如:

123,则输出321。

参考答案:

#include

voidmain(){

inti,s=0,j;

scanf("%d",&i);

if(i>=100&&i<=999){

j=i%10;

s=s+j;

j=(i-j)/10%10;

s=s*10+j;

j=i/100;

s=s*10+j;

printf("theinversenumberis%d",s);

}

else

printf("inputerroe!

");

}

10.从键盘输入10名学生的C语言成绩存入一维数组内,编写程序计算10名学生的最高分、平均分和及格人数。

参考答案:

#include

voidmain(){

inti,score[10],max,min;

floatave;

for(i=0;i<10;i++)

scanf("%d",&score[i]);

max=score[0];

min=score[0];

ave=score[0];

for(i=1;i<10;i++){

if(score[i]>max)

max=score[i];

if(score[i]

min=score[i];

ave=ave+score[i];

}

ave=ave/10.0;

printf("max=%d,min=%d,ave=%f",max,min,ave);

}

11.编写一个程序,判断用户输入的字符是否是数字,若是数字,则输出“anumericalcharacter”,

否则输出“othercharacter”。

参考答案:

#include

voidmain(){

charch;

ch=getchar();

if(ch>='0'&&ch<='9')

printf("anumericalcharacter");

else

printf("othercharacter");

}

12.从键盘输入12个数存入二维数组a[3][4]中,编写程序求出最大元素的值及它所在的行号和列号。

参考答案:

#include

voidmain(){

inti,j,a[3][4],max,index_i,index_j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

scanf("%d",&a[i][j]);

max=a[0][0];

index_i=0;

index_j=0;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(a[i][j]>max){

max=a[i][j];

index_i=i;

index_j=j;

}

printf("max=%d,index_x=%d,index_y=%d",max,index_i,index_j);

}

13.打印所有的“水仙花数”,所谓“水仙花数”是指一个三位正整数,其各位数字的立方和等于该数本身。

参考答案:

#include

voidmain()

{

inti,j,k,n;

printf("resultis:

");

for(n=100;n<1000;n++)

{

i=n/100;

j=(n-i*100)/10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d",n);

}

printf("\n");

}

14.利用函数将给定的3×3二维数组转置。

参考答案:

#include"stdio.h"

voidconvert(intarray[3][3])

{

inti,j,k;

for(i=0;i<3;i++)

for(j=i+1;j<3;j++)

{

k=array[i][j];

array[i][j]=array[j][i];

array[j][i]=k;

}

}

voidmain()

{

inti,j;

inta[3][3]={1,2,3,4,5,6,7,8,9};

printf("转换前:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("\t%d",a[i][j]);

printf("\n");

}

convert(a);

printf("\n转换后:

\n");

for(i=0;i<3;i++)

{

for(j=0;j<3;j++)

printf("\t%d",a[i][j]);

printf("\n");

}

}

15.编程输入a、b、c的值后,输出一元二次方程ax2+bx+c=0的解。

参考答案:

#include

#include

voidmain()

{

floata,b,c,d,x1,x2;

printf("inputa,b,c:

");

scanf("%f%f%f",&a,&b,&c);

d=sqrt(b*b-4*a*c);

x1=(-b+d)/(2*a);

x2=(-b-d)/(2*a);

printf("x1=%.2fx2=%.2f\n",x1,x2);

}

16.从键盘上输入任意两个数和一个运算符(+、-、*、/),根据输入的运算符对两个数计算,并输出结果。

参考答案:

#include

voidmain()

{

floata,b;

inttag=0;

charch;

floatresult;

printf("inputtwonumber:

");

scanf("%f%f",&a,&b);

fflush(stdin);

printf("inputarithmeticlable(+-*/):

");

scanf("%c",&ch);

switch(ch)

{

case'+':

result=a+b;break;

case'-':

result=a-b;break;

case'*':

result=a*b;break;

case'/':

if(!

b)

{

printf("divisoriszero!

\n");

tag=1;

}

else

result=a/b;

break;

default:

printf("illegalarithmeticlable\n");

tag=1;

}

if(!

tag)

printf("%.2f%c%.2f=%.2f\n",a,ch,b,result);

}

17.编写输入一个字符串,计算其中空格的个数。

#include

#include

intmain()

{

charch[80];

inti,n,s=0;

printf("请输入一串字符串:

\n");

gets(ch);

n=strlen(ch);

for(i=0;i

if(ch[i]==32)

s=s+1;

printf("%d\n",s);

}

18.采用二维数组输入多个学生五门课的成绩,分别求出每个学生的平均成绩和每门课的成绩。

#include

#definemax100

floatstudent[max][5];

floatsum[max];

floatkemu[max];

intmain(){

intn;//学生人数

inti,j;

scanf("%d",&n);

for(i=0;i

sum[i]=0;

for(j=0;j<5;j++){

scanf("%f",&student[i][j]);

sum[i]=sum[i]+student[i][j];//计算每个同学的平均成绩

}

sum[i]=sum[i]/5;

}

//计算每门课的平均成绩

for(i=0;i<5;i++){

kemu[i]=0;

for(j=0;j

kemu[i]=kemu[i]+student[j][i];

kemu[i]=kemu[i]/n;

}

printf("每个同学的平均成绩为:

");

for(i=0;i

printf("%lf",sum[i]);

printf("\n各科的平均成绩为:

");

for(i=0;i<5;i++)

printf("%lf",kemu[i]);

printf("\n");

return0;

}

 

19.编写程序,逆转字符串。

#include

#include

usingnamespacestd;

voidmain()

{

stringstr[5];

cout<<"请分别输入5个字符串:

"<

cout<<"1:

";

cin>>str[0];

cout<

";

cin>>str[1];

cout<

";

cin>>str[2];

cout<

";

cin>>str[3];

cout<

";

cin>>str[4];

cout<

"<

cout<

cout<<"逆转后的顺序为:

"<

cout<

}

20.编写程序,统计一个英语文本中的英语单词个数。

#include

#include

#defineBUFLEN1024

usingnamespacestd;

boolisWord(char);

intmain()

{

charline[BUFLEN];

stringstr;

intword=0,begin=0;

cin.getline(line,BUFLEN);

str=line;

for(inti=0;i

{

if(str[i]=='')

{

if(isWord(str[begin]))

++word;

begin=i+1;

}

}

while(str[begin]=='')

++begin;

if(isWord(str[begin]))

++word;

cout<<"句子中包含的单词个数:

"<

return0;

}

boolisWord(charch)

{

return((ch>='A'&&ch<='Z')||(ch>='a'&&ch<='z'));

}

21.打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

例如:

153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。

参考答案:

#include“stdio.h”

voidmain()

{

inti,j,k,n;

for(i=1;i<=9;i++)

for(j=0;j<=9;j++)

for(k=0;k<=9;k++)

if(i*i*i+j*j*j+k*k*k==i*100+j*10+k)

{

n=i*100+j*10+k;

printf("n=%d\n",n);

}

}

22.有一分数序列:

2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

参考答案:

#include"stdio.h"

main()

{

intn,t,number=20;

floata=2,b=1,s=0;

for(n=1;n<=number;n++)

{

s=s+a/b;

t=a;a=a+b;b=t;

}

printf("sumis%9.6f\n",s);

}

23.找出101~200中所有的素数。

参考答案:

#include

#include

intisprimer(intn)

{

inti,m;

m=(int)(sqrt(n));

for(i=2;i<=m;i++)

{

if(n%i==0)

return0;

}

return1;

}

voidmain()

{

inti;

for(i=101;i<=200;i++)

if(isprimer(i))

printf("%d\n",i);

}

 

24.使用循环结构编写程序,打印出如下图案

*

***

*****

参考答案:

#include“stdio.h”

voidmain()

{

inti,j,k;

for(i=1;i<=3;i++)

{

for(j=1;j<=3-i;j++)

printf("");

for(k=1;k<=2*i-1;k++)

printf("*");

printf("\n");

}

}

 

25.用冒泡排序法将10个整数由大到小排序。

参考答案:

#include

voidmain()

{inta[10],i,j,t;

printf("input%dnumbers:

\n",10);

for(i=0;i<10;i++)

scanf("%d",&a[i]);

for(i=0;i<9;i++)

for(j=0;j<9-i;j++)

if(a[j]

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

printf("thesortednumbers:

\n");

for(i=0;i<10;i++)

printf("%d",a[i]);

}

 

26.输入任意正整数,编程判断该数是否为回文数(回文数是指从左到右读与从右到左读一样,如12321)。

参考答案:

#include

voidmain()

{intn,m=0,s,r;

printf("Inputdatais:

");

scanf("%d",&n);

s=n;

while(s!

=0)

{r=s%10;

m=10*m+r;

s=s/10;

}

if(m==n)

printf("yes\n");

else

printf("no\n");

}

27.求出10至1000之内能同时被2、3、7整除的数,并输出。

#include

main()

{

inti;

for(i=10;i<1000;i++)

if(i%2==0&&i%3==0&&i%7==0)

printf(“%d,”i);

}

28.输入一字符串,检查是否回文(回文

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 简历

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1