完整word版c语言初学必背代码.docx
- 文档编号:7165280
- 上传时间:2023-01-21
- 格式:DOCX
- 页数:19
- 大小:21.18KB
完整word版c语言初学必背代码.docx
《完整word版c语言初学必背代码.docx》由会员分享,可在线阅读,更多相关《完整word版c语言初学必背代码.docx(19页珍藏版)》请在冰豆网上搜索。
完整word版c语言初学必背代码
//1.成绩判断
#include
intmain()
{
//成绩
intscore;
printf(”请输入你的成绩:
\n");
scanf("%d”,&score);
//判断
if(score>=0&&score〈60)
{
printf("不及格\n");
}
elseif(60〈=score&&score〈80)
{
printf(”中等\n”);
}
elseif(80〈=score&&score<100)
{
printf("优秀\n”);
}
else
{
printf("输入错误!
\n");
}
}
//2。
计算1到100的和
#include h> intmain() { intsum=0;//存结果变量 inti; for(i=1;i<=100;i++) { sum=sum+i; } printf(”sum=%d\n”,sum); } //3.最大公约数 #include h> //求m,n的最大公约数 intmain() { intm,n; inti,k; printf(”请输入两个数: "); scanf("%d%d”,&m,&n); //三元运算符找较小的那个 k=m〈n? m: n; //从较小的那个数倒着往前找 for(i=k;i〉=1;i-—) { //这是公约数 if((m%i==0)&&(n%i==0)) { printf("最大公约数是%d\n",i); break;//跳出for循环 } } } //4.最小公倍数 #include //求m,n的最小公倍数 intmain() { intm,n; intmax,min;//m,n中较大,较小的那个 intk;//max,2*max,3*max,..。 。 。 printf("请输入两个数: ”); scanf(”%d%d”,&m,&n); //也可以交换m,n,保证m小n大 max=m〉n? m: n; min=m m: n; k=max;//从max开始 while(k%min! =0) { k+=max;//每次倍增 } printf("最小公倍数是%d\n",k); } //5。 金字塔 #include〈stdio.h> //金字塔 intmain() { inti;//外层 intj;//内层 for(i=1;i<=10;i++) { //当前是在第i行 //先补空格10-i个 for(j=1;j〈=10—i;j++) { printf(""); } //再打2i—1个* for(j=1;j<=2*i—1;j++) { printf("*"); } printf("\n"); } } //6.九九乘法表 #include〈stdio。 h> //打印九九乘法表 intmain() { inti,j; for(i=1;i〈=9;i++)//外层一定是9行 { for(j=1;j〈=i;j++)//内层第几行走几遍 { printf(”%d*%d=%d”,i,j,i*j); } printf("\n"); } } //7。 百钱买百鸡 #include〈stdio.h〉 /** 百钱买百鸡,类似1,2,5凑100银币问题 */ intmain2() { inti,j;//公鸡,母鸡个数 for(i=0;i<=20;i++)//公鸡 { for(j=0;j〈=33;j++)//母鸡 { if((15*i+9*j+(100—i-j))==300) { printf(”公鸡%d,母鸡%d,小鸡%d\n”,i,j,100—i-j); } } } } //1,2,5凑100银币问题 intmain3() { intcount=0;//情况数 inti,j;//5分个数,2分个数 for(i=0;i<=20;i++)//5分个数 { for(j=0;j〈=50;j++)//2分个数 { if((5*i+2*j)〈=100) { count++; printf(”%d: 5分%d个,2分%d个,1分%d个\n",count,i,j,100-5*i-2*j); } } } } //8。 一维数组的最大值、最小值、平均值 #include h〉 #defineN10//宏定义常量 intmain() { inti;//下标索引 intmax,min; doublesum=0;//累加和 inta[N]={58,58,96,100,25,55,66,88,99,77}; max=a[0];//假设第一个最大 min=a[0];//假设第一个最小 for(i=1;i { if(a[i]>max)//比最大值还大 max=a[i];//你才是最大 if(a[i]〈min)//比最小值还小 min=a[i];//你才是最小 sum+=a[i]; } printf(”max=%d,min=%d\n”,max,min); printf("average=%。 2lf\n”,sum/N); } //9。 二维数组的最大值、最小值、平均值 #include h> intmain() { inti;//第几行 intj;//第几列 inta[3][4]={{1,2,3,4},{5,-6,7,8},{9,19,39,0}}; intmax=a[0][0];//假设你最大 intmin=a[0][0];//假设你最小 doubleaverage;//平均值 doublesum=0;//总和 for(i=0;i〈3;i++)//必定3行 { for(j=0;j〈4;j++)//必定4列 { printf("%5d”,a[i][j]); sum+=a[i][j]; if(a[i][j]〉max) max=a[i][j]; if(a[i][j]〈min) min=a[i][j]; } printf(”\n"); } average=sum/(3*4); printf("max=%d,min=%d,avg=%.2lf\n",max,min,average); } //10.二维数组转置 #include〈stdio.h> //二维数组转置: 行变列,列变行 intmain() { inti;//第几行 intj;//第几列 inta[3][4]={{1,2,3,4},{5,—6,7,8},{9,19,39,0}}; intb[4][3]; for(i=0;i〈3;i++) { for(j=0;j<4;j++) { printf("%5d”,a[i][j]); } printf("\n”); } //矩阵转置 for(i=0;i〈3;i++) { for(j=0;j〈4;j++) { b[j][i]=a[i][j]; } } for(i=0;i〈4;i++) { for(j=0;j<3;j++) { printf(”%5d”,b[i][j]); } printf(”\n”); } } //11。 冒泡排序 #include h〉 #defineN10//宏定义常量 intmain() { inti;//下标索引 intj; inttmp;//临时交换用 inta[N]={58,58,96,100,25,55,66,88,99,77}; //外层循环一定是N-1 for(i=0;i〈N—1;i++) { //两两交换,大的往后走 for(j=0;j { //交换 if(a[j]〉a[j+1]) { tmp=a[j]; a[j]=a[j+1]; a[j+1]=tmp; } } } for(i=0;i〈N;i++) { printf(”%d",a[i]);; } printf(”\n”); } //12.结构冒泡排序 #include〈stdio。 h〉 //结构定义,用户自定义类型 typedefstructstudent{ charsno[20];//学号 charname[20];//姓名 intage;//年龄 chargender;//性别 chartel[20];//电话 }; intmain() { inti; intj; doublesum=0; structstudenttmp;//两两交换临时用; //结构数组 structstudentteam[5]; for(i=0;i〈5;i++) { printf(”请输入第%d个队员的信息: \n”,i+1); scanf(”%s%s%d%c%s",team[i].sno,team[i]。 name,&team[i].age,&team[i]。 gender,team[i]。 tel); } //按年龄冒泡排序 for(i=0;i〈5;i++) { for(j=0;j〈5—i-1;j++) { //两两交换 if(team[j].age〉team[j+1].age) { tmp=team[j]; team[j]=team[j+1]; team[j+1]=tmp; } } } //取值 printf("%-12s%—10s%—5s%-5s%-15s\n”,”学号",”姓名”,”年龄",”性别","电话"); for(i=0;i<5;i++) { printf(”%—12s%-10s%-5d%—5c%—15s\n",team[i].sno,team[i].name,team[i]。 age,team[i].gender,team[i]。 tel); } } //13.结构数组找年龄最大值 #include h〉 //结构定义,用户自定义类型 typedefstructstudent{ charsno[20];//学号 charname[20];//姓名 intage;//年龄 chargender;//性别 chartel[20];//电话 }; intmain() { inti; structstudenttmp;//找最大临时用 //结构数组 structstudentteam[5]; for(i=0;i<5;i++) { printf("请输入第%d个队员的信息: \n”,i+1); scanf(”%s%s%d%c%s",team[i]。 sno,team[i]。 name,&team[i]。 age,&team[i]。 gender,team[i]。 tel); } //取值 printf("%—12s%—10s%-5s%-5s%—15s\n”,”学号",”姓名”,”年龄",”性别”,”电话”); for(i=0;i〈5;i++) { printf(”%-12s%-10s%—5d%—5c%—15s\n",team[i]。 sno,team[i].name,team[i].age,team[i].gender,team[i]。 tel); } //找学号最大的那一个 tmp=team[0]; for(i=1;i〈5;i++) { if(strcmp(team[i].sno,tmp。 sno)〉0) { tmp=team[i]; } } printf("学号最大的队员如下: \n"); printf(”%—12s%-10s%-5d%—5c%—15s\n",tmp.sno,tmp.name,tmp。 age,tmp.gender,tmp。 tel); } //14。 文件读写 #include h〉 #include〈stdlib.h> //结构定义,用户自定义类型 typedefstructstudent{ charsno[20];//学号 charname[20];//姓名 intage;//年龄 chargender;//性别 chartel[20];//电话 }; //文件读写 intmain() { structstudent*s,*p1;//个数未知 FILE*fp; inti,n=0; charbuf[1024];//fgets缓冲区 //打开文件 fp=fopen("e: \\test。 txt","r"); while(fgets(buf,1024,fp)! =NULL) n++; fclose(fp); //指向一个可以存储n个student结构的内存空间 s=(structstudent*)malloc(sizeof(structstudent)*n); p1=s;//不要动头位置s的值 //打开文件 fp=fopen(”e: \\test。 txt”,”r"); for(i=0;i { //从文件中读入一行 fscanf(fp,”%s%s%d%c%s”,p1-〉sno,p1—〉name,&p1—>age,&p1-〉gender,p1-〉tel); p1++; } fclose(fp); p1=s; for(i=0;i<3;i++) { printf("%s%s%d%c%s\n”,p1-〉sno,p1—〉name,p1—〉age,p1->gender,p1—〉tel); } free(s); } //15。 输入三角形三边长计算周长和面积 #include〈stdio。 h> #include〈math.h> intmain() { doublearea,perimeter,s,a,b,c; printf(”请输入三边长abc: ”); scanf("%lf%lf%lf”,&a,&b,&c); if((a+b>c)&&(a+c〉b)&&(b+c>a)) { s=(a+b+c)/2; area=sqrt(s*(s—a)*(s-b)*(s—c)); perimeter=a+b+c; printf(”area=%。 2f,perimeter=%。 2f\n",area,perimeter); } else { printf("三边长无法构成三角形。 \n"); } return0; } //16。 输入年份和月份输出对应那一月的天数,要处理闰年 #include intmain() { intyear,month; intleap=0; scanf("%d%d”,&year,&month); if((year%4==0&&year%100! =0)||year%400==0)//闰年2月29天 { leap=1; } switch(month) { case1: case3: case5: case7: case8: case10: case12: printf(”31");break; case4: case6: case9: case11: printf("30”);break; case2: printf("%d”,28+leap);break; default: printf("error”);break; } return0; } //17。 1,2,5分硬币问题 #include〈stdio.h> intmain() { intsum=0; for(inti=0;i〈=20;i++)//5分 { for(intj=0;j〈=50;j++)//2分 { if(5*i+2*j<=100) sum++; else break; } } printf("%d\n",sum); } //18.100到200所有的素数 #include intmain() { inti,j,n; //外层 for(i=100;i〈=200;i++) { n=i; //内层 for(j=2;j<=n—1;j++) { if(n%j==0) break;//不是素数 } if(j==n)//没找到 printf(”%d是素数\n",n); else printf("%d不是素数\n",n); } } //19.输入一个数n,计算12+22+32+…+n2 #include〈stdio。 h〉 intmain() { intsum=0; inti,k; scanf("%d",&k); i=1; while(i<=k) { sum=sum+i*i; i++; } printf("sum=%d\n",sum); } //20。 指针交换 //定义一个方法swap()通过指针交换两个整数,并在main()中调用 #include voidswap(int*pa,int*pb) { inttmp=*pa; *pa=*pb; *pb=tmp; } intmain() { inta=3; intb=5; int*pa=&a; int*pb=&b; swap(pa,pb); printf("a=%d,b=%d\n”,a,b); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word 语言 初学 代码
![提示](https://static.bdocx.com/images/bang_tan.gif)