姓名:赵博伦
学号:2018510485
C程序设计(第五版)1~7章例题
- 第1章 程序设计和C语言
- 算法——程序的灵魂
- 第三章 最简单的C程序设计——顺序程序设计
-
- 3.1有人用温度计测量出用华氏法表示的温度(如64°F),今要求把它转换为以摄氏法表示的温度(如17.8°C)。
- 3.2计算存款利息。有1000元,想存一年。有三种方法可选:(1)活期,年利率为r1;(2)一年期定期,年利率为r2;(3)存两次半年定期,年利率为r3.请分别计算出一年后三种方法所得到的本息和。
- 3.3给定一个大写字母,要求用小写字母输出。
- 3.4给出三角形的三边长,求三角形面积。
- 求ax²+bx+c=0的方程的根。a,b,c由键盘输入,设b²-4ac>0。
- 3.6用%f输出实数,只能得到6位小数。
- 3.7float型数据的有效位数。
- 3.8先后输出BOY三个字符。
- 3.9从键盘输入BOY3个字符,然后把它们输出到屏幕。
- 3.10改写例3.3程序,使之可以适用于任何大写字母。从键盘输入一个大写字母,在显示屏上显示对应的小写字母。
- 第四章 选择结构程序设计
-
- 4.1 题目要求解得ax²+bx+c=0方程的根。由键盘输入a,b,c.假设a,b,c的任意值,并不保证b²-4ac>=0.需要在程序中进行判别,如果b²-4ac>=0,就计算并输出方程的两个实根,如果b²-4ac<0,就输出“次方程无实根”的信息。
- 4.2输入两个实数,按由小到大的顺序输出这两个数。
- 4.3输入3个数a,b,c,按要求由小到大的顺序输出。
- 4.4输入一个字符,判别他是否为大写字母,如果是,将他转化成小写字母;如果不是,不转换。然后输出最后得到的自符。
- 4.6A等为85分以上,B等为70—84分,C等为60—69分,D等为60分以下。成绩的等级由键盘输入。
- 用switch语句处理菜单命令。在许多应用程序中。用菜单对流程进行控制。
- 4.8写一程序,判断某一年是否为闰年。
- 4.9求ax²+bx²+c=0方程的解。
- 第五章 循环结构程序设计
- 第六章 利用数组处理批量数据
- 第七章 用函数实现模块化程序设计
-
- 7.1 想输出以下的结果,用函数调用实现。
- 7.2输入两个整数,要求输出其中值较大者。
- 7.3 将7.2稍加改动,将在max函数中定义的变量z改为float型。
- 7.4 输入两个实数,用一个函数求出他们之和。
- 7.5输入4个整数,找出其中最大的数。
- 7.6有五个学生坐在一起,问第五个学生多少岁,他说比第4个学生大2岁,问第4个学生岁数,他说比第三个学生大2岁。问第三个学生,他说比第2个学生大2岁,最后问第一个学生,他说是10岁。请问第5个学生多大。
- 7.7用递归法求n!
- 7.8汉诺塔问题。
- 7.9输入10个数,要求输出其中最大的元素和改数是第几个数。
- 7.10 有一个一维数组score,内放10个学生成绩,求平均成绩。
- 7.11有两个班级,分别有35名和30名学生,调用一个average函数,分别求这两个班的学生的平均成绩。
- 7.12用选择法对数组中10个整数按由小到大排序。
- 7.13有一个3×4的矩阵,求所有元素中的最大值。
- 7.14 有一个一维数组,内放10个学生成绩,写一个函数,当主函数调用此函数后,能求出平均分,最高分和最低分。
- 7.15 若外部变量与局部变量同名,分析结果。
- 7.16考察静态局部变量的值。
- 7.17输出1到5的阶乘。
- 7.18 调用函数,求3个整数中的大者。
- 7.19给定b的值,输入a和吗,求a*b和a的m次方的值。
第1章 程序设计和C语言
1.1 要求在屏幕上输出以下一行信息
#include<stdio.h>
int main()
{
printf("This is a C program.\n");
return 0;
}
1.2 求两个整数之和
#include<stdio.h>
int main()
{
int a,b,sum;
a=123;
b=456;
sum=a+b;
printf("sum is %d\n",sum);
return 0;
}
1.3 求两个整数中的较大者
#include<stdio.h>
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y)z=x;
else z=y;
return (z);
}
算法——程序的灵魂
2.1 求1×2×3×4×5。
#include<stdio.h>
int main()
{
int i,j=1;
for(i=1;i<=5;i++)
{
j*=i;
}
printf("%d\n",j);
return 0;
}
2.2有50个学生,要求输出成绩在80分以上的学生的学号和成绩。
#include <stdio.h>
int main()
{
int i;
int No[50],Score[50];
for(i=0;i<50;i++)
{
printf("请输入第%d个学生的学号和成绩\n",i+1);
scanf("%d %d",&No[i],&Score[i]);
}
printf("成绩高于80分的学生的学号是:\n");
for(i=0;i<50;i++)
{
if(Score[i]>80)
{
printf("%d ",No[i]);
}
}
return 0;
}
2.3 判定2000-2500年中的每一年是否为闰年,并将结果输出。
#include<stdio.h>
int main()
{
int i;
for(i=2000;i<=2500;i++)
{
if(i%4==0&&i%100!=0||i%400==0)
{
printf("%d年是闰年 ",i);
}
else
printf("%d年不是闰年 ",i);
if(i%5==0)
{
printf("\n");
}
}
return 0;
}
2.4求1一减二分之一加三分之一减四分之一加。。。九十九分之一减一百分之一。
#include <stdio.h>
int main()
{
double t=1;
int i;
for(i=2;i<=50;i++)
{
if(i%2==0)
{
t+=-1*(1.0/i);
}
else
{
t+=1.0/i;
}
}
printf("%lf\n",t);
return 0;
}
2.5给出一个大于或等于3的正整数,判断它是不是一个素数。
#include <stdio.h>
int main()
{
int i,t,n;
scanf("%d",&n);
for(t=1,i=2;i<n;i++)
if(n%i==0)
t=0;
if(t)
printf("%d是素数\n",n);
else
printf("%d不是素数\n",n);
return 0;
}
第三章 最简单的C程序设计——顺序程序设计
3.1有人用温度计测量出用华氏法表示的温度(如64°F),今要求把它转换为以摄氏法表示的温度(如17.8°C)。
#include<stdio.h>
int main()
{
float f,c;
f=64.0;
c=(5.0/9)*(f-32);
printf("f=%f\nc=%f\n",f,c);
return 0;
}
在这里插入图片描述
3.2计算存款利息。有1000元,想存一年。有三种方法可选:(1)活期,年利率为r1;(2)一年期定期,年利率为r2;(3)存两次半年定期,年利率为r3.请分别计算出一年后三种方法所得到的本息和。
#include<stdio.h>
int main()
{
float p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3;
p1=p0*(1+r1);
p2=p0*(1+r2);
p3=p0*(1+r3/2)*(1+r3/2);
printf("p1=%f\np2=%f\np3=%f\n",p1,p2,p3);
return 0;
}
3.3给定一个大写字母,要求用小写字母输出。
#include<stdio.h>
int mian()
{
char c1,c2;
c1='A';
c2=c1+32;
printf("%c\n",c2);
printf("%d\n",c2);
return 0;
}
去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片
.
// An highlighted block
var foo = 'bar';
3.4给出三角形的三边长,求三角形面积。
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,s,area;
a=3.67;
b=5.43;
c=6.21;
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%f\tb=%f\tc=%f\n",a,b,c);
printf("area=%f\n",area);
return 0;
}
求ax²+bx+c=0的方程的根。a,b,c由键盘输入,设b²-4ac>0。
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2.0*a);
q=sqrt(disc)/(2.0*a);
x1=p+q;x2=p-q;
printf("x1=%7.2f\nx2=%7.2f\n",x1,x2);
return 0;
}
3.6用%f输出实数,只能得到6位小数。
#include<stdio.h>
int main()
{
double a=1.0;
printf("%lf\n",a/3);
return 0;
}
3.7float型数据的有效位数。
#include<stdio.h>
int main()
{
double a;
a=10000/3.0;
printf("%lf\n",a);
return 0;
}
3.8先后输出BOY三个字符。
#include<stdio.h>
int main()
{
char a='B',b='O',c='Y';
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}
3.9从键盘输入BOY3个字符,然后把它们输出到屏幕。
#include<stdio.h>
int main()
{
char a,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
return 0;
}
3.10改写例3.3程序,使之可以适用于任何大写字母。从键盘输入一个大写字母,在显示屏上显示对应的小写字母。
#include<stdio.h>
int main()
{
char c1,c2;
c1=getchar();
c2=c1+32;
putchar(c2);
putchar('\n');
return 0;
}
第四章 选择结构程序设计
4.1 题目要求解得ax²+bx+c=0方程的根。由键盘输入a,b,c.假设a,b,c的任意值,并不保证b²-4ac>=0.需要在程序中进行判别,如果b²-4ac>=0,就计算并输出方程的两个实根,如果b²-4ac<0,就输出“次方程无实根”的信息。
#include<stdio.h>
#include<math.h>
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,