云南大学软件学院C语言知识所有实验代码..doc

收藏

编号:2572949    类型:共享资源    大小:406.96KB    格式:DOC    上传时间:2020-04-21
8
金币
关 键 词:
云南大学 软件 学院 语言 知识 所有 实验 试验 代码
资源描述:
.- 第二次试验///第三次试验 =====================程序============================ #include int main() { /*十进制*/ printf("%d\n",3+4*6); printf("%d\n",3*4/6+6); printf("%d\n",2*3/12*8/4); printf("%d\n",10*(1+7*3)); printf("%d\n", 20-2/6+3); printf("%d\n", 20-2/(6+3)); printf("%d\n", (20-2)/6+3); printf("%d\n", (20-2)/(6+3)); /*9-16显示为小数,保留小数2位,宽度为8*/ printf("%8.2f\n",3.0+4.0*6.0); printf("%8.2f\n",3.0*4.0/6.0+6.0); printf("%8.2f\n",2.0*3.0/12.0*8.0/4.0); printf("%8.2f\n",10.0*(1.0+7.0*3.0)); printf("%8.2f\n",20.0-2.0/6.0+3.0); printf("%8.2f\n",20.0-2.0/(6.0+3.0)); printf("%8.2f\n",(20.0-2.0)/6.0+3.0); printf("%8.2f\n",(20.0-2.0)/(6.0+3.0)); /*17-20显示为字符*/ printf("%c\n", m - 5); printf("%c\n", m + 5); printf("%c\n", G + 6); printf("%c\n", G - 6); /*21-23显示为十进制整数*/ printf("%d\n", b - a); printf("%d\n", g - a + 1); printf("%d\n", g - a + 1); } =======================运行结果==================================== =================================程序========================== #include int main () { float Cel,Fah; printf("print a Fah number:"); scanf("%f",&Fah); Cel=5.0/9.0*(Fah-32); printf("The Cel number is%f\n",Cel); printf("print a Cel number:"); scanf("%f",&Cel); Fah=32+9.0*Cel/5.0; printf("The Fah number is:%f \n",Fah); return 0; } ============================运行结果========================= 第四次试验 ************************************(1)程序********************************** #include int main() { int num1,num2,num3,max,min; printf("please input three numbers:\n"); scanf("%d %d %d",&num1,&num2,&num3); max=(num1>num2)?num1:num2; min=(num1<=num2)?num1:num2; max=(num3>max)?num3:max; min=(num3 int main() { int a; float profit,income; printf("Please input the profit:"); scanf("%f",&profit); a=(profit-1)/100000; switch(a) { case 0: income=profit/10; break; case 1: income=(profit-100000)*0.075+10000; break; case 2: case 3: income=(profit-200000)*0.05+10000+7500; break; case 4: case 5: income=(profit-400000)*0.03+10000+7500+10000; break; case 6: case 7: case 8: case 9: income=(profit-600000)*0.01+10000+7500+10000+6000; break; case 10: income=(profit-1000000)*0.01+10000+7500+10000+6000+6000; } printf("奖金数值为:%f\n",income); return 0; } ************************************运行结果********************************** ********************************(3)程序**************************** /*百马百担问题*/ #include intmain() { intA,B,C; printf("百马百担的解为:\n"); printf("大中小\n"); for(A=0;A<=33;A++) { for(B=0;B<=50;B++) { C=100-A-B; if(3*A+2*B+C/2.0==100) printf("%-2d%-2d%-2d\n",A,B,C); } } return0; } ********************************运行结果***************************** ********************************(4)程序**************************** ************************************(5)程序********************************** //关于菱形的第一种算法// #include int main() { int i,j,k; printf("请输入最长行的数字,为奇数k:"); scanf("%d",&k) ; for (i=1;i<=k;i++) { for(j=1;j<=k;j++) { if((j+i)>=(k+1)/2+1&&(i+j)<=(k+1)*3/2-1&&i-j<=(k+3)/2-2& &j-i<=(k+3)/2-2) printf(" *"); else printf(" "); } printf("\n"); } return 0; } //第二种算法/// #include int main() { int K,X,C,N; printf("num="); scanf("%d",&N); for(C=1;C<=(N+1)/2;C++) { for(K=1;K<=(N+1)/2-C;K++) printf(" "); for(X=1;X<=2*C-1;X++) printf(" *"); printf("\n"); } for(C=(N+3)/2;C<=N;C++) { for(K=1;K<=C-(N+1)/2;K++) printf(" "); for(X=1;X<=2*N+1-2*C;X++) printf(" *"); printf("\n"); } } ************************运行结果*************************************** 第5/6次试验 *********************************(1)程序*********************************** 第7次试验 **********************************(1)程序********************************** #include int main() { int i,j,n; printf("input a number"); scanf("%d",&n); int a[n][n]; printf("\n"); for(i=0;i int main () { int i; int fb[12]={1,1}; for(i=2;i<12;i++) { fb[i]=fb[i-1]+fb[i-2]; printf("第%d个月共有兔子%d只\n",i+1,fb[i]*2); } return 0; } *****************************运行结果****************************************** *************************************** 方法二: #include int main() { long f1,f2; int i; f1=f2=1; for(i=1;i<=20;i++) { printf("%12ld%12ld",f1,f2); if(i%2==0)printf("\n"); f1=f1+f2; f2=f1+f2; } return 0; } ************************************运行结果*********************************** *******************************(3)程序**************************************** #include #define num 10 int num1(int [],int); int num2(int [],int); int main() { void sort1 (int num1[],int n); void sort2 (int num2[],int n); int a[num], c[num],i,moves,j; printf("enter array here:\n"); for(i=0;i<10;i++) { j=i; scanf("%d",&a[i]); c[j]=a[i]; } printf("the sorted array :\n"); sort1(a,num); printf("the sorted array :\n"); sort2(c,num); return 0; } void sort1(int num1[],int n) { int i,j,temp,b; for(i=0;i #define N 10 int brnarysearch(int [],int,int); int main() { int nums[N]={1,5,8,9,12,23,45,56,67,99}; int item,location; printf("Enter the item you are searching for"); scanf("%d",&item); location=brnarysearch(nums,N,item); if(location > -1) printf("The item was found at index location %d\n",location); else printf("The item was not found in the list\n"); return 0; } #define Ture 1 #define False 0 int brnarysearch(int list[],int size,int key) { int index,found,left,right,midpt; index=-1; found=False; left=0; right=size-1; while ( left <= right && !found) { midpt = (int) ((left+right)/2); if (key== list[midpt]) { found=Ture; index=midpt; } else if (key > list[midpt]) left=midpt + 1; else right= midpt - 1; } return (index); } **************************************运行结果********************************* 第10次试验 ***********************************程序**************************************** #include int main() { int a=0,i,k; int b[31]; printf("请输入一个十进制数:\n"); scanf("%d",&i); while(i!=0) { k=i%2; b[a++]=k; i=i/2; } printf("转为二进制数为:\n"); while(a>0) { printf("%d",b[--a]); } printf("\n"); return 0; } ***********************************运行结果************************************ 第9次试验 *****************************程序********************************************** #include #include int main() { char name[5][30]; int i; int grade[15],num[5]; float ave[5]; printf("请输入学号、3学科成绩, 姓名,:\n"); for(i=0;i<5;i++) { scanf("%d",&num[i]); scanf("%d%d%d",&grade[i*3],&grade[i*3+1],&grade[i*3+2]); ave[i]=(grade[i*3]+grade[i*3+1]+grade[i*3+2])/3.0; gets(name[i]); } for(i=0;i<5;i++) printf(" %d %-10s %d %d %d %5.2f\n",num[i],name[i],grade[i*3],grade[i*3+1],grade[i*3+2],ave[i]); FILE *outFile; outFile=fopen("C://stud.txt","w"); fprintf(outFile," 学号 姓名 成绩1 成绩2 成绩3 平均成绩 \n "); for(i=0;i<5;i++) fprintf(outFile," %d %-10s %5d %5d %5d %5.2f\n",num[i],name[i],grade[i*3],grade[i*3+1],grade[i*3+2],ave[i]); fclose(outFile); return 0; } ***********************************运行结果*********************************** 第10次试验 1. 请使用数组元素存取方式,设计实现一个函数可以将任意字符数组元素存放位置逆转的程序。 *****************************************程序********************************** #include #include int main() { char str[100]; int i,j; gets(str); j=strlen(str); for(i=j;i>=0;i--) printf("%c",str[i]); printf("\n"); return 0; } ***********************************运行结果************************************ 2. 请使用指针存取方式完成练习1 **************************************程序************************************ #include #include int main() { int j; char str[100],*printer=str,i; printf("Input a string:\n"); gets(str); j=strlen(str); for(i=j;i>=0;i--) printf("%c",*(printer+i)); return 0; } *****************************************运行结果****************************** 3. 用二维数组保存用户输入的字符串,当用户终止输入时,将所有输入中最长的字符串及其长度输出。 ************************************程序************************************** #include #include int main() { int i,n=0; char str[3][30]; int max; for(i=0;i<3;i++) { gets(str[i]); printf("\n"); } max = strlen(str[0]); for(i=0;i<3;i++) { if (strlen(str[i]) >max) { max = strlen(str[i]); n=i; } } printf("The longest string is str[%d], it has %d type.",n,max); return 0; } **********************************运行结果************************************ 第11次试验 1. 采用结构体变量的方法保存学生成绩,有五个学生,每个学生有3门课的成绩,从键盘输入相关数据(包括:学号,姓名和三门课程的成绩),计算出平均成绩。 *********************************程序************************************* **************************************运行结果**************************** 2. 采用结构体数组的方法保存学生成绩,完成练习1。 *************************************程序************************************** #include struct Student { int num; char name[20]; int grade[3]; float average; } Student[5]; int main() { int i,j; { printf("Input the num ,name, and three grades:\n"); for(j=0;j<5;j++) scanf("%d %s %d %d %d",&Student[j].num,&Student[j].name,&Student[j].grade[0],&Student[j].grade[1],&Student[j].grade[2]); } for(j=0;j<5;j++) Student[j].average=(Student[j].grade[0]+Student[j].grade[1]+Student[j].grade[2])/3.0; for(j=0;j<5;j++) printf("NO.%d name:%s grade:%d %d %d average%5.2f:\n",Student[j].num,Student[j].name,Student[j].grade[0], Student[j].grade[1],Student[j].grade[2],Student[j].average); return 0; } *********************************************运行结果************************** 3. 采用链表的方法保存学生成绩,完成练习1。 ******************************************程序********************************* #include struct Student { int num; char name[20]; int grade[3]; float average; struct Student * next; }; int main() { struct Student st[5],*head,*p; int i; for(i=0;i<5;i++) { scanf("%d %s %d %d %d",&st[i].num,&st[i].name,&st[i].grade[0],&st[i].grade[1],&st[i].grade[2]); st[i].average=(st[i].grade[0]+st[i].grade[1]+st[i].grade[2])/3.0; } printf("\n"); head=&st[0]; st[0].next=&st[1]; st[1].next=&st[2]; st[2].next=&st[3]; st[3].next=&st[4]; st[4].next=NULL; p=head; do { printf("%d %s %d %d %d %5.2f\n",p->num,p->name,p->grade[0],p->grade[1],p->grade[2],p->average); p=p->next; } while(p!=NULL); return 0; } ******************************************运行结果*****************************
展开阅读全文
提示  得力文库 - 分享文档赚钱的网站所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:云南大学软件学院C语言知识所有实验代码..doc
链接地址:https://www.deliwenku.com/p-2572949.html
关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com  

收起
展开