第八周作业

基础题
题目6-1 函数实现字符串逆序 (15 分)
本题要求实现一个字符串逆序的简单函数。
1)实验代码

void f(char *p)
{
char str;
char temp;
str=p+strlen(p)-1;
while(str>p)
{
temp=
p;
p=str;
*str=temp;
p++;
str--;
}
}

2)设计思路

3)本题调试过程及解决办法

将if改成while

4)运行结果截图

题目6-3 字符串的连接 (15 分)
本题要求实现一个函数,将两个字符串连接起来。
1)实验代码

char *str_cat(char *s, char *t)
{
int len;
int i;
len = strlen(s);
for (i = 0; *(t + i) != ''; i++)
{
*(s + i + len) = *(t + i);
}

return s;
}

2)设计思路

3)本题调试过程碰到的问题及解决办法

将return 0;改成return s; 惯性思维
4)运行结果截图

题目7-1 输出学生成绩 (20 分)
1)实验代码

include<stdio.h>

include<stdlib.h>

int main(){
int n,i;
float p,sum,max,min,avg;
scanf("%d",&n);
if((p=(float
)malloc(nsizeof(float)))==NULL){
exit(1);
}
sum=0;
max=-1;
min=1000;
for(i=0;i<n;i++)
{
scanf("%f",p+i);
sum+=
(p+i);
if(min>(p+i))
min=
(p+i);
if(max<(p+i))
max=
(p+i);
}
avg=sum/n;
printf("average = %.2lf ",avg);
printf("max = %.2lf ",max);
printf("min = %.2lf ",min);
free(p);

return 0;
}

2)设计思路

3)本题调试过程碰到的问题及解决办法

将2f改成f
4)运行结果截图

题目7-4 字符串排序 (20 分)
1)实验代码

include<stdio.h>

include<string.h>

int main()
{
int i,j;
char p[5][80],t[80];
for(i=0;i<5;i++)
{
scanf("%s",&p[i]);
}
for(i=1;i<5;i++)
{
for(j=0;j<5-1;j++)
{
if(strcmp(p[j],p[j+1])>0)
{
strcpy(t,p[j]);
strcpy(p[j],p[j+1]);
strcpy(p[j+1],t);
}
}
}
printf("After sorted: ");
for(i=0;i<5;i++)
{
printf("%s ",p[i]);
}
return 0;
}

2)设计思路

3)本题调试过程碰到的问题及解决办法

将%f改成%s

4)运行结果截图

预习题
题目7-3 计算平均成绩 (15 分)

1)实验代码

include<stdio.h>

include<string.h>

struct student
{
char id[6];
char name[11];
float score;
};

int main()
{
struct student stu[10];
int i, N;
float sum = 0, average;
scanf("%d ", &N);
for (i = 0; i < N; i++)
{
scanf("%s%s%f", &stu[i].id, &stu[i].name, &stu[i].score);
sum += stu[i].score;
}
average = sum / N;

printf("%.2f ", average);
for (i = 0; i<N; i++)
{
if (stu[i].score < average)
{
printf("%s %s ", stu[i].name, stu[i].id);
}
}

return 0;
}

2)设计思路

3)本题调试过程碰到的问题及解决办法

4)运行结果截图

结对编程感悟
依葫芦画瓢 照着书来果然没错
优点:相互促进,相互监督改正错误

缺点各自有各自的想法 有时候会争论好久
学习进度条

原文地址:https://www.cnblogs.com/lijiawei18/p/10736747.html