精选编程题.docx

上传人:b****4 文档编号:26902055 上传时间:2023-06-23 格式:DOCX 页数:25 大小:50.57KB
下载 相关 举报
精选编程题.docx_第1页
第1页 / 共25页
精选编程题.docx_第2页
第2页 / 共25页
精选编程题.docx_第3页
第3页 / 共25页
精选编程题.docx_第4页
第4页 / 共25页
精选编程题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

精选编程题.docx

《精选编程题.docx》由会员分享,可在线阅读,更多相关《精选编程题.docx(25页珍藏版)》请在冰豆网上搜索。

精选编程题.docx

精选编程题

《高级语言程序设计》实验报告

编写程序,要求输入一个三位整数,正确分离出它的个位、十位和百位数字,并在屏幕上显示出来。

#include

voidmain()

{

inta,b,c,d;

printf("pleaseinputanum(3):

");

scanf("%d",&a);

b=a/100;

c=(a-b*100)/10;

d=a-b*100-c*10;

printf("百位数是:

%d\n十位数是:

%d\n个位数是:

%d\n",b,c,d);

}

计算机完成一项复杂的数学计算需要40000秒,编写程序,将其转换成几小时几分钟几秒钟的表示形式

#include

voidmain()

{

inta=40000,b,c,d;

b=a/3600;

c=(a-b*3600)/60;

d=a-b*3600-c*60;

printf("40000秒可以表示为:

\n");

printf("%d小时%d分钟%d秒\n",b,c,d);

}

编写程序,输入某年某月某日,判断这一天是这一年的第几天?

#include

#include

voidmain()

{

inta,b,c,d,m,flag;

printf("请输入年月日(空格分开)\n");

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

if(b>12||c>31)

{

printf("日期格式错误\n");

exit(0);

}

if(a%4==0)

{

if(a%100==0)

{

if(a%400==0)

flag=1;

else

flag=0;

}

else

flag=1;

}

else

flag=0;

if(flag==1)

{

if(c>29&&b==2)

{

printf("日期格式错误\n");

exit(0);

}

elsed=29;

}

else

if(c>28&&b==2)

{

printf("日期格式错误\n");

exit(0);

}

elsed=28;

if(b==1)

m=b;

elseif(b==2)

m=31+c;

elseif(b==3)

m=31+d+c;

elseif(b==4)

if(c>30)

{

printf("日期格式错误\n");

exit(0);

}

elsem=62+d+c;

elseif(b==5)

m=92+d+c;

elseif(b==6)

if(c>30)

{

printf("日期格式错误\n");

exit(0);

}

elsem=123+d+c;

elseif(b==7)

m=153+d+b;

elseif(b==8)

m=184+d+c;

elseif(b==9)

if(c>30)

{

printf("日期格式错误\n");

exit(0);

}

elsem=215+d+c;

elseif(b==10)

m=245+d+c;

elseif(b==11)

if(c>30)

{

printf("日期格式错误\n");

exit(0);

}

elsem=276+d+c;

elseif(b==12)

m=306+d+c;

printf("这是%d年的第%d天\n",a,m);

}

编程,从键盘输入若干个整数,当输入0时,输入停止。

统计并输出总共输入了几个数,以及所有输入数的和。

(while循环)

#include

voidmain()

{

inta,i=0,s=0;

printf("请输入数字,回车分开,结束敲0加回车\n");

scanf("%d",&a);

while(a!

=0)

{

i++;

s=s+a;

scanf("%d",&a);

}

printf("总共%d个数,这些数的和为%d\n",i,s);

}

利用随机函数rand产生10个整数,输出这10个数,并输出它们中的最大值、最小值和平均值(使用库函数rand及头文件“stdlib.h”完成)

#include

#include

voidmain()

{

inti=1,a,b,c,d,max=-32728,min=32768,s=0;

printf("电脑随机产生的10个数为:

\n");

while(i<=10)

{

a=rand();

i++;

s=s+a;

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

if(a>max)

max=a;

if(a

min=a;

}

printf("最大数为:

%d最小数为:

%d平均数为:

%f\n",max,min,s/10.0);

}

使用二重循环编程,绘制如下图形:

*****A

****B

***C

**D

*E

#include

voidmain()

{

intj,k;

for(j=1;j<=5;j++)

for(k=1;k<=(7-j);k++)

{

if(k!

=7-j)

printf("*");

elseprintf("%c\n",64+j);

}

}

利用循环,在屏幕上输出如下图形。

123456

234561

345612

456123

561234

612345

#include

voidmain()

{

inti,j;

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

{

for(j=1;j<=6;j++)

{

if(j<=7-i)

printf("%d",i+j-1);

else

printf("%d",j+i-7);

}

printf("\n");

}

}

已知a数组中的数据已按升序排序,要求从键盘输入一个数后将其插入a数组中,并使该数组中的数据仍然有序。

#include

voidmain()

{

inta[5]={1,5,6,12},i,t;

printf("原来的四个数为:

");

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

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

printf("\n");

printf("请在输入一个数,程序将会把它插入到数列中,并保持顺序");

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

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

{

if(a[4]

{

t=a[4];

a[4]=a[i];

a[i]=t;

}

}

printf("插入后的数列为:

");

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

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

printf("\n");

}

打印杨辉三角

1

11

121

1331

14641

15101051

#include

voidmain()

{

inta[6][6],i,j;

printf("杨辉三角的前六行为:

\n");

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

a[i][i]=1;

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

a[i][0]=1;

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

for(j=1;j

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

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

{

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

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

printf("\n");

}

}

输入一个4行4列的二维数组,统计偶数的个数,并输出所有小于5的数。

#include

voidmain()

{

inta[4][4],i,j,s=0;

printf("请输入16个数(回车分开),来构成4行4列的矩阵:

\n");

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

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

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

printf("这个矩阵为:

\n");

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

{

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

{

if(a[i][j]%2==0)

s++;

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

}

printf("\n");

}

printf("这个矩阵中,偶数的个数为:

%d\n",s);

printf("小于5的数为:

");

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

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

{

if(a[i][j]<5)

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

}

printf("\n");

}

已知一个二维数组:

{{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}},编程,输出该二维数组的最小元素的行下标与列下标。

#include

voidmain()

{

inta[4][4]={{14,26,18,17},{24,37,21,8},{19,31,22,16},{7,19,14,26}};

inti,j,b,c,min=32768;

printf("定义的数组为:

\n");

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

{

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

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

printf("\n");

}

printf("\n");

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

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

{

if(a[i][j]

{

min=a[i][j];

b=i;

c=j;

}

}

printf("最小的数为:

%d,它在第%d行第%d列\n",min,b+1,c+1);

}

编写程序,要求从键盘输入一字符串,然后将该字符串中的每个字符反向输出。

(提示:

先求出字符串长度,然后从最后一个字符开始往前逐个输出字符)

#include

#include

voidmain()

{

chara[80],i;

printf("请输入一个字符串,程序将反向输出:

\n");

gets(a);

i=strlen(a)-1;

for(;i>=0;i--)

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

printf("\n");

}

输入一字符串,将该字符串中的所有字母a变为字母b,输出新字符串。

#include

#include

voidmain()

{

chara[80],i;

gets(a);

for(i=0;i

{

if(a[i]=='a')

a[i]='b';

}

puts(a);

}

输入两个字符串(串长度需大于5),将第一个字符串的前5个字符与第二个字符串的前5个字符组成一个新的字符串,输出这个新的字符串。

#include

#include

#include

voidmain()

{

chara[80],b[80];

printf("请输入两个字符串(串长度需大于5)\n程序会将第一个字符串的前5个字符与第二个字符串的前5个字符组成一个新的字符串\n");

gets(a);

gets(b);

if(strlen(a)<5||strlen(b)<5)

{

printf("字符串输入不正确!

");

getchar();

exit(0);

}

a[5]='\0';

b[5]='\0';

printf("连接后的字符串为:

\n");

printf("%s\n",strcat(a,b));

}

利用库函数编程:

输入两个字符串s1和s2,将较大的字符串复制到s3中,输出字符串s3。

#include

#include

voidmain()

{

chars1[80],s2[80],s3[80];

printf("请输入两个字符串,程序将输出较大的字符串:

\n");

gets(s1);

gets(s2);

if(strcmp(s1,s2)>0)

strcpy(s3,s1);

else

strcpy(s3,s2);

printf("较大的字符串为:

\n");

puts(s3);

}

编写一个函数求x2-5x+4的值,x作为形参,用主函数调用此函数求:

y1=a2-5a+4

y2=(a+15)2-5(a+15)+4

y3=sin2a-5sina+4

{

floaty;

y=x*x-5*x+4;

return(y);

}

voidmain()

{

floata,y1,y2,y3;

printf("请输入a的值:

\n");

scanf("%f",&a);

y1=hs(a);

y2=hs(a+15);

y3=hs(sin(a));

printf("a*a-5a+4=%f\n",y1);

printf("(a+15)(a+15)-5(a+15)+4=%f\n",y2);

printf("sina*sina-5sina+4=%f\n",y3);

}

编写函数,给定一个字符和一个整数,将该字符输出整数次。

#include

#include

voidsc(chara,intb)

{

inti;

for(i=0;i

printf("%c",a);

printf("\n");

}

voidmain()

{

charc;

intd;

printf("请输入一个字符和一个整数(空格分开),程序将将该字符输出整数次\n");

scanf("%c%d",&c,&d);

sc(c,d);

}

编写函数,输出所有的“水仙花”三位数。

#include

voidsxh()

{

inti,a,b,c;

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

{

a=i/100;

b=(i-a*100)/10;

c=i-a*100-b*10;

if(a*a*a+b*b*b+c*c*c==i)

printf("%5d",i);

}

printf("\n");

}

voidmain()

{

printf("所有水仙花三位数为:

\n");

sxh();

}

编写一个函数,其功能是将字符串中的除第一个字母以外的大写字母改写为小写字母,其他字符不变,如第一个字母不是大写字母则转为大写字母。

#include

#include

voidconvert(chara[],intn)

{

intk;

for(k=1;k

{

if(a[k]>='A'&&a[k]<='Z')

a[k]+=32;

}

if(a[0]>='a'&&a[0]<='z')

a[0]-=32;

}

voidmain()

{

charstr[80],i;

printf("请输入一行字符串\n(程序会将字符串中的除第一个字母以外的大写字母改写为小写字母,其他字符不变)\n(如第一个字母不是大写字母则转为大写字母)\n");

gets(str);

printf("原来的字符串为:

\n");

puts(str);

i=strlen(str);

convert(str,i);

printf("转换后的字符串为:

\n");

puts(str);

}

编写一个函数,其功能是将字符串中的除第一个字母以外的大写字母改写为小写字母,其他字符不变,如第一个字母不是大写字母则转为大写字母。

#include"stdio.h"

#include"string.h"

voidgai(chars[])

{

inti,d;

i=1;

if(s[0]>='a')

s[0]=s[0]-32;

d=strlen(s);

while(i

{

if(s[i]<'Z')

s[i]=s[i]+32;

i++;

}

}

voidmain()

{

chars[100];

printf("请输入一个字符串\n");

gets(s);

gai(s);

puts(s);

}

分别编写函数,

输入二维数组;

对给定二维数组中的每一行按从小到大的顺序排序;

输出二维数组。

#include"stdio.h"

#defineN3

voidru(inta[][3])

{

inti,j;

for(i=0;i

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

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

}

voidchu(inta[][3])

{

inti,j;

for(i=0;i

{

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

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

printf("\n");

}

}

voidxiao(inta[][3])

{

inti,j,s,t;

for(i=0;i

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

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

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

{

t=a[i][j];

a[i][j]=a[i][s];

a[i][s]=t;

}

}

voidmain()

{

inta[N][3];

printf("ÊäÈë3*3µÄÊý×é\n");

ru(a);

xiao(a);

chu(a);

}

在主函数中输入N个人的某门课成绩,分别用函数求:

平均分、最高分和最低分;

分别统计90-100、80-89、70-79、60-69分的人数及59分以下的人数。

结果在主函数中输出。

#include"stdio.h"

voidsmax(inta[10])

{

inti;

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

if(a[0]

a[0]=a[i];

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

}

voidsmin(inta[10])

{

inti;

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

if(a[0]>a[i])

a[0]=a[i];

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

}

voidfen(inta[10])

{

inti,b,c,d,e,f;

b=0;

c=0;

d=0;

e=0;

f=0;

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

{

if(a[i]>=90&&a[i]<=100)

b++;

elseif(a[i]>=80&&a[i]<90)

c++;

elseif(a[i]>=70&&a[i]<80)

d++;

elseif(a[i]>=60&&a[i]<70)

e++;

else

f++;

}

printf("90-100:

%d,80-89:

%d,70-79:

%d,60-69:

%d,0-59:

%d",b,c,d,e,f);

}

voidmain()

{

inta[10],i;

printf("输入10人成绩\n");

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

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

printf("成绩最大值\n");

smax(a);

printf("\n");

printf("成绩最小值\n");

smin(a);

printf("\n");

fen(a);

}

用递归方法编写下面问题的函数(x,n为形参)

#include"stdio.h"

#include"math.h"

doublef(doublex,doublen)

{

doublet;

if(n==1)

t=sqrt(n+x);

else

t=sqrt(n+f(x,n-1));

returnt;

}

voidmain()

{

doublen,x,s;

scanf("%lf%lf",&n,&x);

s=f(x,n);

printf("%lf",s);

}

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

当前位置:首页 > 外语学习 > 其它语言学习

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

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