C语言基础代码.docx
- 文档编号:10307759
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:15
- 大小:18.94KB
C语言基础代码.docx
《C语言基础代码.docx》由会员分享,可在线阅读,更多相关《C语言基础代码.docx(15页珍藏版)》请在冰点文库上搜索。
C语言基础代码
C基础
1、输入成绩,判断是否及格
#include
voidmain()
{
floata,b,max;printf("pleaseentera:
");
scanf("%f",&a);
if(a>=60)
printf("及格\n");
elseprintf("不及格\n");
}
2、输入两个学生a和b的成绩,输出其中高的成绩#include
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");
}
4、求1+2+⋯⋯+100的和,分别用while、do⋯while和for语句实现
(1)while
#include
voidmain()
{intsum=0,i=1;
while(i<=100)
{sum=sum+i;i++;
}
printf("sum=%d\n",sum);
}
(2)do⋯while
#include
{
intsum=0,i=1;
do
{sum=sum+i;
i++;
}while(i<=100);
printf("sum=%d\n",sum);
}
(3)for
#include
voidmain()
{
intsum=0,i;
for(i=1;i<=100;i++)sum=sum+i;
printf("sum=%d\n",sum);
}
5、输入10个数,用冒泡法对这10个数由小到大排序。
#include
{inta[10];
inti,j,t;
printf("input10numbers:
n");
for(i=0;i<10;i++)//数组输入
printf("n");
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+1])
scanf("%d",&a[i]);
/*进行9次循环,实现9趟比较*//*在每趟中进行9-j次比较*//*相邻两个数进行比较*/
{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
{
inti,j,min,temp;
//为数组赋初值
inta[10]={6,90,45,56,1,15,44,78,58,101};//或键盘输入
/*printf("enterdata:
\n");
for(i=0;i<10;i++)//输入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();
}
strcat
7、//编一程序,将两个字符串连接起来。
不要用函数
#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
voidmain()
{intmax(intx,inty);
inta,b,c;scanf("%d%d",&a,&b);
c=max(a,b);
printf(“ma%x=n”,c);
}
intmax(intx,inty)
{intz;
if(x>y)z=x;
elsez=y;
returnz;
}
9、函数2:
(参数为地址传递)
有有一维数组score,内放10个学生成绩,定义函数average求平均成绩。
#include
{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
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
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
{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
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
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 12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。 #include {structstudent {intnum; charname[20]; intscore; }s1,s2; scanf("%d%s%d",&s1.num,s1.name,&s1.score); scanf("%d%s%d",&s2.num,s2.name,&s2.score); printf("numname score\n"); if(s1.score>=s2.score) printf("%d %s %d\n",s1.num,s1.name,s1.score); else printf("%d %s %d",s2.num,s2.name,s2.score); } 13、有N个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序存储并输出各学生的信息。 #include #include 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 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 #defineSIZE4 structstudent_type {charname[10]; intnum; intage; charaddr[15]; }stud[SIZE]; voidmain() {voidsave(); inti; for(i=0;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 if(fwrite(&stud[i],sizeof(structstudent_type),1,fp)! =1)printf(“filewriteerrno”r);/*出错*/fclose(fp);/*关闭文件*/ } 15、将以上数据读出并显示#include #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 {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" #defineN15 voidmain() {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 printf("%d",a[i]); printf("\n"); while(flag) {printf("inputnumbertolookfor: ");scanf("%d",&number); getchar(); sign=0; top=0; bott=N-1; if((numbera[N-1])) loca=-1; while((! sign)&&(top<=bott)) {mid=(bott+top)/2; if(number==a[mid]) {loca=mid; position printf("Hasfound%d,itsis%d\n",number,loca+1); sign=1; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础 代码