1. 程式人生 > >四、PTA實驗作業(指針)

四、PTA實驗作業(指針)

流程 描述 .com 接下來 小數 ets ngs 字母 移動

6-1 計算兩數的和與差(10 分)

本題要求實現一個計算輸入的兩數的和與差的簡單函數。

函數接口定義:

void sum_diff( float op1, float op2, float *psum, float *pdiff );

其中op1op2是輸入的兩個實數,*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實驗作業(指針)