哈尔滨工业大学C语言2016年MOOC在线测试答案(10)

2019-08-20 20:39

{

int i=1;

while(ss[i]*ss[i]<=k) {

if (k%ss[i]==0) return 0; i++; }

return 1; }

int main() {

int a;

int n=2,i,sum=0; ss[1]=2;ss[2]=3; printf(\ scanf(\

for (i=4;i<=a;i++)

if (is(i)) ss[++n]=i; for (i=n;i>=n-9;i--) {

printf(\ sum+=ss[i]; }

printf(\

return 0; }

4

字符串逆序(4分)

题目内容:

用字符数组作函数参数编程,利用一个数组实现字符串(允许输入带空格的字符串)的逆序存放。要求如下:

(1)在主函数中从键盘输入字符串,字符串的最大长度为80个字符。

调用Inverse()函数将字符串逆序存放,然后在主函数中输出逆序后的字符串。 (2)在子函数Inverse()中实现字符串的逆序存放。函数原型为: void Inverse(char str[]); 程序运行结果示例1:

Input a string: abcde↙ Inversed results: edcba

程序运行结果示例2: Input a string: hello↙

Inversed results: olleh

输入格式: 用gets()输入字符串 输出格式:

输入提示信息:\ 输出提示信息:\\\n\用puts()输出字符串

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include int dh(char *s,int len) {

int i;char c;

for (i=0;i<=len/2;i++) {

c=*(s+i);

*(s+i)=*(s+len-i); *(s+len-i)=c; } }

int main() {

char s[80],len=0;

printf(\ gets(s);

while (s[len]!='\\0') len++; len--; dh(s,len);

printf(\ puts(s);

return 0; }

第10周.

1

水手分椰子(4分)

题目内容:

n(n<=5)个水手在岛上发现一堆椰子,先由第1个水手把椰子分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第5个水手把剩下的椰子分为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个,n的值要求从键盘输入。 程序运行结果示例: Input n(n<=5): 5↙ y=3121

输入格式: \输出格式:

输入提示: \输出格式: \

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include int can(int k) {

int i;

for (i=1;i<=5;i++) {

if ((k-1)%5!=0||k< 5) return 0; k=(k-1)/5*4; }

return 1; }

int main() {

int ans=1;

while (!can(ans)) ans++; printf(\

return 0; }

2

找最值(4分)

题目内容:

从键盘任意输入10个整数,用指针变量作函数参数编程计算最大值和最小值,并返回它们所在数组中的位置。函数原型如下所示:

int FindMax(int num[], int n, int *pMaxPos);//函数返回最大值,pMaxPos返回最大值所在的下标 int FindMin(int num[], int n, int *pMinPos);//函数返回最小值,pMaxPos返回最小值所在的下标 程序运行结果示例: Input 10 numbers: -1 2 3 45 92 8 9 12 7 8↙

Max=92,Position=4,Min=-1,Position=0

输入格式: \ 输出格式:

提示信息:\

输出结果:\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb

#include

int Findmax(int *a,int *p) {

int i; *p=0;

for (i=1;i< 10;i++)

if (*(a+*p)<*(a+i)) *p=i;

return 0; }

int Findmin(int *a,int *p) {

int i; *p=0;

for (i=1;i< 10;i++)

if (*(a+*p)>*(a+i)) *p=i;

return 0; }

int main() {

int a[10],maxp,minp,i;

printf(\ for (i=0;i< 10;i++) scanf(\ Findmax(a,&maxp); Findmin(a,&minp);

printf(\

return 0; }

3

星期查找(4分)

题目内容:

任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输

出错误提示信息。

提示:用一个二维字符数组weekDay来存放如图所示的星期表的内容(字符串)。输入待查找的字符串,然后在星期表中顺序查找与输入字符串相匹配的字符串。找到的字符串在星期表数组中的第一维下标(行号)即为题目所求。 程序运行结果示例1: Please enter a string: Friday↙ Friday is 5

程序运行结果示例2: Please enter a string: Fruday↙ Not found!

输入格式: 字符串输入采用gets()函数 输出格式:

输入提示信息:\:\\n\ 找到了,输出:\ 没找到,输出:\

注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! 时间限制:500ms内存限制:32000kb


哈尔滨工业大学C语言2016年MOOC在线测试答案(10).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:(崇尚品德的故事)明辨是非的故事 - 僧一行测量子午线

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: