习题1:把用分钟表示的时间转换为用小时和分钟表示的时间
代码:
#include<stdio.h>
#define M_TO_H 60 //每小时60分钟
int main(){
int minutes,hours,input;
/* 定义const常量
* const int M_TO_H = 60;
*/
printf("please input the time(input<=0 to quit):");
scanf("%d",&input);
while(input>0){
hours = input / M_TO_H;
minutes = input % M_TO_H;
printf("%d minutes = %d hours %d minutes\n",input,hours,minutes);
printf("\n");
printf("please input the time(<=0 to quit):");
scanf("%d",&input);
}
printf("program exit!\n");
return 0;
}
同类型天数转换:
#include<stdio.h>
int main(){
const int WEEK_PER_DAY = 7;
int days,weeks,input;
printf("CONVERT DAYS TO WEEKS!\n");
printf("PLEASE INPUT DATA(<=0 to quit): ");
scanf("%d",&input);
while(input>0){
days = input % WEEK_PER_DAY;
weeks = input / WEEK_PER_DAY;
/* 注意:days,weeks在scanf()读取前赋值无效 */
printf("%d days are %d weeks, %d days.\n",input,weeks,days);
printf("PLEASE INPUT DATA(<=0 to quit): ");
scanf("%d",&input);
}
printf("PROGRAM EXIT!");
return 0;
}
days,weeks在scanf()读取前赋值无效,如:
#include<stdio.h>
int main(){
const int WEEK_PER_DAY = 7;
int days,weeks,input;
days = input % WEEK_PER_DAY;
weeks = input / WEEK_PER_DAY;
printf("PLEASE INPUT DATA(<=0 to quit): ");
scanf("%d",&input);
printf("%d days are %d weeks, %d days.\n",input,weeks,days);
return 0;
}
正确代码段:
#include<stdio.h>
int main(){
const int WEEK_PER_DAY = 7;
int days,weeks,input;
printf("PLEASE INPUT DATA(<=0 to quit): ");
scanf("%d",&input);
days = input % WEEK_PER_DAY;
weeks = input / WEEK_PER_DAY;
printf("%d days are %d weeks, %d days.\n",input,weeks,days);
return 0;
}