='A'&&c1intmain(){charc;intletters=0,space=0,digit=0,other=0;printf("Pleaseinputletters:\n");while((c=getchar())!='\n'){if(c>='a'&&c"/> ='A'&&c1intmain(){charc;intletters=0,space=0,digit=0,other=0;printf("Pleaseinputletters:\n");while((c=getchar())!='\n'){if(c>='a'&&c"/>
首页 大学c语言上机考试编程题库

大学c语言上机考试编程题库

举报
开通vip

大学c语言上机考试编程题库1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includeintmain(){charc1;printf("inputalatter:\n");scanf("%c",&c1);if(c1>='A'&&c1intmain(){charc;intletters=0,space=0,digit=0,other=0;printf("Pleaseinputletters:\n");while((c=getchar())!='\n'){if(c>='a'&&c...

大学c语言上机考试编程题库
1、输入一个字符,判断它是否是大写字母,如果是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。#includeintmain(){charc1;printf("inputalatter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return0;}2、输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#includeintmain(){charc;intletters=0,space=0,digit=0,other=0;printf("Pleaseinputletters:\n");while((c=getchar())!='\n'){if(c>='a'&&c<='z'||c>='A'&&c<='Z')letters++;elseif(c>='0'&&c<='9')digit++;elseif(c=='')space++;elseother++;}printf("字母数:%d\n数字数:%d\n空格数:%d\n其他字母数:%d\n",letters,digit,space,other);return0;}3、编写一个函数,求数列1+1/2+1/3+1/4+1/5+...1/n,利用主函数调用这个函数并输出结果。#includeintmain(){intn;floatc;floatsum(intn);scanf("%d",&n);c=sum(n);printf("%f\n",c);}floatsum(intn){inti;floatsum=0.0;for(i=1;i<=n;i++)sum=sum+1.0/i;returnsum;}4、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。#includeintmain(){charc1;printf("inputalatter:\n");scanf("%c",&c1);if(c1>='a'&&c1<='z')c1=c1-32;printf("%c",c1);return0;}5、求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。#includeintmain(){inti,a,b,c,n;scanf("%d,%d",&a,&n);c=b=a;for(i=2;i<=n;i++){b=10*b+a;c=b+c;}printf("%d\n",c);return0;}6、将一个二维数组行和列的元素互换,存到另外一个二维数组中。#includeintmain(){inti,j;inta[3][3]={1,2,3,4,5,6,7,8,9},b[3][3];printf("arraya:\n");for(i=0;i<=2;i++){for(j=0;j<=2;j++){printf("%5d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("\n");printf("arrayb:\n");for(i=0;i<=2;i++){for(j=0;j<=2;j++)printf("%5d",b[i][j]);printf("\n");}return0;}7、有三个整数a,b,c,由键盘输入,输出其中最大者。#includeintmain(){inta,b,c,d;intmax(intx,inty,intz);scanf("%d%d%d",&a,&b,&c);d=max(a,b,c);printf("%d\n",d);return0;}intmax(intx,inty,intz){intq,p;if(x>y)q=x;elseq=y;if(z>q)p=z;elsep=q;returnp;}8、将一个数组中的值按逆序重新存放。例如,原来顺序为8,6,4,3,2,0。要求改为0,2,3,4,6,8。#includeintmain(){inta[6]={8,6,4,3,2,0};inti,b[6];printf("arraya:\n");for(i=0;i<6;i++)printf("%5d",a[i]);printf("\n");for(i=0;i<6;i++)b[i]=a[5-i];printf("\n");printf("arrayb:\n");for(i=0;i<6;i++)printf("%5d",b[i]);printf("\n");return0;}9、有分段函数:当x<-5时,y=x+10;当-5≤x≤5时,y=x/2;当x>5时,y=2x-10.编一程序,输入x的值,输出y的值。#includeintmain(){floaty,x;printf("请输入X的值");scanf("%f",&x);if(x<-5){y=x+10;printf("%3f,y=x+10=%f\n",x,y);}elseif(x>=-5&&x<=5){y=x/2;printf("%3f,y=x/2=%f\n",x,y);}else{y=2*x-10;printf("%3f,y=2*x-10=%f\n",x,y);}return0;}10、用pi4≈1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项的绝对值小于10的-6次方为止。#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-8){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return0;}11、输出以下图形****************#includeintmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=2-i;j++)printf("");for(k=0;k<=2*i;k++)printf("*");printf("\n");}//下面的可以不要/*for(i=0;i<=2;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=4-2*i;k++)printf("*");printf("\n");}*/return0;}12、输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#includeintmain(){inta,b,c,t;printf("请输入a,b,c的值\n");scanf("%d,%d,%d",&a,&b,&c);if(aintmain(){intday,x1,x2;day=9;x2=1;while(day>0){x1=(x2+1)*2;x2=x1;day--;}printf("total=%d\n",x1);return0;}14、用冒泡排序法对输入的10个数进行升序排序,并存入数组中。#includeintmain(){inta[10],i,j,t;printf("pleaseinput10numbers:\n");for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=0;j<=9;j++)for(i=1;i<9-j;i++)if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}printf("thesortednumbers:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");return0;}15、输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。#include/*有问题*/#includeintmain(){floata,b,c,s,area;printf("pleaseinputa,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\t%f\n",a,b,c);printf("area=%f\n",area);return0;}16、一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求1000以内所有完数。#defineM1000#includeintmain(){intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a<=M;a++){n=0;s=a;for(i=1;i1)printf("%d,%d",k1,k2);if(n>2)printf(",%d",k3);if(n>3)printf(",%d",k4);if(n>4)printf(",%d",k5);if(n>5)printf(",%d",k6);if(n>6)printf(",%d",k7);if(n>7)printf(",%d",k8);if(n>8)printf(",%d",k9);if(n>9)printf(",%d",k10);printf("\n");}}return0;}17、有三个整数a,b,c,由键盘输入,输出其中最小者。#includeintmain(){inta,b,c,t;printf("请输入a,b,c的值\n");scanf("%d,%d,%d",&a,&b,&c);if(aintmain(){ints=0,i,j,a;for(i=1;a=1,i<=9;i=i+2){for(j=1;j<=i;j++)a=a*j;s=s+a;}printf("%d\n",s);return0;}19、有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。编一程序,输入x的值,输出y的值。#include#includeintmain(){intx;floaty;printf("输入x:");scanf("%d",&x);if(x<-10){y=-x+5;printf("x=%3d,y=|x|+5=%f\n",x,y);}elseif(x<=10){y=4*x-8;printf("x=%d,y=4*x-8=%f\n",x,y);}else{y=sqrt(x);printf("x=%d,y=sqrt(x)=%f\n",x,y);}return0;}20、有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。编一程序,输入x的值,输出y的值。#includeintmain(){intx,y;printf("enterx:");scanf("%d",&x);if(x==0)y=-1;elseif(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);return0;}21、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#includeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d",n);}printf("\n");return0;}22、写一个函数,求两个整数中的较大者,用主函数调用这个函数,并输出结果,两个整数由键盘输入。#includeintmain(){inta,b,c;intmax(intx,inty);printf("请输入a,b的值:\n");scanf("%d,%d",&a,&b);c=max(a,b);printf("%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}23、编程求2!+4!+6!+8!+10!的值,并输出结果。#includeintmain(){ints=0,i,j,a;for(i=2;a=1,i<=10;i=i+2){for(j=1;j<=i;j++)a=a*j;s=s+a;}printf("%d\n",s);return0;}24、编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include#definepi3.1415926intmain(){floatr,h,c,s,bm,v,zt;printf("请输入圆半径r,圆柱高h:\n");scanf("%f,%f",&r,&h);c=2*pi*r;s=r*r*pi;bm=4*pi*r*r;v=3.0/4.0*pi*r*r*r;zt=pi*r*r*h;printf("圆周长为:c=%f\n圆面积为:s=%f\n圆球表面积为:bm=%f\n圆球体积为:v=%f\n圆柱体积为:zt=%f\n",c,s,bm,v,zt);return0;}25、编程求1~100之间的所有素数,并输出结果。#include#includeintmain(){intn,k,i,m=0;for(n=1;n<=100;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return0;}26、求一个3×3的整型矩阵对角线元素之和。#includeintmain(){inta[3][3],sum=0;inti,j;printf("enterdata:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%3d",&a[i][j]);for(i=0;i<3;i++){for(j=0;j<3;j++)printf("%5d",a[i][j]);printf("\n");}for(i=0;i<3;i++)sum=sum+a[i][i];printf("sum=%6d\n",sum);return0;}27、将一个二维数组行和列的元素互换,存到另外一个二维数组中。#includeintmain(){inta[2][2],b[2][2],i,j;printf("enterdata:\n");for(i=0;i<2;i++)for(j=0;j<2;j++)scanf("%d",&a[i][j]);printf("\n");printf("arraya:\n");for(i=0;i<2;i++){for(j=0;j<2;j++){printf("%3d",a[i][j]);b[j][i]=a[i][j];}printf("\n");}printf("arrayb:\n");for(i=0;i<2;i++){for(j=0;j<2;j++)printf("%3d",b[i][j]);printf("\n");}printf("\n");return0;}28、编程求1!+2!+3!+…+10!的值,并输出结果。#includeintmain(){intsum=0,i,j,a;for(i=1;i<=10;i++){for(j=1,a=1;j<=i;j++)a=a*j;sum=sum+a;}printf("%d\n",sum);return0;}29、编写两个函数分别求两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结果,两个整数由键盘输入。#includeintmain(){inthcf(int,int);intlcd(int,int,int);intu,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d\n",l);return0;}inthcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}intlcd(intu,intv,inth){return(u*v/h);}30、输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)。#includeintmain(){floatf,c;printf("请输入一个华氏温度:");scanf("%f",&f);c=(5.0/9.0)*(f-32);printf("对应的摄氏温度为:");printf("%6.2f\n",c);return0;}31、编写程序,将两个字符串连接起来,不要使用strcat函数。#includevoidmain(){charstr1[20],str2[20];inti=0,j=0;printf("请输入字符串1:\n");scanf("%s",str1);printf("请输入字符串2:\n");scanf("%s",str2);while(str1[i]!='\0')i++;while(str2[j]!='\0')str1[i++]=str2[j++];str1[i]='\0';printf("合并之后的字符串为:%s\n",str1);}32、有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13......,求出这个数列前20项之和。#includeintmain(){inti,n=20;doublea=2,b=1,s=0,t;for(i=1;i<=n;i++){s=s+a/b;t=a;a=a+b;b=t;}printf("sum=%16.10f\n",s);return0;}33、输出以下图形****************#includeintmain(){inti,j,k;for(i=0;i<=3;i++){for(j=0;j<=i;j++)printf("");for(k=0;k<=6-2*i;k++)printf("*");printf("\n");}return0;}34、有一个3乘4的矩阵,要求编程序求出其中值最大的那个元素的值,以及其所在的行号和列号。#includeintmain(){inta[3][4]={12,23,56,89,78,85,94,63,41,75,86,52},i,j,max;max=a[0][0];i=0;j=0;for(i=0;i<3;i++){for(j=0;j<4;j++){if(maxintmain(){longintf1,f2;inti;f1=1;f2=1;for(i=1;i<=20;i++){printf("%12d%12d",f1,f2);if(i%2==0)printf("\n");f1=f1+f2;f2=f2+f1;}return0;}36、编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。#includeintmain(){intn,leap;scanf("%d",&n);if(n%4==0){if(n%100==0){if(n%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%dis",n);elseprintf("%disnot",n);printf("aleapyear.\n");}37、一个球从100m高度自由落下,每次落地后又反跳回原高度的一半,再落下,再反弹。求它在第10次落地时共经过多少米?#includeintmain(){floatsn=100,hn=sn/2;intn;for(n=2;n<=10;n++){hn=hn/2;sn=sn+2*hn;}printf("%f\n",sn);return0;}38、输出“魔方矩阵”。所谓魔方阵是指这样的矩阵,它的每一行、每一列和对角线之和均相等。例如,三界魔方阵为816357492要求输出1---n*n的自然数构成的魔方阵。#includeintmain(){inta[15][15],i,j,k,p,n;p=1;while(p==1){printf("entern(n=1--15):");scanf("%d",&n);if((n!=0)&&(n<=15)&&(n%2!=0))p=0;}for(i=1;i<=n;i++)for(j=1;j<=n;j++)a[i][j]=0;j=n/2+1;a[1][j]=1;for(k=2;k<=n*n;k++){i=i-1;j=j+1;if((i<1)&&(j>n)){i=i+2;j=j-1;}else{if(i<1)i=n;if(j>n)j=1;}if(a[i][j]==0)a[i][j]=k;else{i=i+2;j=j-1;a[i][j]=k;}}for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("%5d",a[i][j]);printf("\n");}return0;}39、编程求100~200之间的所有素数,并输出结果。#include#includeintmain(){intn,k,i,m=0;for(n=101;n<=200;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return0;}40、编写一个程序,将字符数组a中的全部字符复制到字符数组b中。不要使用strcpy函数。#include#includevoidmain(){chara[40],b[40];inti;printf("请输入a:");scanf("%s",a);for(i=0;i<=strlen(a);i++)b[i]=a[i];printf("b:%s\n",b);}41、从键盘输入一行字符,统计出输入的字符个数(注:不要使用strlun函数编程)。#includevoidmain(){intalphabet=0,i=0;charstr[100];printf("请输入一个字符串\n");gets(str);for(i=0;str[i]!='\0';i++)++alphabet;printf("有%d个字母\n",alphabet);}42、输入学生的成绩,利用计算机将学生的成绩划分出等级并输出:#includevoidmain(){floatm;printf("输入学生成绩:\n");scanf("%f",&m);if((m>100)||(m<0))printf("数据有误\n");elseif(m>=90)printf("A级\n");elseif(m>=80)printf("B级\n");elseif(m>=70)printf("C级\n");elseif(m>=60)printf("D级\n");elseprintf("E级\n");}43、给出年、月、日,计算该日是该年的第几天。#includeintmain(){intsum_day(intmonth,intday);intleap(intyear);intyear,month,day,days;printf("inputdate(year,month,day):");scanf("%d,%d,%d",&year,&month,&day);printf("%d/%d/%d",year,month,day);days=sum_day(month,day);/*调用函数sum_day*/if(leap(year)&&month>=3)/*调用函数leap*/days=days+1;printf("isthe%dthdayinthisyear.\n",days);return0;}intsum_day(intmonth,intday)/*函数sum_day:计算日期*/{intday_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};inti;for(i=1;iintmain(){chara[5]={'*','*','*','*','*'};inti,j,k;charspace='';for(i=0;i<4;i++)//这里的4为行数{printf("\n");printf("");for(j=1;j<=i;j++)printf("%c",space);for(k=0;k<5;k++)printf("%c",a[k]);}printf("\n");return0;}45、输出以下杨辉三角形(要求输出10行)。11112113311464115101051#include#defineN10intmain(){inti,j,a[N][N];for(i=0;i0时,y=1。编一程序,输入x的值,输出y的值。#includeintmain(){intx,y;printf("enterx:");scanf("%d",&x);if(x==0)y=-1;elseif(x!=0)if(x>0)y=1;elsey=0;printf("x=%d,y=%d\n",x,y);return0;}47、输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#includeintmain(){inta,b,c,t;printf("请输入a,b,c的值\n");scanf("%d,%d,%d",&a,&b,&c);if(aintmain(){inta,b,c,d;intmax(intx,inty,intz);scanf("%d%d%d",&a,&b,&c);d=max(a,b,c);printf("%d\n",d);return0;}intmax(intx,inty,intz){intq,p;if(x>y)q=x;elseq=y;if(z>q)p=z;elsep=q;returnp;}49、编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。#include#definepi3.1415926intmain(){floatr,h,c,s,bm,v,zt;printf("请输入圆半径r,圆柱高h:\n");scanf("%f,%f",&r,&h);c=2*pi*r;s=r*r*pi;bm=4*pi*r*r;v=3.0/4.0*pi*r*r*r;zt=pi*r*r*h;printf("圆周长为:c=%f\n圆面积为:s=%f\n圆球表面积为:bm=%f\n圆球体积为:v=%f\n圆柱体积为:zt=%f\n",c,s,bm,v,zt);return0;}50、有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。编一程序,输入x的值,输出y的值。#include#includeintmain(){intx;floaty;printf("输入x:");scanf("%d",&x);if(x<-10){y=-x+5;printf("x=%3d,y=|x|+5=%f\n",x,y);}elseif(x<=10){y=4*x-8;printf("x=%d,y=4*x-8=%f\n",x,y);}else{y=sqrt(x);printf("x=%d,y=sqrt(x)=%f\n",x,y);}return0;}51、编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。#includeintmain(){intn,leap;scanf("%d",&n);if(n%4==0){if(n%100==0){if(n%400==0)leap=1;elseleap=0;}elseleap=1;}elseleap=0;if(leap)printf("%dis",n);elseprintf("%disnot",n);printf("aleapyear.\n");}52、输入一个华氏温度,要求输出摄氏温度,输出时要求有文字说明,取小数点后两位数字。公式为c=5/9(f-32)。#includeintmain(){floatf,c;printf("请输入一个华氏温度:");scanf("%f",&f);c=(5.0/9.0)*(f-32);printf("对应的摄氏温度为:");printf("%6.2f\n",c);return0;}53、输入一个字符,判断它是否是小写字母,如果是,将它转换成大写字母;如果不是,不转换。然后输出最后得到的字符。#includeintmain(){charc1;printf("inputalatter:\n");scanf("%c",&c1);if(c1>='a'&&c1<='z')c1=c1-32;printf("%c",c1);return0;}54、有三个整数a,b,c,由键盘输入,输出其中最小者。#includeintmain(){inta,b,c,t;printf("请输入a,b,c的值\n");scanf("%d,%d,%d",&a,&b,&c);if(aintmain(){charc1;printf("inputalatter:\n");scanf("%c",&c1);if(c1>='A'&&c1<='Z')c1=c1+32;printf("%c",c1);return0;}56、输入三角形的三边长,求三角形面积。求三角形面积的公式为area=sqrt(s(s-a)(s-b)(s-c)),其中s=(a+b+c)/2。#include/*有问题*/#includeintmain(){floata,b,c,s,area;printf("pleaseinputa,b,c:\n");scanf("%f,%f,%f",&a,&b,&c);s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\tb=%f\t%f\n",a,b,c);printf("area=%f\n",area);return0;}57、输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。#includeintmain(){inti,j,k,n;printf("parcissusnumbersare");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%d",n);}printf("\n");return0;}58、编程求1~100之间的所有素数,并输出结果。#include#includeintmain(){intn,k,i,m=0;for(n=1;n<=100;n=n+2){k=sqrt(n);for(i=2;i<=k;i++)if(n%i==0)break;if(i>=k+1){printf("%d",n);m=m+1;}if(m%10==0)printf("\n");}printf("\n");return0;}59、用pi4≈1-1/3+1/5-1/7+...公式求pi的近似值,直到某一项的绝对值小于10的-6次方为止。#include#includeintmain(){intsign=1,count=0;doublepi=0.0,n=1.0,term=1.0;while(fabs(term)>=1e-8){pi=pi+term;n=n+2;sign=-sign;term=sign/n;}pi=pi*4;printf("pi=%10.8f\n",pi);return0;}60、一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1、2、3,而6=1+2+3,因此6是完数。编程求1000以内所有完数。#defineM1000#includeintmain(){intk1,k2,k3,k4,k5,k6,k7,k8,k9,k10;inti,a,n,s;for(a=2;a<=M;a++){n=0;s=a;for(i=1;i1)printf("%d,%d",k1,k2);if(n>2)printf(",%d",k3);if(n>3)printf(",%d",k4);if(n>4)printf(",%d",k5);if(n>5)printf(",%d",k6);if(n>6)printf(",%d",k7);if(n>7)printf(",%d",k8);if(n>8)printf(",%d",k9);if(n>9)printf(",%d",k10);printf("\n");}}return0;}61、求S=a+aa+aaa+...+aa...a(n个a)之值。其中a是一个数字,n代表a的位数。例如:2+22+222+2222+22222(此时n为5),n由键盘输入。#includeintmain(){inti,a,b,c,n;scanf("%d,%d",&a,&n);c=b=a;for(i=2;i<=n;i++){b=10*b+a;c=b+c;}printf("%d\n",c);return0;}62、编写两个函数分别求两个整数的最大公约数和最小公倍数,在主函数中调用这两个函数,并输出结果,两个整数由键盘输入。#includeintmain(){inthcf(int,int);intlcd(int,int,int);intu,v,h,l;scanf("%d,%d",&u,&v);h=hcf(u,v);printf("H.C.F=%d\n",h);l=lcd(u,v,h);printf("L.C.D=%d\n",l);return0;}inthcf(intu,intv){intt,r;if(v>u){t=u;u=v;v=t;}while((r=u%v)!=0){u=v;v=r;}return(v);}intlcd(intu,intv,inth){return(u*v/h);}63、设圆半径r=1.5,圆柱高h=3,求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。用scsnf输入数据,输出计算结果,输出时要有文字说明,取小数点后2位数字。请编程序。#includeIntmain(){floath,r,l,s,sq,vq,vz;Floatpi=3.141526;Prntf("请输入圆半径r,圆柱高h:");Scanf("%f,%f,&r,&h");l=2*pi*r;Sq=4*pi*r*r;Vq=3.0/4.0*pi*r*r*r;Vz=pi*r*r*h;Printf("圆周长为:l=%6.2f\n",l);Printf("圆面积为:s=%6.2f\n",s);Printf("圆球表面积为:sq=%6.2f\n",sq);Printf("圆球体积为:v=%6.2f\n",v);Printf("圆球体积为:vz=%6.2f\n",vz);Return0;}64、求一个3x3的整形矩阵对角线元素之和。#includeintmain(){inta[3][3],sum=0;Inti,j;printf("enterdata:\n");for(i=0;i<0;j++)for(j=0;j<0;i++)scanf("%3d",&a[i][j];for(i=0;i<3;i++)sum=sum+a[i][i];pintf("sum=%6d\n",sum);Return0;}65、用筛法求100之内的素数。main(){inti,j,a[100];for(i=2;i<100;i++){a[i]=i;for(j=2;j<=i;j++){if(j=k+1)printf("%5d",a[i]);}printf("\n");}66、用选择法对10个整数从小到大排序。main(){inti,j,a[10],t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(j=1;j<10;j++)for(i=0;i<=9-j;i++)if(a[i]>a[i+1]){t=a[i+1];a[i+1]=a[i];a[i]=t;}for(i=0;i<10;i++)printf("%5d",a[i]);}或main(){staticinta[10],i,j,k,t;for(i=1;i<11;i++)scanf("%d",&a[i]);for(j=1;j<10;j++)for(i=1;i<=10-j;j++)if(a[i]>a[i+1]){t=a[i+1];a[i+1]=a[i];a[i]=t;}for(i=1;i<11;i++)printf("%d",a[i]);printf("\n");}67、已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。main(){staticinta[10]={1,7,8,17,23,24,59,62,101};inti,j,t;scanf("%d",&a[9]);for(i=9;i>0;i--)if(a[i]-1;i--)printf("%5d",b[i]);printf("\n");}69、找出一个二位数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小,也可能没有鞍点。main(){inta[5][5],b[5],c[5],d[5][5],k=0,l=0;inti,j;for(i=0;i<5;i++)for(j=0;j<5;j++)scanf("%d",&d[i][j]);for(i=0;i<5;i++)for(j=0;j<5;j++,a[i][j]=d[i][j]);for(i=0,k=0;i<5;i++,k++)for(j=0;j<4;j++){if(a[i][j]>=a[i][j+1])b[k]=a[i][j+1]=a[i][j];elseb[k]=a[i][j+1];}for(j=0,l=0;j<5;j++,l++)for(i=0;i<4;i++){if(a[i][j]<=a[i+1][j])c[l]=a[i+1][j]=a[i][j];elsec[l]=a[i+1][j];}for(i=0,k=0;i<5;i++,k++)for(j=0,l=0;j<5;j++,l++)if(d[i][j]-b[k]==0){if(d[i][j]-c[l]==0)printf("d[%d][%d]=%d\n",i,j,d[i][j]);elseprintf("d[%d][%d]=%disnotandi\n",i,j,d[i][j]);}}70、有个15数按由小到大顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数组中第几个元素的值。如果该数不在数组中,则打印出"无此数"#include"math.h"main(){staticinti,j,m,a[15]={1,4,9,13,21,34,55,89,144,233,377,570,671,703,812};scanf("%d",&m);for(j=0;j<15;j++)printf("%4d",a[j]);printf("\n");i=7;while(fabs(i-7)<8){if(ma[7]){if(a[i]-m==0){printf("itisat(%d)\n",i+1);break;}i++;}elseprintf("8\n");}if(fabs(i-7)-8==0)printf("Thereisnot\n");}71、有一篇文章,共有3行文字,每行有个80字符。要求分别统计出其中英文大写字母、小写字母、空格以及其它字符的个数。main(){inti,j=0,k=0,l=0,m=0,n=0;charstr0[301],str1[100],str2[100],str3[100];gets(str1);gets(str2);gets(str3);strcat(str0,str1);strcat(str0,str2);strcat(str0,str3);for(i=0;str0[i]!=’\0’;i++){if(str0[i]>=65&&str0[i]<=90)j++;elseif(str0[i]>=97&&str0[i]<=122)k++;elseif(str0[i]>=48&&str0[i]<=57)l++;elseif(str0[i]==32)m++;elsen++;}printf("DaxieXiaoxi
本文档为【大学c语言上机考试编程题库】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_179289
暂无简介~
格式:pdf
大小:794KB
软件:PDF阅读器
页数:47
分类:
上传时间:2020-05-18
浏览量:1