6-1 计算两数的和与差(10 分)
本题要求实现一个计算输入的两数的和与差的简单函数。
函数接口定义:
void sum_diff( float op1, float op2, float *psum, float *pdiff );
其中op1
和op2
是输入的两个实数,*psum
和*pdiff
是计算得出的和与差。
裁判测试程序样例:
#include <stdio.h>
void sum_diff( float op1, float op2, float *psum, float *pdiff );
int main()
{
float a, b, sum, diff;
scanf("%f %f", &a, &b);
sum_diff(a, b, &sum, &diff);
printf("The sum is %.2f\nThe diff is %.2f\n", sum, diff);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
4 6
输出样例:
The sum is 10.00 The diff is -2.00
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
7-1 输出学生成绩(20 分)
本题要求编写程序,根据输入学生的成绩,统计并输出学生的平均成绩、最高成绩和最低成绩。建议使用动态内存分配来实现。
输入格式:
输入第一行首先给出一个正整数N,表示学生的个数。接下来一行给出N个学生的成绩,数字间以空格分隔。
输出格式:
按照以下格式输出:
average = 平均成绩
max = 最高成绩
min = 最低成绩
结果均保留两位小数。
输入样例:
3
85 90 95
输出样例:
average = 90.00 max = 95.00 min = 85.00
1.本题PTA提交列表
2.设计思路(包括流程图),主要描述题目算法
6-2 移动字母(10 分)
本题要求编写函数,将输入字符串的前3个字符移到最后。
函数接口定义:
void Shift( char s[] );
其中char s[]
是用户传入的字符串,题目保证其长度不小于3;函数Shift
须将按照要求变换后的字符串仍然存在s[]
里。
裁判测试程序样例:
#include <stdio.h>
#include <string.h>
#define MAXS 10
void Shift( char s[] );
void GetString( char s[] ); /* 实现细节在此不表 */
int main()
{
char s[MAXS];
GetString(s);
Shift(s);
printf("%s\n", s);
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
abcdef
输出样例:
defabc
1、提交列表
2、设计思路(包括流程图)
1、建立一个新的数组,将a[i]的值赋给新数组
2、利用新的数组将前三个字符移到最后
最终代码如下:
# include<stdio.h> int main(void) { int i,j,n; char a[100],b[100]; printf("Input a strings:"); i=0; while((a[i]=getchar())!=‘\n‘) i++; for(j=3;j<i;j++) b[j]=a[j-3]; b[0]=a[i-3]; b[1]=a[i-2]; b[2]=a[i-1]; for(n=0;n<i;n++){ putchar(b[n]); } return 0; }
3.本题调试过程碰到问题及PTA提交列表情况说明