C语言基础代码Word格式文档下载.docx

上传人:b****5 文档编号:21332070 上传时间:2023-01-29 格式:DOCX 页数:16 大小:26.34KB
下载 相关 举报
C语言基础代码Word格式文档下载.docx_第1页
第1页 / 共16页
C语言基础代码Word格式文档下载.docx_第2页
第2页 / 共16页
C语言基础代码Word格式文档下载.docx_第3页
第3页 / 共16页
C语言基础代码Word格式文档下载.docx_第4页
第4页 / 共16页
C语言基础代码Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言基础代码Word格式文档下载.docx

《C语言基础代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言基础代码Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

C语言基础代码Word格式文档下载.docx

main()

{intgrade;

inputgrade="

);

%d"

,&

grade);

switch((int)(grade/10))

{case10:

case9:

A\n"

break;

case8:

B\n"

case7:

C\n"

case6:

D\n"

default:

E\n"

}

}

4、求1+2+……+100的和,分别用while、do…while和for语句实现

(1)while

voidmain()

{intsum=0,i=1;

while(i<

=100)

{sum=sum+i;

i++;

sum=%d\n"

sum);

(2)do…while

voidmain()

{

intsum=0,i=1;

do

{sum=sum+i;

}while(i<

=100);

(3)for

#include<

intsum=0,i;

for(i=1;

i<

=100;

i++)

sum=sum+i;

printf("

5、输入10个数,用冒泡法对这10个数由小到大排序。

{inta[10];

inti,j,t;

input10numbers:

\n"

for(i=0;

10;

i++)

//数组输入

%d"

a[i]);

for(j=0;

j<

9;

j++)/*进行9次循环,实现9趟比较*/

for(i=0;

9-j;

i++)/*在每趟中进行9-j次比较*/

if(a[i]>

a[i+1])/*相邻两个数进行比较*/

{t=a[i];

a[i]=a[i+1];

a[i+1]=t;

}/*满足条件进行互换*/

thesortednumbers:

i++)//数组输出

%d"

a[i]);

6、选择排序

inti,j,min,temp;

inta[10]={6,90,45,56,1,15,44,78,58,101};

//为数组赋初值

//或键盘输入

/*printf("

enterdata:

i++)//输入10个数

a[%d]="

i);

scanf("

i++)//输出10个数

%5d"

*/

min=i;

for(j=i+1;

=9;

j++)

{

if(a[min]>

a[j])

min=j;

}

temp=a[i];

a[i]=a[min];

a[min]=temp;

\nThesortednumbers:

i++)//输出排序后的10个数

getchar();

7、//编一程序,将两个字符串连接起来。

不要用函数strcat

chars1[80],s2[40];

inti=0,j=0;

\ninputstring1:

%s"

s1);

inputstring2:

s2);

while(s1[i]!

='

\0'

while(s2[j]!

s1[i++]=s2[j++];

s1[i]='

;

Thenewstringis:

%s\n"

8、函数1:

(参数为值传递)

voidmain()

{intmax(intx,inty);

inta,b,c;

%d%d"

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

{floataverage(floatarray[10]);

floatscore[10],aver;

inti;

input10scores:

%f"

score[i]);

aver=average(score);

averagescoreis%5.2f\n"

aver);

 

floataverage(floatarray[10])

{inti;

floataver,sum=array[0];

for(i=1;

sum=sum+array[i];

aver=sum/10;

return(aver);

10、对输入的两个整数按大小顺序输出,用指针变量作函数的参数。

(地址传递)

{voidswap(int*p1,int*p2);

inta,b;

int*pointer_1,*pointer_2;

pointer_1=&

a;

pointer_2=&

b;

if(a<

b)swap(pointer_1,pointer_2);

/*调用函数后,a,b的值进行了交换*/

%d,%d\n"

a,b);

//等价于:

*pointer_1,*pointer_2);

voidswap(int*p1,int*p2)

{inttemp;

temp=*p1;

*p1=*p2;

*p2=temp;

11、有一整型数组a,有10个元素。

要输出各元素的值有三种方法

(1)下标法

{inta[10];

(2)通过数组名计算出数组元素的地址,找出数组元素的值。

voidmain()

*(a+i));

⑶用指针变量指向数组元素

int*p,i;

for(p=a;

p<

(a+10);

p++)

*p);

上述3种方法中有关数组元素的输入也可用下列方法表示:

a+10;

p++)

p);

12、输入两个学生学号、姓名和成绩,输出成绩较高的学生的学号、姓名和成绩。

#include<

{structstudent

{intnum;

charname[20];

intscore;

}s1,s2;

%d%s%d"

s1.num,s1.name,&

s1.score);

s2.num,s2.name,&

s2.score);

numnamescore\n"

if(s1.score>

=s2.score)

%d%s%d\n"

s1.num,s1.name,s1.score);

%d%s%d"

s2.num,s2.name,s2.score);

}

13、有N个学生的信息(包括学号,姓名,成绩),要求按照成绩的高低顺序存储并输出各学生的信息。

string.h>

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

6;

{max=i;

=5;

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

s[i].num,s[i].name,s[i].score);

14、从键盘输入4个学生的有关数据,然后把它们转存到磁盘文件上去。

#defineSIZE4

structstudent_type

{charname[10];

intnum;

intage;

charaddr[15];

}stud[SIZE];

{voidsave();

SIZE;

i++)/*从键盘输入*/

%s%d%d%s"

stud[i].name,&

stud[i].num,&

stud[i].age,stud[i].addr);

save();

voidsave()

{FILE*fp;

if((fp=fopen("

stu-list"

"

wb"

))==NULL)

{printf("

cannotopenfile\n"

return;

for(i=0;

if(fwrite(&

stud[i],sizeof(structstudent_type),1,fp)!

=1)

printf(“filewriteerror\n”);

/*出错*/

fclose(fp);

/*关闭文件*/

15、将以上数据读出并显示

{inti;

FILE*fp;

if((fp=fopen("

stu_list"

rb"

))==NULL)

{fread(&

stud[i],sizeof(structstudent_type),1,fp);

%-10s%4d%4d%-15s\n"

stud[i].name,stud[i].num,stud[i].age,stud[i].addr);

fclose(fp);

16、//有15个数按照从小到大的顺序存放在一个数组中。

输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。

如果该数不在数组中,输出“不在表中”

#defineN15

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

N;

while(flag)

inputnumbertolookfor:

number);

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;

else

top=mid+1;

if(!

sign||loca==-1)

printf("

cannotfind%d.\n"

number);

continueornot(Y/N)?

%c"

c);

getchar();

if(c=='

N'

||c=='

n'

flag=0;

6

01234567891011121314

134568122334444556575868

7

134568122334444556575868

区分:

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

(1)break:

判断整数m是否素数

#include<

math.h>

{intm,i,k;

输入一个整数:

m);

k=sqrt(m);

for(i=2;

=k;

if(m%i==0)break;

if(i>

=k+1)

%d是一个素数。

m);

else

%d不是一个素数。

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

intj;

for(j=1;

if(j%2==1)

printf(“D”);

else

continue;

printf(“B”);

printf(“P\n”);

答案:

DBDBDBP

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

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1