答案在最后面:
实验一、编写一个程序,计算N升纯净水所包含的分子个数,结果用科学计数法表示。
实验二、编写一个程序,将用户输入的天数转化为等价的星期数和剩余的天数。
例如:
实验三、编写一个程序,用户输入华氏温度F,程序输出摄氏温度C,结果保留2位小数。
提示:
华氏温度F转化为摄氏温度C的公式为: C = 5×(F - 32)÷ 9
实验四、不使用编译器算出printf的结果。
实验五、编写一个程序,计算 1+2+3+4+…+n 的值。
六、答案:
一、代码示例:
#include <stdio.h>
int main() {
// 定义常量
const double AVOGADRO_NUMBER = 6.022e23; // 阿伏伽德罗常数
const double MOLECULAR_WEIGHT_WATER = 18.0; // 水的摩尔质量(g/mol)
const double WATER_DENSITY = 1000.0; // 水的密度(g/L)
// 用户输入:水的体积(L)
int i;
double volume_liters;
printf("请输入水的体积 (升): ");
while (i!=1)
{
i=scanf("%lf", &volume_liters);
if(i!=1)
{
printf("输入错误,请重新输入:\n");
}
while (getchar() != '\n');
}
// 计算水的质量(g)
double mass_grams = volume_liters * WATER_DENSITY;
// 计算摩尔数
double moles = mass_grams / MOLECULAR_WEIGHT_WATER;
// 计算分子数
double molecules = moles * AVOGADRO_NUMBER;
// 输出结果
printf("在 %.0f 升水中,含有 %.2e 个水分子。\n", volume_liters, molecules);
return 0;
}
二、代码示例
#include <stdio.h>
int main() {
int days, weeks, remaining_days,i;
printf("请输入天数: ");
// 提示用户输入天数
while (i!=1)
{
i=scanf("%d", &days);
if(i!=1)
{
printf("请输入一个整数!\n");
}
while (getchar()!='\n');
}
// 计算星期数和剩余天数
weeks = days / 7; // 完整的星期数
remaining_days = days % 7; // 剩余的天数
// 输出结果
printf("%d 天相当于 %d 星期和 %d 天。\n", days, weeks, remaining_days);
return 0;
}
三、代码示例
#include <stdio.h>
int main() {
float f, c;
int i=0;
// 提示用户输入华氏温度
printf("请输入华氏温度: ");
while (i!=1)
{
i=scanf("%f", &f);
if(i!=1)
{
printf("请输入正确的华氏温度:\n ");
}
while (getchar()!='\n');
}
// 华氏转摄氏公式
c= 5 * (f - 32) / 9;
// 输出转换后的摄氏温度,保留两位小数
printf("摄氏温度为: %.1f\n", c);
return 0;
}
四、解决步骤:
五、代码示例
#include <stdio.h>
int main(int argc, char const *argv[])
{
int num=0;
unsigned long long int sum=0;
int n=0;
int i=0;
printf("请输入一个正整数:\n");
while (num!=1)
{
num=scanf("%d", &n);
if(num!=1)
{
printf("请输入一个正整数:\n");
}
while (getchar()!='\n');
}
while (i<=n)
{
sum=sum+i;
i++;
}
printf("1+2+...+%d的值等于%llu\n", n,sum);
return 0;
}