计算机软件实习报告.docx

上传人:b****5 文档编号:5740396 上传时间:2022-12-31 格式:DOCX 页数:9 大小:18.17KB
下载 相关 举报
计算机软件实习报告.docx_第1页
第1页 / 共9页
计算机软件实习报告.docx_第2页
第2页 / 共9页
计算机软件实习报告.docx_第3页
第3页 / 共9页
计算机软件实习报告.docx_第4页
第4页 / 共9页
计算机软件实习报告.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

计算机软件实习报告.docx

《计算机软件实习报告.docx》由会员分享,可在线阅读,更多相关《计算机软件实习报告.docx(9页珍藏版)》请在冰豆网上搜索。

计算机软件实习报告.docx

计算机软件实习报告

计算机软件实习报告

姓名:

王煜;学号:

N100801519

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个复杂的,富有创造性的工作,能充分的调动我们的创造力与思索力,让我们在思索的过程中得以提升,能在一段程序中看出一个人的能力,态度与思想,可谓“一段程序,一种人生。

总而言之,这次实习令我的收获颇丰,不仅提高了我计算机编程的能力,也让我对这个专业的知识的深度和广度得到了提升,并且冶炼了我的品格,真可谓“一箭三雕”。

 

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

当前位置:首页 > 医药卫生 > 基础医学

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

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