您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 计算机专升本编程题及答案1
a1.输出小于500的最大的5个素数。#includestdio.hvoidmain(){inti,n,j;printf(小于500的最大的5个素数:);for(i=500,j=0;i=2,j5;i--){for(n=2;ni;n++){if(i%n==0)break;}if(n==i){j++;printf(%d,n);}}printf(\n);}2.输入10个数,输出最小数和次最小数。#includestdio.hvoidmain(){intx,y,i,a[10];printf(请输入十个数:);for(i=0;i10;i++)scanf(%d,&a[i]);x=y=a[0];for(i=0;i10;i++)if(xa[i]){y=x;x=a[i];}printf(最小值是:%d;次小值是:%d\n,x,y);}3.计算1+(1+2)+(1+2+3)+。。。+(1+2+3+。。。+20)的值#includestdio.hvoidmain(){inti,j,n=0,s=0;for(i=1;i=20;i++){for(j=1;j=i;j++)n+=j;s+=n;n=0;}printf(1+(1+2)+(1+2+3)+。。。+(1+2+3+。。。+20)=%d\n,s);}4.从键盘输入多个字符,分别统计数字字符、字母字符和其他字符的个数#includestdio.hvoidmain(){chars[100];inti,a=0,b=0,c=0;printf(请输入一个字符数小于100的字符串:\n);gets(s);for(i=0;s[i]!='\0';i++){if(s[i]='0'&&s[i]='9')a++;elseif((s[i]='a'&&s[i]='z')||(s[i]='A'&&s[i]='Z'))b++;elsec++;}printf(该字符串中数字字符有%d个,字母字符%d个,其他字符%d个!\n,a,b,c);}5.输出一下图形112123123412345123456#includestdio.hvoidmain(){inti,j;for(i=1;i=6;i++){for(j=1;j=i;j++)printf(%d,j);printf(\n);}}6.从键盘输入一串字符,判断是否为回文。#includestdio.h#includestring.hvoidmain(){chars[80];inti,j;gets(s);i=0;j=strlen(s)-1;while(i=j&&s[i]==s[j]){i++;j--;}if(ij)printf(是回文);elseprintf(不是回文);}7.球1-1000之间能被3整除且各位数字为7的数之和。#includestdio.hvoidmain(){inti;longs=0;for(i=1;i1000l;i++)if(i%3==0&&i%10==7)s+=i;printf(%ld,s);}8.a的平方与b的和为1053,b的平方与a的和为873,求小于40的a和b的值。#includestdio.hvoidmain(){inta,b;for(a=1;a40;a++){b=1053-a*a;if(a+b*b==873){printf(a=%d,b=%d\n,a,b);break;}}9.某书店开展优惠售书活动,收费方法如下:y=)500(7.0)500100(8.0)100(9.0xxxxxx其中:x表示原价,y表示实际收费。试编写程序,要求从键盘输入x,计算输出y。(5分)#includestdio.hvoidmain(){floatx,y;scanf(%f,&x);if(x=100)y=0.9*x;elseif(x=500)y=0.8*x;elsey=0.7*x;printf(%f,y);}10.编程输出100~500之间能被7整除的奇数的个数。(7分)#includestdio.hvoidmain(){inti,n=0;for(i=100;i500;i++)if(i%2==1&&i%7==0)n++;printf(%d,n);}11.有一个3×5的矩阵,试编写程序,要求从键盘上输入数据,求其中数值最大的那个元素,然后输出该元素值及其所在的行号和列号(不考虑数据有相同的情况)。(8分)#includestdio.hvoidmain(){inti,j,m,n,a[3][5],max;for(i=0;i3;i++)for(j=0;j5;j++)scanf(%d,&a[i][j]);max=a[0][0];for(i=0;i3;i++)for(j=0;j5;j++)if(maxa[i][j]){m=i;n=j;}printf(最大数为%d,%d,%d,max,i,j);}12.从键盘输入三个整数x、y、z,输出其中最小的数。(5分)#includestdio.hvoidmain(){inta,b,c,max;scanf(%d,%d,%d,&a,&b,&c);max=a;if(maxb)max=b;if(maxc)max=c;printf(最大数为:%d,max);}13.某班有45名学生参加考试。现要求从键盘输入全班一门课的成绩,输出该课程的平均分、及格人数及其百分比。(8分)#includestdio.hvoidmain(){inti,n=0;floatx,s;for(i=1;i=45;i++){scanf(%f,&x);s+=x;if(x=60)n++;}s=s/45;printf(平均分为:%f,及格人数%d,及格率%.2f%,s,n,45-n/45);}14.数组a中已存放了10个由小到大排列的数。现从键盘输入一个数x,要求删除数组中与其相同的数,并将后续的数依次前移,最后输出剩余的数。(7分)#includestdio.hvoidmain(){inta[n],i,j,x;scanf(%d,&x);j=0;for(i=0;i10;i++)if(a[j]!=a[i]){a[j]=a[i];j++;}for(i=0;ij;i++)printf(%6d,a[i]);}15.假设邮费计费方法为:100克以内(含100克)收费5元,超过100的部分每克加收0.2元。试编写程序,要求从键盘输入邮寄物品质量,计算机出邮费。(5分)#includestdio.hvoidmain(){floatg,f;if(g=100)f=5;elsef=5+0.2*(g-100);printf(%f,f);}16.试使用循环结构编程y=2¹+2²+……210,并输出结果。(7分)#includestdio.h#includemath.hvoidmain(){inty=0,i;for(i=1;i=10;i++)y=y+pow(2,i);printf(y=%d\n,y);}17.设有十位评为给某位选手打分,以去掉一个最高分和一个最低分后的平均分作为该选手的成绩。试编写程序,要求从键盘输入评为的评分并存入到数组中,计算机并输出选手成绩。(8分)#includestdio.hvoidmain(){inti;floatmax,min;floata[10],s=0.0,x;for(i=0;i10;i++){scanf(%f,&a[i]);s=s+a[i];}max=a[0];min=a[0];for(i=0;i10;i++){if(maxa[i])max=a[i];if(mina[i])min=a[i];}x=(s-max-min)/8;printf(该选手的得分为%f\n,x);}18.现有一元二次方程:ax2+bx+c=0,其中a、b、c是整数,且a#0。若存在实根,则输出“在实数范围内有解”;若不存在实根,则输出“在实数范围内无解”。(5分)#includestdio.hvoidfun(inta,intb,intc){inty;y=b*b-4*a*c;if(y=0)printf(在实数范围内有解!\n);elseprintf(在实数范围内无解!\n);}voidmain(){inta,b,c;printf(请输入该函数的一次项系数、二次项系数以及常数项:\n);scanf(%d%d%d,&a,&b,&c);if(a==0)printf(你输入有误!);elsefun(a,b,c);}19.编程求s:1×2+3×4+5×6+……+99×100的值,并输出结果。(7分)#includestdio.hvoidmain(){inti,j,s=0;for(i=1,j=2;i=99,j=100;i+=2,j+=2)s=s+i*j;printf(1×2+3×4+5×6+……+99×100=%d\n,s);}20.编程求一个3×4数据的所有元素的平均值及最大值,并输出结果(设数组的各元素为实数,要求从键盘输入其值)。(8分)#includestdio.hvoidmain(){inta[3][4],s=0;inti,j,max,x;for(i=0;i3;i++)for(j=0;j4;j++){scanf(%d,&a[i][j]);s=s+a[i][j];}x=s/12;max=a[0][0];for(i=0;i3;i++)for(j=0;j4;j++)if(maxa[i][j])max=a[i][j];printf(该数组中的最大值是%d,平均值是%d。\n,max,x);}S和F的关系如下,:6S≤3F=6+(S-3)x1.5S3#includestdio.hvoidmain(){floats,f;if(s=3)f=6;elsef=6+1.5*(s-3);printf(%f,f);}21.根据以下公式计算并输出S的值。(7分)S=1+1/2+1/3+1/4……+1/100#includestdio.hvoidmain(){floats=0;inti;for(i=1;i=100;i++)s+=1.0/i;printf(%f,s);}22.输入一个5×5矩阵,分别求两条对角线元素值之和,并输出结柴。(要求用循环结构实现)(8分)#includestdio.hvoidmain(){inta[5][5],s1=0,s2=0;for(i=0;i5;i++)for(j=0;j5;j++)scanf(%d,&a[i][j]);for(i=0;i5;i++)for(j=0;j5;j++){if(i==j)s1+=a[i][j];elseif(i+j==5)s2+=a[i][j];}printf(%f,%f,s1,s2);}
本文标题:计算机专升本编程题及答案1
链接地址:https://www.777doc.com/doc-6074597 .html