




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C基础lx输入成绩,判断是否及格#includc void main()float a.b.max;printf(Mplease enter a:H);scanf(H%f t&a);if (a=60)printf(”及格 nj;elseprintf(不及格 n);2、输入两个学生a和b的成绩,输出其中高的成绩#includc void inain()float a.b.max;printf(MpIease enter a and b:M);scanf(-%f,%f&a.&b);/数据输入时若无逗号一般用空格区分两输入值,本例一定要在两数之间加逗号if (a=b)max=a;if (ba)max
2、=b;printf(,max=%fnH,max);)3、要求按照百分制考试分数输出等级。#includc Mstdio.hMmain() int grade;printf(Minputgrade):scanf(H%dn,& grade);switch (int)(grade/10) case 10:case 9printf(HAnH); break;case 8printf(Bn”): break;case 7r: printf(HCnM): break;case 6printf(MDnH); break;default:printf(HEnH):4、求1+2+100的和,分别用while、d
3、o.while和for语句实现(1) while#include void main () int sum=0,i=l;while (i=100) sum=sum+i;i+;printf(,sum=%dn,suin);(2) do.while#includc void main()int sum=0.i=l;dosum=sum+i;i+; while (i=100);printf(,sum=%dn,sum);(3) for# include void main()int sum=0J;for (i=l;i=100;i+)sum=sum+i;printf(nsuni=%dirsuni);10 /
4、 135、输入10个数,用冒泡法对这10个数由小到大排序。 #includc void main() int a10;intprintf(Hinput lOnumbers An”);for (i=0;i10;i+) scanf(啜(T,&ai);数组输入printf(,nH);for(j=0;j9;j+) for(i=0;iai+l)严进行9次循环,实现9趟比较*/*在每趟中进行9-j次比较*/*相邻两个数进行比较*/ t=ai; ai=ai+l; ai+lt;/*满足条件进行互换*/printf(Hthe sorted numbers An”); for(i=0;i10;i 卄)数组输出pr
5、intf(u%d ai); prinlfW); 6、选择排序include void mainOint i, j, min, temp;int a10 = 6, 90, 45, 56,1, 15, 44, 7& 58, 101 ;/为数组赋初值/或键盘输入/printf (enter data:n,?):for (i 二 0 ;i10; i+) /输入 10 个数printf (z/a%d=,z, i);scanf Cz%dz,, &ali);printf (z/n?,);for (i=0 ;i10; i+) /输出 10 个数printf (”%5d, aEi);printf(n);*/fo
6、r(i=0;i9;i+)mm-i;for(j=i+l;jajl) min=j;temp=ai;ai=amin;amin=temp;printf (/?n The sorted numbers:n);f or G二0; i 10; i+) /输出排序后的10个数printf (%5d, ai);printf(n);getchar0;7、编一程序,将两个字符串连接起来。不要用函数strcat#includc nstdio.hMvoid inain()charsl80,s240);int i=0.j=0;printf(Mn input string 1:M);scanf(N%s*sr);printf
7、(Hi nput string2:H);scanf(n%s*s2);while(sli!=fO,)i+;while(s2j!=)sli 卄=s2j 卄;sli=、0:printf(MThe new string is: %snH,sl);8、函数1:(参数为值传递)#includc void main () int max(int xjnt y);int a b, c: scanf(,%d%d,&a,&b);c=max(a.b):priiitf(fcmax= %dnS c):int max (int xjnt y) int z;if (xy) z=x;else z=y;return z;)9、
8、函数2:(参数为地址传递)有一维数组score,内放10个学生成绩,泄义函数average求平均成绩。include void main()float average(float array10):float score10,aver;int i;printtfinput 10 scores:);for(i=0;i10;i+)scanf(M%fM,&scorei);printf(Arr);aver=average(score);printf(”average score is %5.2f nM, aver);float average(float array10) inti;float ave
9、r, sum=array0;for(i=1;i10;i+)sum=sum+arrayi;aver=sum/10;return (aver);10、对输入的两个整数按大小顺序输出,用指针变量作函数的参数。(地址传递) #includc void main()void s *pl Jnt *p2);int a,b;int *pointer_L *pointer_2;scanf(,%d%d,&a.&b);pointer=&a;pointer_2=&b;if(ab) s); /*调用函数后,a.b的值进行了交换引primf(”d,%dn:a.b);/等价于:printf(H%d,%dnH, *poin
10、ter_h*pointer_2);void s *pLint *p2) int temp;temp=*pl;*pl=*p2;*p2=temp;11、有一整型数组a,有10个元素。要输出各元素的值有三种方法(1) 下标法#include void niain()int a10;int i;for(i=0;i10;i+)scanf(”cT:&ai);for (i=0;i10;i+)printf(H%d ai);printf(,nM);(2) 通过数组名计算出数组元素的地址,找出数组元素的值。#include void main() int a10|;int i;for (i=0;i10;i 卄)s
11、canf(”dj&ai);for(i=0;i10;i+)printf(u%d ”,*(a+i);printf(HnH);用指针变量指向数组元素#includc void main() int a10;int *p.i;for(i=0;i10;i+) scanf(M%dH.&ai);for(p=a;p(a+10);p+)printf(M%d *p);printf(,nM);上述3种方法中有关数组元素的输入也可用下列方法表示:for(p=a ;pa+10;p+) scanf(f,%dH,p);12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。#includevoid mai
12、n() struct student int num;char name20;int score;sl,s2; scanf(,r%d%s%d,&s 1 .num,s 1 .name,&s 1 .score); scanf(,r%d%s%d,&s2.num,,&s2.score); printf(Hnum name scorenH);if(sl .score=s2.score)printf(M%d%s%dnH,sl .num.sl .namc,sl .score);elseprintf(M%d%s%d,,s2.score);13、有N个学生的信息(包括学
13、号,姓名,成绩),要求按照成绩的高低顺序存储并输出各 学生的信息。#include# includevoid niain() struct student int num;char name20;int score:s6=aaa”,59,2bbbV78,3,”cccH5, 4,”dckr,64,5ccr98,6,”fff83; int ijjnax.temp;char temp_nanie|20J;for(i=0;i6;i+) max=i;for(j=i+l;j=5:j+)if(smax.scoresj.score)max=j;/* icmp_slu=si;si=smax: smax=tcmp
14、_stu; */temp=si.num;si.num=smax.num;smax.num=temp;strcpy(temp_);strcpy(,);strcpy(,temp_name);temp=si.score;si. score=s max . score:smax.score=temp;)pri ntf(M num name scorenH);for(i=0;i6;i+)printf(H%d %s %dn,si.num,,si.score);14、从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件
15、上去。#include #define SIZE 4struct student_type char name10;int num;int age;char addr15; studSIZE;void main() void save();int i;for(i=0;iSIZE;i+)/* 从键盘输入*/scanf(H%s%d%d%sN,,&studi.nunL &studi.age, studi.addr);save():)void save() FILE *fp;int i;if(fp=fopen(,stu-list,Hwb,r)=NULL) printf(Hcanno
16、t open filcXn”);return;for(i=0;iSIZE:i+)if ( fwrite (&studi9 sizeof(stmct studentjype), l.fp)!=l)pnntff enoAn J 严岀错*/fclose(fp); /* 关闭文件*/15、将以上数据读出并显示#includc #define SIZE 4struct studentjype char nameflO;int num;int age;char addr|15; studSIZE;void main() int i;HLE *fp;if (fp=fopen (MstuJist,Mrb,)=
17、NULL) printf(Mcannot open filenM);return;for(i=0;iSIZE;i+) fread(&studi, sizeof(struct studentjype)J ,fp);printf(,r%-10s%4d%4d%-15s nM, t studi.num, studi.age,studi.addr); fclose (fp);16、/有15个数按照从小到大的顺序存放在一个数组中。输 入一个数,要求用折半查找法找岀该数是数组中第几个元素 的值。如果该数不在数组中,输出“不在表中”#include stdio.h#define N 15v
18、oid main() int i,number,top,bott,mid,loca,flag= 1 ,sign;intaN= 1,3,4,5,6,8,12,23,34,44,45,56,57,58,68;chare;for(i=0;iN;i+)printf(H%d H,ai);printf(nnM);while(flag) printf(input number to look for:);scanf(%dH,&number);getchar();sign=0;top=0;bott=N-l;if(numberaN-1)loca=-1;while(! sign)&(top=bott) mid=(bott+top)/2;if(number=amid)position loca=mid;printf(Has found %d,is %dnn,number,loca+1);sign=l;else if(numberamid) bott=mid-l;elsetop=mid+l;if(!signllloca=-l)print
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论