c语言课后习题代码.docx

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

c语言课后习题代码.docx

《c语言课后习题代码.docx》由会员分享,可在线阅读,更多相关《c语言课后习题代码.docx(13页珍藏版)》请在冰点文库上搜索。

c语言课后习题代码.docx

c语言课后习题代码

1.编程实现:

输入一个字母,若为小写,则把它变成大写输出。

代码如下:

#include<>

main()

{

charc;

printf("Pleaseinputacharacter:

");

scanf("%c",&c);

if(c>='a'&&c<='z')

printf("Theresultis:

%c\n",c-32);

}

2.由键盘输入3个数a、b、c,编程输出其中最小的数。

代码如下:

#include<>

main()

{

inta,b,c,t;

printf("Pleaseinputthreenumbers:

");

scanf("%d%d%d",&a,&b,&c);

if(a>b)

{

t=a;

a=b;

b=t;

}

if(a>c)

{

t=a;

a=c;

c=t;

}

printf("Theminimumis:

%d\n",a);

}

3.由键盘输入三个数a、b、c,用条件运算符求出最大值和最小值。

代码如下:

#include<>

main()

{

inta,b,c,min,max;

printf("Pleaseinputthreenumbers:

");

scanf("%d%d%d",&a,&b,&c);

max=min=a;f米,第4次反弹的高度为:

%.3f米\n",sum,h1);

}

第六章

1.求二维数组中全部元素的和。

假定二维数组为a[2][3]={1,2,3,4,5,6}

代码如下:

#include<>

main()

{

inta[2][3]={1,2,3,4,5,6},i,j,sum=0;

for(i=0;i<2;i++)

for(j=0;j<3;j++)

sum+=a[i][j];

printf("Thesumis:

%d\n",sum);

}

2.有三个字符串,要求按照字母的顺序输出。

假定为:

America,China,India;

代码如下:

#include<>

main()

{

chara[]="China",b[]="America",c[]="India",t[]={"\0"};

inti,j;

if(strcmp(a,b)>0){strcpy(t,a);strcpy(a,b);strcpy(b,t);}

if(strcmp(a,c)>0){strcpy(t,a);strcpy(a,c);strcpy(c,t);}

if(strcmp(b,c)>0){strcpy(t,b);strcpy(b,c);strcpy(c,t);}

puts(a);puts(b);puts(c);

}

 

3.求一个3*4矩阵的所有靠外侧的元素值之和。

矩阵如下:

1

2

3

4

5

6

7

8

9

10

11

12

代码如下:

#include<>

main()

{

inta[4][3],i,j,m=1,sum=0;

for(i=0;i<4;i++)

for(j=0;j<3;j++,m++)

a[i][j]=m;

for(i=0;i<4;i++)

for(j=0;j<3;j++)

{

if(i==0||i==3)

sum+=a[i][j];

else

if(j==0||j==2)

sum+=a[i][j];

}

printf("Thesumis:

%d\n",sum);

}

4.将一个数组中的值按逆序重新存放,例如原来的顺序为:

8,6,5,4,1。

要求改为:

1,4,5,6,8。

代码如下:

#include<>

intmain()

{

inta[]={8,6,5,4,1},i,j,t;

for(i=0;i<=2;i++)

{

t=a[i];

a[i]=a[4-i];

a[4-i]=t;

}

for(i=0;i<5;i++)

printf("%d",a[i]);

printf("\n");

}

5.已有一个排序好的数组,输入一个数,要求按原来的顺序将它插入数组中。

假定排序好的数组为:

a[]={1,8,11,14,16,17,21}

代码如下:

#include<>

intmain()

{

inta[]={1,8,11,14,16,17,21},i,j,t,b[8];

printf("Pleaseinputanumber:

");

scanf("%d",&t);

for(i=0;i<7;i++)

{

if(a[i]>t)

{

j=i;

break;

}

}

for(i=0;i<8;i++)

{

if(i

elseif(i==j)b[i]=t;

elseb[i]=a[i-1];

}

for(i=0;i<8;i++)

printf("%d",b[i]);

printf("\n");

}

6.求一维数组各元素的平均值。

假定数组为:

a[]={1,2,3,4,5,6}

代码如下:

#include<>

main()

{

inta[6],i,sum=0;

for(i=0;i<6;i++)

a[i]=i+1;

for(i=0;i<6;i++)

sum+=a[i];

printf("Thesumis:

%d\n",sum);

}

7.编写一个程序,将两个字符串连接起来,不要用strcat函数。

代码如下:

#include<>

intmain()

{

chara[]="China",b[]="stronger!

";

charc[sizeof(a)+sizeof(b)];

inti,j;

for(i=0;a[i]!

=0;i++)

c[i]=a[i];

for(j=0;b[j]!

=0;j++)

c[i+j]=b[j];

c[i+j]=0;

printf("连接后的字符串为:

%s\n",c);

}

第七章

1.编写一个函数,使输入的一个字符串反序存放,在主函数中输入和输出字符串。

代码如下:

#include<>

#include<>

voidsort(char[]);

intmain()

{

chara[101];

printf("请输入一个字符串(100个字符以内):

");

scanf("%s",a);

sort(a);

printf("%s\n",a);

}

n",result[0],result[1],result[2]);

}

int*kind(char**s,int*result)

{

intdigit=0,ch1=0,ch2=0,space=0,i,j;

for(i=0;i<5;i++)

{

for(j=0;s[i][j]!

=0;j++)

{

if(s[i][j]>='a'&&s[i][j]<='z')

ch1++;

elseif(s[i][j]>='A'&&s[i][j]<='Z')

ch2++;

elseif(s[i][j]>='0'&&s[i][j]<='9')

digit++;

elsespace++;

}

}

result[0]=digit;

result[1]=ch1;

result[2]=ch2;

returnresult;

}

1.用指针编写求字符串长度的函数。

函数代码如下:

intslength(char*s)

{

inti,j=0;

for(i=0;s[i]!

=0;i++)

j++;

returnj;

}

2.编写函数,对传送过来的3个数选出最大数和最小数,并通过形参返回调用函数。

函数代码如下:

#include<>

intmain()

{

voidcompare(int,int,int,int&,int&);

inta,b,c,max,min;

scanf("%d%d%d",&a,&b,&c);

max=min=a;

compare(a,b,c,max,min);

printf("最大值:

%d,最小值:

%d.\n",max,min);

}

voidcompare(inta,intb,intc,int&x,int&y)

{

x=x>c?

(x>b?

x:

b):

c;

y=y

(y

y:

b):

c;

}

3.编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。

要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。

代码如下:

#include<>

intmain()

{

char*copy(char*,int);

chars[101];

char*r;

intm;

printf("请输入字符串:

");

scanf("%s",&s);

printf("请输入复制的起始位置:

");

scanf("%d",&m);

r=copy(s,m);

printf("复制后的函数为:

%s",r);

}

char*copy(char*str,intsite)

{

inti;

char*p;

p=&str[site-1];

returnp;

}

第十章

1.定义一个结构体类型,成员包括职工号、姓名、性别、年龄、工资和地址。

定义结构体指针和数组,数组含4个元素,用初始化方式赋值并输出。

代码如下:

#include<>

intmain()

{

structworker

{

charnumber[5];umber,p[i].name,p[i].sex,p[i].age,p[i].pay,p[i].address);

}

2.存储一个班学生姓名,然后输入一个学生的姓名,查找该人是否为该班的学生。

代码如下:

#include<>

#include<>

intmain()

{

structstudent

{

charname[20];

};

structstudent*p,stu[5]={"Zhouchang","Zhanglong","Zhaoqing","Huwei","Liujian"};

charn[20]="Zhaoqing";

inti;

p=stu;

printf("请输入姓名以查找:

");

gets(n);

for(i=0;i<5;i++)

{

if(strcmp(p++->name,n)==0)

{

printf("是该班级学生。

\n");

break;

}

elseif(i==4)

printf("不是该班级学生。

\n");

}

}

3.读入班级学生人数,每名学生学号和4门功课成绩,计算全班每名学生4门功课的平均成绩。

代码如下:

#include<>

#include<>

#definelensizeof(structstudent)

intmain()

{

typedefstructstudent

{

charname[20];

charnumber[10];f\t\t\n",stu->number,stu->name,stu->aver);

printf("\n");

free(head);umber);

printf("请输入第%d个学生姓名(19字符以内):

",i+1);

scanf("%s",s[i].name);

printf("请输入第%d个学生成绩:

",i+1);

scanf("%f",&s[i].grades);

}

max=0;

for(i=0;i<4;i++)

{

if(max

max=s[i].grades;

}

printf("拥有最高分的学生信息如下:

\n");

printf("学号\t\t姓名\t\t成绩\n");

for(i=0;i<4;i++)

{

if(max==s[i].grades)

printf("%s\t\t%s\t\t%f\n",s[i].number,s[i].name,s[i].grades);

}

}

 

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

当前位置:首页 > 自然科学 > 物理

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

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