輔修C 語言練習實驗報告
一.題目分析
題目一
7-25 求冪之和(15 分)
本題要求編寫程序,計算sum=21+22+23+⋯+2n。可以調用pow函數求冪。
輸入格式:
輸入在一行中給出正整數n(≤10)。
輸出格式:
按照格式“result = 計算結果”輸出。
- 本題pta提交列表:
- 設計思路(流程圖)
最終程序如下:
#include<stdio.h>
#include<math.h>
int main(){
int i,n,result=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
result+=pow(2,i);
printf("result = %d",result);
}
- 本題調試結果
本題在編程中算是十分簡單的一題了,注意好細節便不會有什么太大的問題。因為使用到pow這個數學函數,所以頭定義要加上 #include<math.h>。
題目二
7-14 特殊a串數列求和(20 分)
給定兩個均不超過9的正整數a和n,要求編寫程序求a+aa+aaa++⋯+aa⋯a(n個a)之和。
輸入格式:
輸入在一行中給出不超過9的正整數a和n。
輸出格式:
在一行中按照“s = 對應的和”的格式輸出。
- 本題 pta提交列表:
- 設計思路(包括流程圖)
最終程序如下
#include<stdio.h>
int main()
{
int a,n;
int sum=0;
scanf("%d %d",&a,&n);
int k=a;
for(int i=1;i<=n-1;i++)
{
a*=10;
a+=k;
sum+=a;
}
sum+=k;
printf("s = %d",sum) ;
return 0;
}
- 本題的調試結果為:
與樣例結果一致
- 實驗過程中遇到的問題以及解決方法
這題難度較上一題難度稍大一點。但是由於程序寫的較少,還比較生疏,造成了失誤以至於浪費了很多時間來尋找錯誤。
在原本的程序中,我把 int k=a;放在了scanf("%d %d",&a,&n);前面,以至於運行結果嚴重出錯,還一直苦思冥想找不到原因。后來兩者順序對調一下便沒有什么問題了。
從這題 謹記!!!!數字的輸入應先放在前面,后面的變量再調用這個數,否則程序會錯的很離譜。
題目三:
7-3 統計字符(15 分)
本題要求編寫程序,輸入10個字符,統計其中英文字母、空格或回車、數字字符和其他字符的個數。
輸入格式:
輸入為10個字符。最后一個回車表示輸入結束,不算在內。
輸出格式:
在一行內按照
letter = 英文字母個數, blank = 空格或回車個數, digit = 數字字符個數, other = 其他字符個數
的格式輸出。
- 本題pta提交列表
2.設計思路(流程圖)
最終程序為:#include<stdio.h>
int main()
{
char en[10];
int i,letter=0,blank=0,digit=0,other=0;
for(i=0;i<10;i++)
en[i]=getchar();
for(i=0;i<10;i++){
if((en[i]>='a'&&en[i]<='z')||(en[i]>='A'&&en[i]<='Z'))
letter++;
else if(en[i]== ' '||en[i]== '\n')
blank++;
else if(en[i]>= '0'&&en[i]<= '9')
digit++;
else
other++;
}
printf("letter = %d, blank = %d, digit = %d, other = %d",letter,blank,digit,other);
}
- 本題調試結果:
與樣例一致
- 題目分析
本題難度一般,就是過程較為繁瑣。
利用for 語句以及getchar 給字符型數組賦值,判斷一個字符是數字、大寫字母、小寫字母或者其他主要依據於ASCII碼值。只要記清楚每種字符類型對應的ASCII碼值的范圍,在利用if語句判斷。問題不大。
本題除了一些小細節,沒有出現什么需要特別注意以及很難解決的問題。
二.同學代碼互評(例7-20 同學:王紀聰)
我的代碼:
同學的代碼:
代碼互評:雖然兩個同學的代碼看起來有所差異,但實際上思路差不多一樣。兩個同學都采用了循環,唯一不同的是,我判斷的是命題的真假。兩個人的方法都很方便快捷。
三.總結
- 我學會了什么?
從以上三題中,我更加熟練的掌握了for 循環語句,if判斷語句的應用 以及了解了數組的使用。更加清晰的記住了數字,大寫字母,小寫字母對應的ASCII值。以及十分值得記住的由第二個題目得知的——實驗要先輸入數,才能對數進行調用。
- 這些內容,還有那些不會?
數組的掌握可能還不夠嫻熟。基本知識都懂,在運用上面可能就存在比較大的問題。實驗中使用到的參數類型大部分為整型,長整型、浮點型之類的接觸較少。我會盡量多花時間,多練習,以便能夠更加熟練的掌握知識點。