首先,我知道家庭作业被人看不起,但我不是要求任何人为我完成这项工作,只是为了引导一点。我看过网上但是答案各不相同,因为我是新手,所以有点混乱。
我需要制作一个程序,用户输入蜗牛的名字以及完成一圈赛道所需的时间......这个时间需要在几秒钟内完成,但是在几分钟和几秒钟内完成
目前有;
#include<stdio.h>
#include<string>
int main() {
char snail_name[15] = "";
char time_taken[1000] = "";
printf("\nEnter name of snail: ");
scanf("%s", &snail_name);
printf("Time to finish course:");
scanf("%s", &time_taken);
printf("%s ran the course in\n", &snail_name,&time_taken);
}
目前有:
这意味着我需要它说5分钟内运行该课程(例如输入300),虽然代码目前不适用但我可能想出来,只需要知道我怎么样转换用户输入的数字,以分钟和秒显示。
答案 0 :(得分:2)
将整个时间作为整数而不是字符串接受,然后你可以将它除以60得到整分钟和60的模数来得到剩余的秒数:
#include <stdio.h>
#include <string>
int main() {
char snail_name[15] = "";
int time_taken = 0;
printf("\nEnter name of snail: ");
scanf("%15s", snail_name);
printf("Time to finish course:");
scanf("%d", &time_taken);
printf("%s ran the course in %d:%d\n", &snail_name, time_taken / 60, time_taken % 60);
return 0;
}
答案 1 :(得分:0)
我知道您有一个合适的答案,但如果您正在学习C++
,请使用iostream
代替来自printf
的{{1}}和scanf
。< / p>
C
如果作业声明您必须使用#include <iostream>
int main()
{
std::string snail_name;
int time_taken = 0;
std::cout << "Enter name: ";
std::cin >> snail_name;
std::cout << "Time to finish: ";
std::cin >> time_taken;
std::cout << snail_name << " ran the course in " << time_taken / 60 << ":" << time_taken % 60 << std::endl;
}
和printf
,那么您可以忽略此答案。但一般情况下,我建议您在尝试学习scanf
时尽量使用C++
。
我关联来自CppCon 2015: Kate Gregory “Stop Teaching C"的视频(您甚至可以将链接传递给讲师/老师)