intChickenRabbit(int* chicken,int* rabbit,int head,int foot){
int i;int j;if(foot %2!=0&& head <0&& foot <0){
return0;}for(i =0; i <= head; i++){
j = head - i;if(i *2+ j *4== foot){
*chicken = i;*rabbit = j;return1;}}return0;}
6-2 冒泡排序
voidbubble(int a[],int n){
int i, j;for(i =0; i < n -1; i++){
int flag =1;for(j =0; j < n - i -1; j++){
if(a[j]> a[j +1]){
int tmp = a[j];
a[j]= a[j +1];
a[j +1]= tmp;
flag =0;}}if(flag ==1)break;}}
6-3 字符串反正序连接
#include<string.h>voidfun(char* s,char* t){
char* str = s;int len =strlen(s);int j =0;for(int i = len -1; i >=0; i--){
t[j]= str[i];
j++;}
t[j]='\0';strcat(t, s);}
6-4 计算最长的字符串长度
intmax_len(char* s[],int n){
int max =0;for(int i =0; i < n; i++){
if(strlen(s[i])> max)
max =strlen(s[i]);}return max;}
#include<stdio.h>#defineSTUD30#defineCOURSE5voidInput(int*pScore,int m,int n);voidTotal(int*pScore,int sum[],float aver[],int m,int n);voidPrint(int*pScore,int sum[],float aver[],int m,int n);intmain(){
int m, n, score[STUD][COURSE], sum[STUD];float aver[STUD];scanf("%d",&m);scanf("%d",&n);Input(*score, m, n);Total(*score, sum, aver, m, n);Print(*score, sum, aver, m, n);return0;}//函数功能:连续输入m*n个整数存入起始地址为pScore的连续内存单元中voidInput(int*pScore,int m,int n){
int i, j;for(i =0; i < m; i++){
for(j =0; j < n; j++){
scanf("%d",&pScore[i * n + j]);}}}//函数功能:计算起始地址为pScore的连续内存中存储的m*n个数组元素值的总分和平均分voidTotal(int*pScore,int sum[],float aver[],int m,int n){
int i, j;for(i =0; i < m; i++){
sum[i]=0;for(j =0; j < n; j++){
sum[i]= sum[i]+ pScore[i * n + j];}
aver[i]=(float) sum[i]/ n;}}//函数功能:打印总分和平均分voidPrint(int*pScore,int sum[],float aver[],int m,int n){
int i, j;for(i =0; i < m; i++){
printf("%d %.1f\n", sum[i], aver[i]);}}