基础题
题目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)运行结果截图
结对编程感悟
依葫芦画瓢 照着书来果然没错
优点:相互促进,相互监督改正错误
缺点各自有各自的想法 有时候会争论好久
学习进度条