四、PTA實驗作業(指針)
阿新 • • 發佈:2018-01-20
流程 描述 .com 接下來 小數 ets ngs 字母 移動
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提交列表情況說明
四、PTA實驗作業(指針)