int ChickenRabbit(int *chicken, int *rabbit, int head, int foot);
int main()
{
int h, f, c, r;
scanf("%d%d", &h, &f);
if (ChickenRabbit(&c, &r, h, f))
{
printf("%d %d\n", c, r);
}
else
{
puts("None");
}
return 0;
}
/* 你的提交代码将被嵌在这里 */
输入样例1
35 94
输出样例1
23 12
输入样例2
30 71
输出样例2
None
int ChickenRabbit(int *chicken, int *rabbit, int head, int foot)
{
for(int i=0;i<=head;i++)
{
int j=head-i;
if(i*2+j*4==foot)
{
*chicken=i;
*rabbit=j;
return 1;
}
}
return 0;
}//简单判断即可
### 6-2 冒泡排序
输入n(1<=n<=10)个整数,将它们从小到大排序后输出,要求编写函数bubble()实现冒泡排序算法。
函数接口定义:
void bubble (int a[ ], int n);
其中 a为数组,n为数据个数。
裁判测试程序样例:
#include <stdio.h>
void bubble (int a[ ], int n);
int main(void)
{
int n, a[10];
int i;
scanf("%d", &n);
for (i=0; i<n;i++)
scanf("%d",&a[i]);
bubble(a,n);
for (i=0; i<n; i++)
printf("%d ",a[i]);
printf(“\n”);
return 0;
}
/* 请在这里填写答案 */
输入样例:
8
7 3 66 3 -5 22 -77 2
输出样例:
-77 -5 2 3 3 7 22 66
void bubble (int a[ ], int n)
{
for(int i=0;i<n-1;i++)
{
for(int j=0;j<n-i-1;j++)
{
if(a[j]>a[j+1])
{
int t=a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
}
### 6-3 字符串反正序连接
先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。
函数接口定义:
void fun (char *s, char *t);
其中s和 t 都是用户传入的参数。函数先将在字符串s中的字符按逆序存放到t串中,然后把s中的字符按正序连接到t串的后面。
裁判测试程序样例:
#include <stdio.h>
void fun (char *s, char *t);
int main()
{ char s[100], t[100];
scanf(“%s”, s);
fun(s, t);
printf(“%s\n”, t);
return 0;
}
/* 请在这里填写答案 */
输入样例:
abcd
输出样例:
dcbaabcd
void fun (char *s, char *t)
{
int j=0;
//计算长度
int l=0;
while(s[l]!=‘\0’)
l++;
for(int i=l-1;i>=0;i--)
{
t[j]=s[i];
j++;
}
int p=j;
for(int i=0;i<l;i++)
{
t[p]=s[i];
p++;
}
t[p]='\0';
}
### 6-4 计算最长的字符串长度
本题要求实现一个函数,用于计算有n个元素的指针数组s中最长的字符串的长度。
函数接口定义:
int max_len( char *s[], int n );
其中n个字符串存储在s[]中,函数max\_len应返回其中最长字符串的长度。
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAXN 10
#define MAXS 20
int max_len( char *s[], int n );
int main()
{
int i, n;
char \*string[MAXN] = {NULL};
scanf("%d", &n);
for(i = 0; i < n; i++) {
string[i] = (char \*)malloc(sizeof(char)\*MAXS);
scanf("%s", string[i]);
}
printf("%d\n", max\_len(string, n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
4
blue
yellow
red
green
输出样例:
6
### 6-5 查找星期
本题要求实现函数,可以根据下表查找到星期,返回对应的序号。
序号 星期
0 Sunday
1 Monday
2 Tuesday
3 Wednesday
4 Thursday
5 Friday
6 Saturday
函数接口定义:
int getindex( char *s );
函数getindex应返回字符串s序号。如果传入的参数s不是一个代表星期的字符串,则返回-1。
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#define MAXS 80
int getindex( char *s );
int main()
{
int n;
char s[MAXS];
scanf("%s", s);
n = getindex(s);
if ( n==-1 ) printf("wrong input!\n");
else printf("%d\n", n);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例1:
Tuesday
输出样例1:
2
输入样例2:
today
输出样例2:
wrong input!
int getindex( char *s )
{
if(strcmp(s,“Sunday”)==0)
return 0;
if(strcmp(s,“Monday”)==0)
return 1;
if(strcmp(s,“Tuesday”)==0)
return 2;
if(strcmp(s,“Wednesday”)==0)
return 3;
if(strcmp(s,“Thursday”)==0)
return 4;
if(strcmp(s,“Friday”)==0)