您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 青岛科技大学c语言考试易错
青岛科技大学C语言考试练习易错题1、从键盘输入一个3位整数,将输出该数的逆序数。(实验指导书P89)#includestdio.hvoidmain(){inta,b,c,x,y;printf(enteranumbers:\n);scanf(%d,&x);a=x/100;b=(x-a*100)/10;c=x%10;y=c*100+b*10+a;printf(%d,%d,x,y);}2、输入三角形三条边的边长,求三角形的面积。(书P55)#includestdio.h#includemath.hvoidmain(){doublea,b,c,p,s;printf(enter3numbers:\n);scanf(%lf%lf%lf,&a,&b,&c);p=(a+b+c)/2;s=sqrt(p*(p-a)*(p-b)*(p-c));printf(%lf,s);}3、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出#includestdio.hvoidmain(){chara,b,c;doubled;printf(enter:\n);scanf(%c%c%c,&a,&b,&c);d=(a+b+c)/3;printf(%lf,d);}4、输入某一年月,输出该月的天数。(实验指导书P105)#includestdio.hvoidmain(){intyear,month,days;printf(entertheyearandmonth:\n);scanf(%d%d,&year,&month);switch(month){case2:if(year%400==0||year%4==0&&year%100!=0)days=29;elsedays=28;break;case1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;}printf(%d,%d\n,year,days);}5、从键盘输入一个字符,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,原样输出。(书P94)#includestdio.hvoidmain(){charx;printf(enterachar:\n);x=getchar();if((x='a')&&(x='z'))x-='a'-'A';elseif((x='A')&&(x='Z'))x+='a'-'A';putchar(x);}6.输入4个整数,要求按由小到大的顺序输出。#includestdio.hvoidmain(){inta,b,c,d,t;printf(enterfournumber:\n);scanf(%d%d%d%d,&a,&b,&c,&d);if(ab){t=a;a=b;b=t;}if(ac){t=a;a=c;c=t;}if(ad){t=a;a=d;d=t;}if(bc){t=b;b=c;c=t;}if(bd){t=b;b=d;d=t;}if(cd){t=c;c=d;d=t;}printf(%d,%d,%d,%d\n,a,b,c,d);}7、求所有的水仙花数。水仙花数是一个3位数的自然数,该数各位数的立方和等于该数本身。(实验指导书P118)#includestdio.hvoidmain(){intx,y,z;intk=100;while(k=999){x=k/100;y=(k/10)%10;z=k%10;if(k==x*x*x+y*y*y+z*z*z)printf(%d\n,k);k++;}8、判断输入的某个数是否为素数。若是,输出YES,否则输出NO。(书P123)#includestdio.h#includemath.hvoidmain(){intx,k;printf(enteranumber:\n);scanf(%d,&x);for(k=2;k=sqrt(x);k++)if(x%k==0)break;if(ksqrt(x))printf(YES\n);elseprintf(NO\n);}9、计算s=1!+2!+……+20!的值并输出。#includestdio.hvoidmain(){floats=0,t=1;intn;for(n=1;n=20;n++){t=n*t;s+=t;}printf(%f\n,s);}10、输入10个整数,统计并输出其中正数、负数和零的个数。.#includestdio.hvoidmain(){inta[10],i,b,c,d;b=0;c=0,d=0;printf(输入10个数:\n);for(i=0;i10;i++)scanf(%d,&a[i]);for(i=0;i10;i++){if(a[i]0)b++;elseif(a[i]0)c++;elsed++;}printf(正数有%d个,负数有%d个,零有%d个\n,b,c,d);11、百马百担问题。(实验指导书P121).#includestdio.hvoidmain(){intm,n,k;intsum=0;printf(各种驮法如下:\n);for(m=1;m=100;m++)for(n=1;n=100-m;n++){k=100-m-n;if(k%2==0&&3*m+2*n+k/2==100){printf(大马%3d匹;中马%3d匹;小马%3d匹\n,m,n,k);sum++;}}printf(共有%d种驮法\n,sum);}12、输出如下图案:*************************#includestdio.hvoidmain(){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);}}13、写一个函数,对输入的10个整数按从小到大的顺序排序(升序,用冒泡排序实现)。(实验指导书P147)#includestdio.hvoidmain(){inta[10];inti,j;intt;printf(请输入十个整数\n);for(i=0;i10;i++)scanf(%d,&a[i]);printf(\n);for(i=0;i10;i++)for(j=0;j10-i;j++)if(a[j]a[j+1]){t=a[j];a[j]=a[j+1];a[j+1]=t;}printf(排序后为\n);for(i=0;i10;i++)printf(%d\n,a[i]);}14、编写程序,判断某一字符串是不是“回文数”,回文数是从左至右或从右至左读起来都是一样的字符串。(实验指导书P153)#includestdio.h#includestring.h#defineN40voidmain(){charstr[N],ch='Y';inti;intlen;printf(Inputastring:\n);scanf(%s,str);len=strlen(str);for(i=0;ilen/2;i++)if(str[i]!=str[len-1-i]){ch='N';break;}if(ch=='Y')printf(%s是一个回文数\n,str);elseprintf(%s不是一个回文数\n,str);}15.、输入一个3行3列矩阵的所有元素,然后求出主对角线元素之和。#includestdio.hvoidmain(){inta[3][3],sum;inti,j;sum=0;for(i=0;i3;i++)for(j=0;j3;j++)scanf(“%d”,&a[i][j]);for(i=0;i3;i++)sum=sum+a[i][i];printf(“sum=%d\n”,sum);}16、输入3个整数,按从小到大的次序输出。(书P234).#includestdio.hvoidswap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}voidmain(){inta1,a2,a3;int*p1,*p2,*p3;printf(pleaseenterthreenumber:);scanf(%d%d%d,&a1,&a2,&a3);p1=&a1;p2=&a2;p3=&a3;if(a1a2)swap(p1,p2);if(a2a3)swap(p2,p3);if(a1a3)swap(p1,p3);printf(%d%d%d,a1,a2,a3);}17.打印九九乘法表#includestdio.hvoidmain(){inti,j;printf(九九乘法表:\n);for(i=1;i=9;i++){for(j=1;j=i;j++)printf(%d*%d=%d,j,i,j*i);printf(\n);}}结构体类型训练#includestdio.h#defineMAX100structstudent{charname[16];intgrade[3],average;};voidmain(){inti,j,num,s;structstudentstu[MAX];printf(enternumberofstuents:\n);scanf(%d,&num);for(i=0;inum;i++){printf(entername);scanf(%s,&stu[i].name);printf(enterthegrades:\n);for(j=0,s=0;j3;j++){scanf(%d,&stu[i].grade[j]);s=s+stu[i].grade[j];}stu[i].average=s/3;}for(i=0;inum;i++)printf(%10s%4d\n,stu[i].name,stu[i].average);}函数的自定义与调用的程序示例#includestdio.hintleap(intyear){intleap;leap=(year%4==0&&year%100==0||year%400==0)?1:0;returnleap;}intmd(intyear,intmonth){intd;switch(month){case1:case3:case5:case7:case8:case10:case12:d=31;break;case2:d=leap(year)?29:28;default:d=30;}returnd;}intdays(intyear,intmonth,intday){inti,ds=0;for(i=1;imonth;i++)ds=ds+md(year,month);ds=ds+day;returnds;}voidmain(){intyear,month,day,td;printf(entertheyear_month_day:\n);scanf(%d-%d-%d,&year,&month,&day);td=days(year,month,day);printf(%d,td);}
本文标题:青岛科技大学c语言考试易错
链接地址:https://www.777doc.com/doc-3706856 .html