版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、输入成绩,判断是否及格#include<stdio.h>voidmain(){floata,b,max;printf("pleaseentera:");scanf("%f",&a);if(a>=60)printf("及格\n");elseprintf("不及格\n");}2、输入两个学生a和b的成绩,输出其中高的成绩#include<stdio.h>voidmain(){floata,b,max;printf("pleaseenteraandb:");scanf("%f,%f",&a,&b); //数据输入时若无逗号一般用空格区分两输入值,本例一定要在两数之间加逗号if(a>=b)max=a;if(b>a)max=b;printf("max=%f\n",max);}3、要求按照百分制考试分数输出等级。#include"stdio.h"main(){intgrade;printf("inputgrade=");scanf("%d",&grade);switch((int)(grade/10)){case10:case9:printf("A\n"); break;case8:printf("B\n");break;case7:printf("C\n");break;case6:printf("D\n"); break;default:printf("E\n");}黑龙江大学计算机学院、软件学院 《程序设计基础》实验讲义黑龙江大学计算机学院、软件学院 《程序设计基础》实验讲义、求1+2+ +100的和,分别用while、do…while和for语句实现(1)while#include<stdio.h>voidmain(){intsum=0,i=1;while(i<=100){sum=sum+i;i++;}printf("sum=%d\n",sum);}(2)do...while#include<stdio.h>voidmain(){intsum=0,i=1;do{sum=sum+i;i++;}while(i<=100);printf("sum=%d\n",sum);}(3)for#include<stdio.h>voidmain(){intsum=0,i;for(i=1;i<=100;i++)sum=sum+i;printf("sum=%d\n",sum);}
5、输入10个数,用冒泡法对这10个数由小到大排序。#include<stdio.h>voidmain()inta[10];inti,j,t;//数组输入/*//数组输入/*进行9次循环,实现9趟比较*//*在每趟中进行9-j次比较*//*相邻两个数进行比较*/for(i=0;i<10;i++)scanf("%d",&a[i]);printf("\n");for(j=0;j<9;j++)for(i=0;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("%d",a[i]);printf("\n");6、选择排序#include<stdio.h>voidmain(){inti,j,min,temp;inta[10]={6,90,45,56,1,15,44,78,58,101};//为数组赋初值//或键盘输入/*printf("enterdata:\n");£0=(1=0;1<10;1++)//输入10个数{printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<10;i++)//输出10个数{printf("%5d",a[i]);}printf("\n");*/for(i=0;i<9;i++){min=i;for(j=i+1;j<=9;j++){if(a[min]>a[j])min=j;}temp=a[i];a[i]=a[min];a[min]=temp;}printf("\nThesortednumbers:\n");for(i=0;i<10;i++)//输出排序后的10个数{printf("%5d",a[i]);}printf("\n");getchar();}7、〃编一程序,将两个字符串连接起来。不要用函数strcat#include"stdio.h"voidmain(){chars1[80],s2[40];inti=0,j=0;printf("\ninputstring1:");scanf("%s",s1);printf("inputstring2:");scanf("%s",s2);while(s1[i]!='\0')i++;while(s2[j]!='\0')s1[i++]=s2[j++];s1[i]='\0';printf("Thenewstringis:%s\n",s1);}8、函数1:(参数为值传递)#include<stdio.h>voidmain(){intmax(intx,inty);inta,b,c;scanf("%d%d",&a,&b);c=max(a,b);printf(“max=%d\n”,c);}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;returnz;}9、函数2:(参数为地址传递)有一维数组score,内放10个学生成绩,定义函数average求平均成绩。#include<stdio.h>voidmain(){floataverage(floatarray[10]);floatscore[10],aver;inti;printf("input10scores:\n");for(i=0;i<10;i++)scanf("%f",&score[i]);printf("\n");aver=average(score);printf("averagescoreis%5.2f\n",aver);}floataverage(floatarray[10]){inti;floataver,sum=array[0];for(i=1;i<10;i++)sum=sum+array[i];aver=sum/10;return(aver);}10、对输入的两个整数按大小顺序输出,用指针变量作函数的参数。(地址传递)#include<stdio.h>voidmain(){voidswap(int*p1,int*p2);inta,b;int*pointer_1,*pointer_2;scanf("%d%d",&a,&b);pointer_1=&a;pointer_2=&b;if(a<b)swap(pointer_1,pointer_2);/*调用函数后,a,b的值进行了交换*/printf("%d,%d\n",a,b);//等价于:printf("%d,%d\n",*pointer_1,*pointer_2);}voidswap(int*p1,int*p2){inttemp;temp=*p1;*p1=*p2;*p2=temp;}11、有一整型数组a,有10个元素。要输出各元素的值有三种方法(1)下标法#include<stdio.h>voidmain(){inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}(2)通过数组名计算出数组元素的地址,找出数组元素的值。#include<stdio.h>voidmain(){inta[10];inti;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)printf("%d",*(a+i));printf("\n");}⑶用指针变量指向数组元素#include<stdio.h>voidmain(){inta[10];int*p,i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(p=a;p<(a+10);p++)printf("%d",*p);printf("\n");}上述3种方法中有关数组元素的输入也可用下列方法表示:for(p=a;p<a+10;p++)scanf("%d",p);12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。#include<stdio.h>voidmain(){structstudent{intnum;charname[20];intscore;}s1,s2;scanf("%d%s%d",&s1.num,,&s1.score);scanf("%d%s%d",&s2.num,,&s2.score);printf("numnamescore\n");if(s1.score>=s2.score)printf("%d %s %d\n",s1.num,,s1.score);elseprintf("%d %s %d",s2.num,,s2.score);}13、有N个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序存储并输出各学生的信息。#include<stdio.h>#include<string.h>voidmain(){structstudent{intnum;charname[20];intscore;}s[6]={{1,"aaa",59},{2,"bbb",78},{3,"ccc",85},{4,"ddd",64},{5,"eee",98},{6,"fff",83}};inti,j,max,temp;chartemp_name[20];for(i=0;i<6;i++){max=i;for(j=i+1;j<=5;j++){if(s[max].score<s[j].score)max=j;}/*temp_stu=s[i];s[i]=s[max];s[max]=temp_stu;*/temp=s[i].num;s[i].num=s[max].num;s[max].num=temp;strcpy(temp_name,s[i].name);strcpy(s[i].name,s[max].name);strcpy(s[max].name,temp_name);temp=s[i].score;s[i].score=s[max].score;s[max].score=temp;}printf("numnamescore\n");for(i=0;i<6;i++)printf("%d%s%d\n",s[i].num,s[i].name,s[i].score);}14、从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去。#include<stdio.h>#defineSIZE4structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[SIZE];voidmain(){voidsave();inti;for(i=0;i<SIZE;i++)/*从键盘输入*/scanf("%s%d%d%s",stud[i].name,&stud[i].num,&stud[i].age,stud[i].addr);save();}voidsave(){FILE*fp;inti;if((fp=fopen("stu-list","wb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++)if(fwrite(&stud[i],sizeof(structstudent_type),1,fp)!=1)printf(“filewriteerror\n");/*出错*/fclose(fp);/*关闭文件*/}15、将以上数据读出并显示#include<stdio.h>#defineSIZE4structstudent_type{charname[10];intnum;intage;charaddr[15];}stud[SIZE];voidmain(){inti;FILE*fp;if((fp=fopen("stu_list","rb"))==NULL){printf("cannotopenfile\n");return;}for(i=0;i<SIZE;i++){fread(&stud[i],sizeof(structstudent_type),1,fp);printf("%-10s%4d%4d%-15s\n",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);}fclose(fp);}16、//有15个数按照从小到大的顺序存放在一个数组中。输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。如果该数不在数组中,输出“不在表中”#include"stdio.h"#defineN15voidmain(){inti,number,top,bott,mid,loca,flag=1,sign;inta[N]={1,3,4,5,6,8,12,23,34,44,45,56,57,58,68};charc;for(i=0;i<N;i++)printf("%d",a[i]);printf("\n");while(flag){printf("inputnumbertolookfor:");scanf("%d",&number);getchar();sign=0;top=0;bott=N-1;if((number<a[0])||(number>a[N-1]))loca=-1;while((!sign)&&(top<=bott)){mid=(bott+top)/2;if(number==a[mid]){loca=mid;printf("Hasfound%d,itspositionis%d\n",number,loca+1);sign=1;elseif(number<a[mid])bott=mid-1;elsetop=mid+1;if(!sign||loca==-1)printf("cannotfind%d.\n",number);printf("continueornot(Y/N)?");scanf("%c",&c);getchar();if(c=='N'||c=='n')flag=0;10 11 12 13 1410 11 12 13 1445 56 57 58 68;45 56 57 58 6845 56 57 58 6845 56 57 58 68TOC\o"1-5"\h\z0 1 2 3 4 5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 宴会策划与布置合同
- 铝合金型材销售合同
- 五金件采购合同经典范本
- 冻肉销售合同范本
- 监理合同的履行监管
- 石粉购销协议合同
- 分布式技术合作合同
- 智能硬件开发协议
- 就业协议与劳动合同区分与理解
- 健身房灯箱广告投放合同
- 小学信息科技《数据与编码-探索生活中的“编码”》教学设计
- 2024年云网安全应知应会考试题库
- DL-T 5190.1-2022 电力建设施工技术规范 第1部分:土建结构工程(附条文说明)
- 《电子政务项目运行维护经费指导意见》-深圳政府在线
- 初中人音版八年级上册音乐2.4欣赏总有一天(15张)ppt课件
- 风湿性心脏病二尖瓣狭窄伴关闭不全;全心衰pbl教学
- 结构化研讨方法(精选干货)
- 通信工程资源录入措施
- 人教版英语选择性必修第四册UNIT 4 Sharing中英文对照
- 超级椰子油二乙醇酰胺的合成新工艺
- 【原创】六上Unit5 Housework PartA 教学设计
评论
0/150
提交评论