C语言基础代码.docx

上传人:b****1 文档编号:10307759 上传时间:2023-05-25 格式:DOCX 页数:15 大小:18.94KB
下载 相关 举报
C语言基础代码.docx_第1页
第1页 / 共15页
C语言基础代码.docx_第2页
第2页 / 共15页
C语言基础代码.docx_第3页
第3页 / 共15页
C语言基础代码.docx_第4页
第4页 / 共15页
C语言基础代码.docx_第5页
第5页 / 共15页
C语言基础代码.docx_第6页
第6页 / 共15页
C语言基础代码.docx_第7页
第7页 / 共15页
C语言基础代码.docx_第8页
第8页 / 共15页
C语言基础代码.docx_第9页
第9页 / 共15页
C语言基础代码.docx_第10页
第10页 / 共15页
C语言基础代码.docx_第11页
第11页 / 共15页
C语言基础代码.docx_第12页
第12页 / 共15页
C语言基础代码.docx_第13页
第13页 / 共15页
C语言基础代码.docx_第14页
第14页 / 共15页
C语言基础代码.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C语言基础代码.docx

《C语言基础代码.docx》由会员分享,可在线阅读,更多相关《C语言基础代码.docx(15页珍藏版)》请在冰点文库上搜索。

C语言基础代码.docx

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

#includevoidmain()

{

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个数由小到大排序。

#includevoidmain()

{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、选择排序

#includevoidmain()

{

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求平均成绩。

#includevoidmain()

{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)下标法#includevoidmain()

{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、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。

#includevoidmain()

{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;

}

elseif(number

bott=mid-1;

else

top=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;

}

6

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

 

7

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

1

3

4

5

6

8

12

23

34

44

45

56

57

58

68

区分:

break语句跳出循环,用continue语句结束本次循环

(1)break:

判断整数m是否素数

#include

#includevoidmain()

{intm,i,k;printf("输入一个整数:

");scanf("%d",&m);k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;

if(i>=k+1)

printf("%d是一个素数。

\n",m);

elseprintf("%d不是一个素数。

\n",m);

}

(2)写出以下程序运行结果

voidmain()

{

intj;

for(j=1;j<=5;j++)

{if(j%2==1)printf(“D”);

elsecontinue;

printf(“B”);

}

printf(“P\n”);

}答案:

DBDBDBP

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2