编写一个程序,提示用户输入天数,然后将其转换成周数和天数。
例如,如果用户输入100,则转换成14周2天,
要求:通过while循环让用户重复输入天数,当用户输入一个非正值时,循环结束。
编程分析:
定义符号变量: W_DAYS
#define W_DAYS 7//每周有7天
题目要求程序循环读取用户输入的天数,计算周数和不足一周的天数。
可以通过“/”除法运算符和“%”取余运算符进行计算。
weeks = s_days / W_DAYS;//计算周数,截断周数
days = s_days % W_DAYS;//计算天数
程序如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#define W_DAYS 7//每周有7天
int main()
{
int days, weeks;//定义变量表示天数、周数
int s_days ;//表示输入的天数
printf("请输入天数:\n");
scanf("%d", &s_days);//读取用户输入
while (s_days > 0)
{
weeks = s_days / W_DAYS;//计算周数,截断周数
days = s_days % W_DAYS;//计算天数
printf("%4d是%4d周%2d天\n", s_days, weeks, days);
printf("请再次输入天数:(如果输入的小于0,则输出结束)\n");
scanf("%d", &s_days);
}
printf("结束");
return 0;
}
输出结果如下:
该程序问题和上次发布的分钟转换小时分钟的类似: