5.11 编程练习
1.
/*计算多个分钟对应的小时*/
#include <stdio.h>
#define a 60 /*一小时60分钟*/
int main(void)
{
float time,hour; /*声明语句*/
while(scanf("%f",&time)==1&&time>0)/*可以允许用户重复输入,
并且当键入的值<=0的时间的时候时终止*/
{
hour=time/a;
printf("The input is %f and %f\n",time,hour);
}
return 0;
2.
/*计算多个分钟对应的小时---- while循环*/
#include <stdio.h>
int main(void)
{
int i=0; /*变量初始化initialize*/
int a;
scanf("%d",&a);
while(i++<=10)/*11次循环*/
{
printf("%d ",a);
a++;
}
return 0;
}
/*计算多个分钟对应的小时---- for循环*/
#include <stdio.h>
int main(void)
{
int i,a;
scanf("%d",&a);
for(i=0;i<=10;i++)/* while 循环开始,11次循环*/
{ /*代码块开始*/
printf("%d ",a);
a++;
} /*代码块开始*/
return 0;
}
结果显示:
3.
/*weeks and days*/
#include <stdio.h>
#define he 7 /*一周有7天*/
int main(void)
{
int a; /*声明语句*/
while(scanf("%d",&a)==1&&a>=0)/*while 循环开始*/
printf("%d days are %d weeks,%d days.\n",a,a/he,a%he);/*语句*/
return 0;
}
显示结果:
4.
/*addemup.c*/
#include <stdio.h>
int main(void) /*计算整数的和*/
{
int count,sum,a;/*声明语句*/
count=0; /*赋值语句*/
sum=0; /*同上*/
scanf("%d",&a); /*输入函数*/
printf("a=%d\n",a); /*输出函数*/
while(count++<a)/*用一个变量a来告诉程序在何处结束*/
sum=sum+count;/*语句*/
printf("sum=%d\n",sum);/*函数语句*/
return 0;
}
注:在调试这个程序的时候发现,直接有输入语句scanf("%d",&a);,不输出在下一句while(count++<a)使用输入的数据,不起作用,只有输出了,数据才能生效,被后面的语句使用.
5.
/*addemup.c*/
#include <stdio.h>
int main(void) /*计算整数的平方和*/
{
int count,sum,a;/*声明语句*/
count=0; /*赋值语句*/
sum=0; /*同上*/
scanf("%d",&a); /*输入函数*/
printf("a=%d\n",a);
while(count++<a)/*用一个变量a来告诉程序在何处结束*/
sum=sum+count*count;/*语句*/
printf("sum=%d\n",sum);/*函数语句*/
return 0;
}
结果显示:
6.
/*定义一个带有参数的函数*/
#include <stdio.h>
void cubic(float n);/*ISO/ANSI C函数原型*/
int main(void) /*求一个数的立方*/
{
float a;
scanf("%f",&a); /*输入一个float型参数*/
cubic(a); /*函数调用*/
return 0;
}
void cubic(float n)/*函数定义的开始*/
{ /*说明该函数接受了一个float参数*/
double b;
b=n*n*n; /*计算并打印该值的立方*/
printf("b=%f\n",b);
}
7.
/*温度的三种表示法之间的换算*/
#include <stdio.h>
#define a 1.8 /**/
#define b 32.0
#define c 273.16
void Temperatures(double n);/*ANSI风格的原型*/
int main(void)
{
double Fahrenheit; /*声明语句*/
while(scanf("%lf",&Fahrenheit)==1)/*可以允许用户重复输入,%lf是double类型的说明符*/
Temperatures(Fahrenheit);/*函数调用*/
return 0;
}
void Temperatures(double n) /*说明该函数接受一个double参数*/
{
double Celsius,Kelvin; /*声明语句*/
Celsius=a*n+b; /*华氏温度和摄氏温度的转换*/
Kelvin=Celsius+c; /*摄氏温度和绝对温度的转换*/
printf("n=%.2f\nCelsius=%.2e\nKelvin=%.2e\n",n,Celsius,Kelvin);/*三种温度的输出*/
}结果显示: