第十章
10.1
水手分椰子(4分)
题目内容:
五个水手在岛上发现一堆椰子,先由第1个水手把椰子分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。然后,第2个水手把剩下的4堆混合后重新分为等量的5堆,还剩下1个给了猴子,自己藏起1堆。以后第3、4个水手依次按此方法处理。最后,第5个水手把剩下的椰子分为等量的5堆后,同样剩下1个给了猴子。请用迭代法编程计算并输出原来这堆椰子至少有多少个。
输入格式: 无 输出格式:\输入样例: 输出样例:
注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串!
#include
for(i=0; i<5; i++) {
if(n%5!=1) return 0; n=n/5*4; }
return 1; }
int main() {
int i;
for(i=6; i<10000; i++) {
if(check(i)) {
printf(\ break; } }
return 0; }
10.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 num[], int n, int *pMaxPos); int FindMin(int num[], int n, int *pMinPos); int num[10];
int i,maxdex=0,mindex=0;
int main(){
int max,min; int m,n;
printf(\ for (i=0;i<10;i++)
scanf(\ max=FindMax(num,10,&m); min =FindMin(num,10,&n);
printf(\ return 0; }
int FindMax(int num[], int n, int *pMaxPos) {
*pMaxPos=num[0]; for (i=1;i if (num[i]>*pMaxPos) {*pMaxPos=num[i]; maxdex=i; } return maxdex; } int FindMin(int num[], int n, int *pMinPos) { *pMinPos=num[0]; for (i=1;i if (num[i]<*pMinPos) {*pMinPos=num[i]; mindex=i; } return mindex; } 10.3 星期查找(4分) 题目内容: 任意输入英文的星期几,通过查找如图所示的星期表,输出其对应的数字,若查到表尾,仍未找到,则输出错误提示信息。 提示:用一个二维字符数组weekDay来存放如图所示的星期表的内容(字符串)。输入待查找的字符串,然后在星期表中顺序查找与输入字符串相匹配的字符串。找到的字符串在星期表数组中的第一维下标(行号)即为题目所求。 程序运行结果示例1: Please enter a string: Friday↙ Friday is 5 程序运行结果示例2: Please enter a string: Fruday↙ Not found! 输入格式: 字符串输入采用gets()函数 输出格式: 输入提示信息:\:\\n\ 找到了,输出:\ 没找到,输出:\ 输入样例: 输出样例: 注意:为避免出现格式错误,请直接拷贝粘贴上面给出的输入、输出提示信息和格式控制字符串! #include int main() { char week[7][10] ={\ int i,flag=0; char find[max]; printf(\ gets(find); for (i=0; i<7; i++) if (strcmp(week[i],find)==0) { flag=1; break; } if(flag==0) printf(\ else printf(\ return 0; } 10.4 杨辉三角形(4分) 题目内容: 编程打印具有如下形式的杨辉三角形,其中输出数据的行数n从键盘输入,并且n<=10。 程序运行结果示例1: Input n (n<=10): 5↙ 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 程序运行结果示例2: Input n (n<=10): 7↙ 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1