2017年C語言上機程式設計題練習
所謂天才,只不過是把別人喝咖啡的功夫都用在工作上了。以下是小編為大家搜尋整理的2017年C語言上機程式設計題練習,希望能給大家帶來幫助!更多精彩內容請及時關注我們應屆畢業生考試網!
第1題
函式fun的功能是:將n個人員的考試成績進行分段統計,考試成績放在a陣列中,各分數段的人數存到b陣列中:成績為60到69的人數存到b[0]中,成績為70到79的人數存到b[1],成績為80到89的人數存到b[2], 成績為90到99的人數存到b[3],成績為100的.人數存到b[4], 成績為60分以下的人數存到b[5]中。
例如,當a陣列中的資料是:
93、85、77、68、59、43、94、75、98。
呼叫該函式後,b陣列中存放的資料應是:
1、2、1、3、0、2。
注意:部分源程式存在檔案PROG1.C中。
請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。
Prog1.c
#include
#include
void fun(int a[], int b[], int n)
{
}
main()
{ int i, a[100]={ 93, 85, 77, 68, 59, 43, 94, 75, 98}, b[6];
clrscr();
fun(a, b, 9);
printf("the result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("n");
NONO();
}
NONO( )
{/* 本函式用於開啟檔案,輸入資料,呼叫函式,輸出資料,關閉檔案。 */
FILE *rf, *wf ;
int a[100], b[6], i, j ;
rf = fopen("", "r") ;
wf = fopen("","w") ;
for(i = 0 ; i < 10 ; i++) {
for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
fun(a, b, 9) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程式參考答案
void fun(int a[], int b[], int n)
{
int i;
for (i=0; i<6; i++) b[i] = 0;
for (i=0; i if (a[i] < 60) b[5]++;
else b[(a[i]- 60)/10]++;
}
第2題
函式fun的功能是:統計各年齡段的人數並存到b陣列中,n個人員的年齡放在a陣列中。年齡為1到9的人數存到b[0]中,年齡為10到19的人數存到b[1],年齡為20到29的人數存到b[2], 年齡為30到39的人數存到b[3],年齡為40到49的人數存到b[4], 年齡為50歲以上的人數存到b[5]中。
例如,當a陣列中的資料為:
9、18、27、38、59、33、14、75、38。
呼叫該函式後,b陣列中存放的資料應是:
1、2、1、3、0、2。
注意:部分源程式存在檔案PROG1.C中。
請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。
#include
#include
void fun(int a[], int b[], int n)
{
}
main()
{ int i, a[100]={ 9, 18, 27, 38, 59, 33, 14, 75, 38}, b[6];
clrscr();
fun(a, b, 9);
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("n");
NONO();
}
NONO( )
{/* 本函式用於開啟檔案,輸入資料,呼叫函式,輸出資料,關閉檔案。 */
FILE *rf, *wf ;
int a[100], b[6], i, j ;
rf = fopen("", "r") ;
wf = fopen("","w") ;
for(i = 0 ; i < 10 ; i++) {
for(j = 0 ; j < 10 ; j++) fscanf(rf, "%d,", &a[j]) ;
fun(a, b, 9) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程式參考答案
void fun(int a[], int b[], int n)
{
int i;
for (i=0; i<6; i++) b[i] = 0;
for (i=0; i if (a[i] >= 50) b[5]++;
else b[a[i]/10]++;
}
第3題
函式fun的功能是:統計在字串a中,以下指定字元出現的次數,並存到b陣列中,其中:字元’+’出現的次數存到b[0]中,字元’-’出現的次數存到b[1], 字元’*’出現的次數存到b[2],字元’/’出現的次數存到b[3], 字元’&’出現的次數存到b[4],其它字元出現的次數存到b[5]中。
例如,當a字串中的字串為:"-+*1-a/&b"時,
呼叫該函式後,b中存放的資料應是:1、2、1、2、1、3。
注意:部分源程式存在檔案PROG1.C中。
請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。
#include
#include
#include
void fun(char *a, int b[])
{
}
main()
{ int i, b[6]; char a[100] = "-+*1/-a/&b";
clrscr();
fun(a, b);
printf("The result is: ");
for (i=0; i<6; i++) printf("%d ", b[i]);
printf("n");
NONO();
}
NONO( )
{/* 本函式用於開啟檔案,輸入資料,呼叫函式,輸出資料,關閉檔案。 */
FILE *rf, *wf ;
char a[100], *p ;
int b[6], i, j ;
rf = fopen("", "r") ;
wf = fopen("","w") ;
for(i = 0 ; i < 10 ; i++) {
fgets(a, 99, rf) ;
p = strchr(a, ’n’) ;
if(p) *p = 0 ;
fun(a, b) ;
for(j = 0 ; j < 6 ; j++) fprintf(wf, "%d ", b[j]) ;
fprintf(wf, "n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程式參考答案
void fun(char *a, int b[])
{
int i;
for (i=0; i<6; i++) b[i] = 0;
for (i=0; i< strlen(a); i++)
switch(a[i])
{ case ’+’: b[0]++; break;
case ’-’: b[1]++; break;
case ’*’: b[2]++; break;
case ’/’: b[3]++; break;
case ’&’: b[4]++; break;
default: b[5]++;
}
}
第4題
函式fun的功能是:把a陣列中的n個數和b陣列中逆序的n個數一一對應相加,結果存在c陣列中。
例如:當a陣列中的值是:1、3、5、7、8
b陣列中的值是:2、3、4、5、8
呼叫該函式後,c陣列中存放的資料是9、8、9、10、10
注意:部分源程式存在檔案PROG1.C中。
請勿改動主函式main和其它函式中的任何內容,僅在函式fun的花括號中填入你編寫的若干語句。
#include
#include
void fun(int a[], int b[], int c[], int n)
{
}
main()
{ int i, a[100]={1,3,5,7,8}, b[100]={2,3,4,5,8}, c[100];
clrscr();
fun(a, b, c, 5);
printf("The result is: ");
for (i=0; i<5; i++) printf("%d ", c[i]);
printf("n");
NONO();
}
NONO( )
{/* 本函式用於開啟檔案,輸入資料,呼叫函式,輸出資料,關閉檔案。 */
FILE *rf, *wf ;
int a[100], b[100], c[100], i, j ;
rf = fopen("", "r") ;
wf = fopen("","w") ;
for(i = 0 ; i < 5 ; i++) {
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &a[j]) ;
for(j = 0 ; j < 5 ; j++) fscanf(rf, "%d,", &b[j]) ;
fun(a, b, c, 5) ;
for(j = 0 ; j < 5 ; j++) fprintf(wf, "%d ", c[j]) ;
fprintf(wf, "n") ;
}
fclose(rf) ;
fclose(wf) ;
}
程式參考答案
void fun(int a[], int b[], int c[], int n)
{
int i;
for (i=0; i }
-
內部排序之堆排序的實現
堆排序(HeapSort)只需要一個記錄大小的輔助空間,每個待排序的記錄僅佔有一個儲存空間。下面小編為大家整理了內部排序之堆排序的實現,希望能幫到大家!(1)基本概念a)堆:設有n個元素的序列:{k1,k2,...,kn}對所有的i=1,2,...,(int)(n/2),當滿足下面關係:ki≤k2i,ki≤k2i+1或ki...
-
C語言函式說明與返回值
導語:在C語言中,函式是程式的基本組成單位,因此可以很方便地用函式作為程式模組來實現C語言程式。下面就由小編為大家介紹一下C語言函式說明與返回值,歡迎大家閱讀!函式的一般形式是:type-specifierfunction_name(parameterlist)parameterdeclarations{bodyofthe...
-
C語言順序儲存結構
C語言是一個有結構化程式設計、具有變數作用域以及遞迴功能的過程式語言。下面是小編分享的C語言順序儲存結構,一起來看一下吧。1、什麼是順序儲存結構?用一段地址連續的'儲存單元依次儲存線性表的資料元素。2、線性表的順序儲存結構#include<stdio.h>#include<...
-
如何使用C語言求N的階乘
使用C語言求N的階乘的方法是很多小夥伴都想知道的,下面小編給大家介紹如何使用C語言求N的階乘,歡迎閱讀!如何使用C語言求N的階乘用遞迴法求N的.階乘程式呼叫自身稱為遞迴(recursion).它通常把一個大型複雜的問題層層轉化為一個與原問題相似的規模較小的問題來求...