计算机软件实习报告.docx
- 文档编号:5158936
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:9
- 大小:18.27KB
计算机软件实习报告.docx
《计算机软件实习报告.docx》由会员分享,可在线阅读,更多相关《计算机软件实习报告.docx(9页珍藏版)》请在冰豆网上搜索。
计算机软件实习报告
计算机软件实习报告
姓名:
王煜;学号:
N
1.编写一个程序,如果输入小写字母则输出大写字母,如果输入大写字母则输出小写字母。
算法:
输入1个字母,范围在“a”到“z”之间,其ASCII码减去32得到大写,如果范围在“A”到“Z”之间,其ASCII码加上32得到小写,最后再输出,得到所求字母。
程序代码
#include
voidmain()
{
charc;
printf("pleaseinputacharacter:
\n");
scanf("%c",&c);
if(c>='a'&&c<='z')
{c=c-32;
printf("%c",c);
}
else
{c=c+32;
printf("%c",c);
}
}
运行结果
输入a,得到A;输入z,得到Z;
输入A,得到a;输入Z,得到z;
2.在唱歌比赛中,有10个评委打分,分数为1到100分,选手最后得分为:
去掉一个最高分和1个最低分其余8个分数的平均值。
算法:
输入求最大值,最小值,平均值的算法,再输入10个数,求出其中的最大值和最小值,令他们等于0,再求剩余8个数的平均数,即所求数。
程序代码
#include
voidmain()
{inti,max,min,avg=0,num[10];
printf("input10numbers:
\n");
for(i=0;i<=9;i++)
scanf("%d",&num[i]);
max=min=num[0];
for(i=0;i<=9;i++)
{if(num[i]>max)max=num[i];
if(num[i] avg=avg+num[i]; } avg=(avg-max-min)/8; printf("avgnum=%d\n",avg); } 运行结果 输入10个数,去除其中的最值,得到剩余8数平均数 3.输入一行字符,分别统计出其中的英文字母,空格,数字和其他字符的个数。 算法: 编译4个代码,表示英文,空格,数字,和其他;再输入字符,进行判别,符合其一的代入相应数组,最后汇总。 程序代码 #include voidmain() {intenglish=0,blank=0,number=0,other=0; charc; c=getchar(); while(c! ='\n') { if(c>='a'&&c<='z'||c>='A'&&c<='Z') english++; if(c=='') blank++; if(c>='0'&&c<='9') number++; elseother++; c=getchar(); printf("Thereare%denglish,%dblank,%dnumber,%dother\n", english,blank,number,other); } 运行结果 输入一行字符,可统计出英文,空格,数字和其他字符的个数。 4.商场购物(购物超过2000元,六;超过1000元,七;超过500元,八;低于500元无折扣)。 编写一个程序,输入消费金额,求应拿到的折扣。 算法: 输入1个价格,根据各范围用对应的函数去求,超过2000六折;1000七折;500八折;低于500无折扣 程序代码 voidmain() { inta,b; printf("Howmuchdidyoupaid: \n"); scanf("%d",&a); if(a>=2000) printf("0.6\n"); if(a>=1000&&a<2000) printf("0.7\n"); if(a>=500&&a<1000) printf("0.8\n"); if(a<500) printf("100%"); } 运行结果 输入1个价格,若大于2000,就打六折;大于1000就打7折;大于500就打8折;若低于500,就无折扣。 5.编写1个简单的计算器,实现2个整型数之间的四则运算。 算法: 输入a,b,c,分别导出各字母所对应的函数,再对第四者d进行各运算的赋值,从而求出所需结果。 程序代码 voidmain() { inta,b,c=0; chare; scanf("%d",&a); scanf("%c",&e); scanf("%d",&b); if(e=='+') {c=a+b; printf("=%d\n",c); } if(e=='*') {c=a*b; printf("=%d\n",c); } if(e=='-') {c=a-b; printf("=%d\n",c); } if(e=='/') {c=a/b; printf("=%d",c); } } 运行结果 输入2个整型数,则可求出相应的四则运算的值。 6.有100匹马,驼了100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大中小马各多少匹? 算法: 输入2个代码x,y,若y>x,则太大,若y 程序代码 #include intmain() { int#include #include intmain() {intx,y; srand(time(NULL)); x=rand()%10; scanf("%d",&y); while(y! =x) {if(y>x) printf("toobig"); elseif(y printf("toosmall"); scanf("%d",&y); } return0; } #include intmain() {intx,y; scanf("%d",&x); y=x%400; if(y<0) printf("Theyearisaleapyear\n"); elseprintf("no\n"); } #include #include voidmain() {intx; floaty,z; for(x=1;x<=10;x++) {y=sqrt(x); z=y*y*y; printf("%f\n",z); } 运行结果100匹马,100担货,可求出对应的大中小马的匹数。 7.将1到20的自然数围城1圈,使其相令两数之和均为素数。 算法: 定义一个数为素数,再将1到10个数进行相应运算,回到n,再列出3个数组abc,相应数代入a数组,其余代入b组,再把计算值代入c组,符合素数条件,则输出 程序代码 pr(intn) {inti,s1=1; for(i=2;i<=n/2;i++) if(n%i==0)s1=0; returns1; } s(intx[],intm) {intl,i,n; i=10;l=1; while(l) if(x[i]==0)i--; else{n=x[i];if(pr(n+m)){x[i]=0;f=0;} elsei--;} returnn; } main() {inta[11],b[11],c[21],i,j,k,m,n; for(i=1;i<=10;i++) {a[i]=2*i-1;b[i]=2*i;} c[1]=a[1];m=c[1];a[1]=0;k=2; while(k<=20) {if(m%2)n=s(b,m); elsen=s(a,m); c[k]=n;k++;m=n;} if(pr(c[1]+n)) {printf("ok\n"); for(i=1;i<=20;i++) printf("%d",c[i]);} elseprintf("no\n"); } 运行结果 输入1到20的数,可得到一个圈,其中相邻数和为素数 9.输入10个学生的学号和成绩(百分之分数),用单链表存储,按以下标准打印每个学生的学号和成绩等级,同时,当输入某个等级后,能输出所有这个等级的学生的学号,90-100: 优秀;80-89: 良好;70-79: 中等;60-69: 及格;60以下: 不及格。 算法: 输入一个链表,包含学号,成绩。 接收输入的10组2个数字分别储存在一个数组中。 对数组中的链表中的成绩进行判断,90~100为优秀,80~89为良好,70~79为中等,60~69为及格,60以下为不及格。 将成绩等级放入链表,再输出。 当输入一个等级时,依次判断数组每个链表中的成绩,符合等级则将该链表的学号输出。 程序代码 #include"string.h" #defineNULL0 structstu {charsno[15]; intmark; structstu*next; }a[10],*head,*p; main() {charb[10]; inti; for(i=0;i<10;i++) scanf("%s%d",a[i].sno,&a[i].mark); printf("sno\t\tmark\n"); for(i=0;i<10;i++) printf("%s\t\t%d\n",a[i].sno,a[i].mark); head=&a[0]; for(i=0;i<9;i++) a[i].next=&a[i+1]; a[9].next=NULL; p=head; printf("you,liang,zhong,jige,bujige: \n"); scanf("%s",b); while(p! =NULL) {switch(p->mark/10) {case10: case9: if(strcmp(b,"you")==0)printf("%s\n",p->sno);break; case8: if(strcmp(b,"liang")==0)printf("%s\n",p->sno);break; case7: if(strcmp(b,"zhong")==0)printf("%s\n",p->sno);break; case6: if(strcmp(b,"jige")==0)printf("%s\n",p->sno);break; case5: case4: case3: case2: case1: case0: if(strcmp(b,"bujige")==0)printf("%s\n",p->sno);break; default: printf("wrong"); } p=p->next; } } 运行结果 输入学生信息,则可得到相应的学生的学号。 实习总结 通过这次为期1周的C语言编译实习,使人获益良多,首先,让我深刻体味到,计算机专业远没有我们想的那么简单,只有付出艰辛的劳动与付出,加之勤奋,才能真正体味到其中的精华;其次,编程是一项艰辛的工作,工作量大,还要做到步步精益求精,力求最简化,有时1个小小的错误,就影响到了整个程序的编译与运行。 这就要求我们在编译程序时要全神贯注,一丝不苟,有“千里之堤溃于蚁穴”的忧患意识,每次在编译完一段程序时要反复检验,争取在最短时间内找出其中的症结,从而为整个大的程序的编译与运行打下坚实的基础,编程的过程是枯燥的,其间的错误也是致命的,这也是一个磨练人得意志的过程,从而为以后的工作奠定基础;其结果是令人喜悦的,因为这其中凝结了自己体力和脑力劳动的成果;最后,编程也是1个复杂的,富有创造性的工作,能充分的调动我们的创造力与思索力,让我们在思索的过程中得以提升,能在一段程序中看出一个人的能力,态度与思想,可谓“一段程序,一种人生。 ” 总而言之,这次实习令我的收获颇丰,不仅提高了我计算机编程的能力,也让我对这个专业的知识的深度和广度得到了提升,并且冶炼了我的品格,真可谓“一箭三雕”。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机软件 实习 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)