Ⅰ 幫忙《c語言程序設計》的題目
一.選擇題
1、若a是基氏float型變數,b是unsigned型變數,以下輸入語句(A)是合法的。
A) scanf("%6.2f%d",&a,&b) B) scanf("%f%n",&a,&b)
C) scanf("%f%3o",&a,&b) D) scanf("%f%f",&a,&b)
2、設以下變數均為int類型,則值不等於7的表達式是( C)。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
3、設變數a是整型,b是實型,c是雙精度型,則表達式10+'a'+b*c值的數據類型為( C)。
A) int B)float C)double D)不確定
4、設有說明:char w; int x; float y; double z; 則表達式 w*x+z-y 值的數據類型為(D )。
A)float B) char C) int D) double
5、若給定條件表達式(x)? (a++):(a--), 則表達式x (沒明白題的意思)。
A) 和(x==0)等價 B) 和(x==1)等價
C) 和(x!=0)等價 D) 和(x!=1)等價
6、C語言中搏豎散while和do-while循環的主要區別是(A )
A) do-while的循環體至少無條件執行一次
B) while的循環控制條件比do-while的循控制條件嚴格
C) do-while允許從外部轉到循環體內
D) do-while的循環體不能是復合句
7、若有說明:int a[10];,則對a數組元素的正確引用是( D)
A) a[10] B)a[3.5] C)a(5) D)a[10-10]
8、設以下纖敏變數均為int類型,則值不等於7的表達式是(和上邊題目重了 )。
A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)
C) (x=6,x+1,y=6,x+y) D) (x=6,x+1,y=x,y+1)
9、設i和x 都是int類型,則以下for循環(A )。
for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);
A) 最多執行者10次 B) 最多執行者9次
C) 是無限循環 D) 循環體一次也不執行
二、填空題(每小題2分,共10分)
1、以下程序的輸出結果為 2,3,2,2。
main()
{int i,j,m,n;
i=1;j=2;m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
2、設 a 和 n 為整型變數,a=10,n=5,則表達式 a*=3+6 的值為90(你的題目有點問題,怎麼沒有n) 。
3、設x=1,y=2,z=3,則表達式 z||x>y&&11的值為1。
4、執行語句int a=3; a+=a-=a*a;後,a的值是-12 。
5、若 int i,j,k; 則計算表達式 x=(i=4,j=16,k=31)後,x的值為 31。
Ⅱ C語言程序設計題
15. 以下程序的輸出結果是(D)。 main( ) { int a, b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue;} } printf(「%dn」,a); }
A. 101
B. 6
C. 5
D. 4
16. 若整型變數碼叢a,b,c,d的值依次為:1,4,3,2,則條件碰逗表達式aq.Type = "1"; q.ObjectID[q.ObjectID.length] = "rdo_899f1843-0f05-47d1-a3fd-45c325b7d297_Response" q.Response[q.Response.length] = "Response"; q.Answer[q.Answer.length] = "";
A. 1
B. 2//沒有看懂呵呵
C. 3
D. 4
17. 已知int x=23;則printf(x++*1/3)的輸出結果是( D)。
A. 8
B. 7.66
C. 7.33
D. 7
//後置++是先做*1在/3後++,兩個整形相除還是整形,並且是相當於求商
18. 有變數說明語句int a,b,c;,順序執行下面語句: a=b=c=1; ++a||++b&&++c; 那麼,變數b的值應是( B)。
A. 2
B. 1 //++a已經滿足條件下面就被短路了
C. 0
D. 3
19. 下述語句執行後,變數k的值是(B )。 int k=1; while(k++〈10〉;
////////////////後置++是先比較和自加1.
A. 10
B. 11
C. 9
D. 為無限循環,值不定
20. 以下敘述錯誤的是( A)。
A. 用戶定義的標識符允許使用關鍵字
B. 用戶定義的標識符應盡量做到「見名知意」
C. 用戶定義的標識符必須以字母或下劃線開頭
D. 在用戶定義的標識符中,大、小寫字母代表不同標識
21. 當把以下四個表達式用做if語句的控製表達式時,有一個選項與其他三個選項含義不同,這個選項是( D)。
A. k%2
B. k%2= =1
C. (k%2)!=0
D. !k%2= =1 //其他三個判斷都是被二除餘1
22. C語言提供的合法關鍵字是( C)。
A. default
B. Char
C. while
D. Switch
23. 設有說明:char a; int b; float c; 則表達式a+b-c值的數據類型為(C )。
A. char
B. int
C. float//整形與浮點型運算後變成浮笑模賣點型
D. double
24. putchar函數可以向終端輸出一個( C)。
A. 整數
B. 實數
C. 字元
D. 字元串
25. 若x的初值為10,則表達式(x>10?x+100 : x-10)的值是( b)。
A. 10
B. 0//x>10的話執行x+100,否則x-10;
C. 100
D. 1
註:全部經過程序驗證的
//最佳答案呀呵呵
Ⅲ c語言程序設計的基礎題目求教,請給解析(多追積分)
1:已知a=13,b=6,a%b的十進制數值為()
a%b,整數%整數,表示求余數,因此13%6=1
2:設x的值為15,n的值為了2,則表達式x%=(n+3)運算後的x的值是()
x%=(n+3)相當於x=x%(n+3),x%=n+3也表示x=x%(n+3),類似的有+=,-=,*=,/=
因此x=x%(n+3),x=15%5,x=0.
3:int x=y=4,z=2;x=y==z;則x的值為()
x=y=4,等號是右結合的,也就是這種情況下要從右向左計算,因此相當於y=4;x=y;
而x=y==z,==的優先順序比=高,因此相當於x=(y==z),y=4,z=2所以y==z不成立,所以y==z這個表達式的值是false,也就是0,所以x=0
4:若有定義:int a=10,b=9,c=8;接著順序執行後下列語句是,變數b中的值是()
c=(a-=(b-5));
c=(a%11)+(b=3);
由上面的幾題為基礎,
c=(a-=(b-5))相當於c=(a=a-(b-5)),c=(a=10-(9-5)),c=(a=6),所以a=6,c=6,b=9(表達式b-5並沒有改變b的值)
c=(a%11)+(b=3)相當於,c=6%11+3=6+3=9,所以a=6,c=9,b=3
5:int x=2,y=2,z=0;則表達式的x==y>z的值為()
x==y>z這個一個復合邏輯表達式,>優先順序高於==,所以相當於x==(y>z),y>z成立,所以y>z==1,x==1不成立,所以表達式的值為0
6:若有以下定義和語句int a[4]={0,1,2,3},*p;
p=&a[2];則*--p的值是()
p=&a[2];表示p是a[2]的地址
*--p相當於*(--p),就是先將p減1,也就是a[1]的地址,然後用*操作符取出地址中的值,也就是1
Ⅳ 急求C語言程序設計答案!題目如下(兩道題)!!重金答謝!回答運行正確可加賞金。在線等高手江湖救急!
第一題:首先值得說明的是,你的題目有點兒問題應該是: if(a[i][j]>a[row][colum]){row=i;colum=j;}
然後,答案是:row
a[row][colum]
第二題:素數的問題,也就是質數,解題思路就是,如果這個數不能夠被2~這個數的開根號整除的話,那麼這個數就是素數。
【蒼狼涯】的答案是正確的。
我修改一下。
如下:
#include<stdio.h>
#include<math.h>
bool IsPrime(int x);
int main()
{
int num[5]={0,0,0,0,0};
int temp=0;
for(int i=1000;i>=2;i--)
{
if (IsPrime(i))
{
num[temp]=i;
temp++;
if (temp==5)
break;
}
}
printf("結果如下:\n");
for (int k=0;k<5;k++)
{
printf("%d\t",num[k]);
}
printf("\n");
return 0;
}
bool IsPrime(int x)
{
for(int i = 2; i <= (int)sqrt(x); i++)
{
if((x % i) == 0)
return false;
}
return true;
}
Ⅳ 懇請C語言高手幫我看幾個C程序設計的題目,謝謝
這么多問題,你還不如去買些書吧
Ⅵ C語言的題目,這些題目怎麼解答啊請高手幫我解答,謝謝了!!
#include <亮信iostream>
#include <cmath>
double sq2(double a,double b);
int main()
{
using namespace std;
cout<<sq2(10,1000) ;
return 0;
}
double sq2(double a,double b)
{
return sqrt(a*b) ;
}
2、求和s=1!+2!+3!+4!,採用自定義槐鍵首函數;
#include <iostream>
#include <cmath>
long ntimes(long a );
int main()
{
using namespace std;
cout<<ntimes(4);
}
long ntimes(const long a )
{
long eq=1,eq2=0;
for(int i=1;i<=a;i++)
{
eq*=i;
eq2+= eq;
}
return eq2;
}
3333333333333333
#include <iostream>
#include <cmath>
using namespace std;
int divisor(int a,int b);
long mutible(long a,long b);
int main()
{
using namespace std;
cout<<divisor(20,70)<鉛數<endl;
cout<<mutible(100,1000);
}
int divisor(int a,int b)
{
int i=(a<b)?a:b;
int c=0;
for(int j=1;j<=i;j++)
{
if(a%j==0 && b%j==0 )
{
if ( j!=1)
c=j;
}
}
if (c==0)
c=1;
return c;
}
long mutible(long a,long b)
{
int i=(a<b)?a:b;
int c;
c=divisor(a,b);
c=a/c *(b/c)*c;
return c;
}
//444444444444444444444
#include <iostream>
#include <string>
#include <iomanip>
void fourbit(int number) ;
using namespace std;
int main()
{
int num;
cin >>num;
fourbit(num);
}
void fourbit(int number)
{
int a,b,c,d;
a=number/1000;
b=(number-a*1000)/100;
c=((number-a*1000)-b*100)/10;
d=(number-a*1000)-b*100-c*10;
cout <<a<<" ";
cout <<b<<" ";
cout <<c <<" ";
cout<<d<<" ";
}
//55555555555
#include <iostream>
#include <string>
#include <iomanip>
void max(const int *num,int size) ;
int main()
{
using namespace std;
int a[4]={4,3000,6,100};
max(a,4) ;
}
void max(const int *num,int size)
{
int b=num[0];
for (int i=0;i<size;i++)
{
if(num[i]>b)
b=num[i] ;
}
cout<<b;
}
//6666666666666666
#include <iostream>
#include <string>
using namespace std;
void cal(const double *num,int size) ;
double arr[10];
double total=0,average=0,max=0,mini=0;
int main()
{
cout<<"請輸入10個數字!!" ;
for(int i=0;i<10;i++)
{
cin>>arr[i];
}
cal(arr,10);
cout<<"平均 "<<average<<endl;
cout<<"最大 "<<max<<endl;
cout<<"最小 "<<mini<<endl;
}
void cal(const double *num,int size)
{
max=arr[0];
mini=arr[0];
for(int i= 0;i<size;i++)
{
total+=arr[i];
if(max<arr[i])
max=arr[i];
if(mini>arr[i])
mini=arr[i];
}
average=total/size;
}
//7777777777777
#include <iostream>
#include <string>
using namespace std;
void reoct(const int a);
int main()
{
int a;
cin>>a;
reoct(a);
}
void reoct(const int a)
{
cout<<oct<<a ;
}
//8、輸入兩個整數,分別採用子函數調用與指針的方法,將兩個數交換順序,然後輸出
#include <iostream>
#include <string>
using namespace std;
void exchange(int *a,int *b);
int main()
{
int aa=30,bb=60;
exchange(&aa,&bb);
cout<<aa<<" "<<bb;
}
void exchange(int *a,int *b)
{
int temp;
temp=*a;
*a=*b ;
*b=temp;
}
/*9、編寫一函數,求一維數組的最大元素及其下標位置(要求使用指針)
已知:數組首地址p,元素個數n;(作函數參數)
結果:下標k;(作返回值)
*/
#include <iostream>
int *arr(int *p,int n);
int *k;
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10};
cout<<"下標的地址是!!"<<arr(a,10)<<endl;
}
int* arr(int *p,int n)
{
int max=*p;
int i;
for(i=0;i<n;i++)
{
if(max < *(p+i))
max=*(p+i) ;
}
cout<<"最大數為!!"<<max<<endl;
k=p+i-1 ;
return k;
}
/*11、求某班某門課的平均成績,統計超過平均值的人數(要求用指針操作數組)
分析:
1、令p指向score(存放成績的數組)的開始;
2、通過移動指針求和(重復N次)
3、求平均值;
4、令p重新指向score的開始;
5、不移動指針但通過指針判斷各單元的內容是否大於平均值,並計數。
*/
#include <iostream>
double score[10]={1,2,3,4,5,6,7,8,9,10};
double highscore=0,total=0;
int number=0;
int main()
{
double *p=score;
for(int i=0;i<10;i++)
{
total+=*p;
p++;
}
cout<<"總數為"<<total<<endl<<"平均值為"<<total/10<<endl;
p=score;
highscore=*p;
for(int i=0;i<10;i++)
{
if(total/10<*(p+i))
number++;
}
cout<<"超過平均值的人數為!!"<<number ;
}
Ⅶ c語言題目!跪求大佬做!
#include<stdio.h>
main(){
int n1,n2,n3
double x;
printf("輸入三種商品購買數量,空格分開:" );
scanf("%d%d%d",&n1,&n2,&n3);
x=n1*2.6;
x+=n2*12*(n2>10,0.8,1);
x+=n*4.8*(n3>20,0.7,1);
printf("總金額:%lf\n",x);
}
Ⅷ C語言程序設計的題目
A錯,因為a數組初始化時用了雙引號,所以a中保存了一個字元串,即a數組中有7個元素,除了這些字母之外,還有一個'\0'
B錯,參考A
C錯,a數組初始化時用雙引號,所以a中保存了一個字元串,b數組中將保存了6個字元.
D對,參考A
Ⅸ 求個C語言做的畢業設計,題目簡單一點就行,不用太深奧
1、盼望著,盼望著,暑假結束了,開學的腳步近了。一切都像是剛睡醒的樣子,欣欣然張開了眼。同學們高興起來了,老師們快樂起來了,我們的校園沸騰起來了。
2、校園里的小草不知何時已經變得暗綠,彷彿想在泛黃之前多看一眼同學們歡樂的笑臉。操場上、教學樓前、公寓樓邊,放眼望去,一顆挨著一顆,一片接著一片,手拉著手兒在向我們打招呼。
3、校園里的學生漸漸多了,老師家長也漸漸多了,一張張熟悉的面孔,一張張嶄新的面孔,都在這一刻匯集到了這里。開學了,我們又可以聆聽老師的教誨。
4、開學了,我們又結識了新的同學。開學了,我們又將創造優異的成績。開學了,我們笑了。
5、開學啦開學啦,一個月的寒假生活就在我們的歡歌笑語中結束了,迎接我們小學生的將是四個多月的學校學習生活,我們已到了五年級下冊,學習、做題的難度增高了,我們必須付出更多的努力和拼搏,來完成五年級下冊的學業。
6、到了學校之後,見到了我朝思暮想的敬愛的老師和親愛的同學們,他們每個人的臉上都帶著歡快的笑容。我們在一起互相問好,寒假過完了,一個月沒見我的朋友們,怎麼可能不思念他們呢?
7、走在教室里,同學們都嘰嘰喳喳的交談著怎麼過的春節,怎麼寫的作業,曬曬自己掙了多少壓歲錢……要發新書了,我們都在忐忑不安的坐在座位上,緊張的期待這一冊的新書將會是什麼樣的呢,真是好期待啊!發下了新書,這將使我們最快樂的時刻,都迫不及待的翻看著,預習著。
8、又個新學期如期而至,讓我們以飽滿的熱情和充足的精力去迎接他吧。在努力地學好學校開設的各科課程之外,對我們的小記者活動,也要積極參加,盡量寫好每一篇活動作文,在2012年,爭取做一名優秀的小記者!
9、開學的時候,我又看到了久別的老師和同學,心裡特別高興。老師親切地詢問我們暑假的生活,同學們在一起說個不停。暑假裡好多同學都學了不少本領,有的學了毛筆字,有的學了游泳,有的學了跆拳道。我一定會在新的學期中拿出好成績。
10、今天是開學的第一天,同學們見面分外喜歡.我們升入了二年紀,開始了新學年.學校增加了許多小弟弟和小妹妹,老師給我們排了新的座位,第一天上學同學們可高興了,在新的學期里我一定要好好學習.
11、開學了,新的學期,新的開始。新的學期,新的氣象。校園里又新增添了許多新的面孔。在校園里,總能碰到一些老同學,見了面,我們都彼此打招呼,彼此祝福對方。
12、今天是上學第一天,走到教室,總感覺已有好長時間沒來過了。今天班裡還來了一個新同學,叫馬玄逸,看著挺安靜的不愛說話。體育老師說今年要軍訓,心裡有有一點小期待。
13、今天是開學的日子。寒假放完了又要上課了啊,今天可以說還算不錯的。今天我見到了那些熟悉的同學,也領到了本學期的新課本。我已經迫不及待的想去看看新課本里的內容了。
14、今天終於開學啦!要是再不開學,我都要發霉了!早晨,我興奮又難過,因為我考試沒考好,怕老師說我,興奮是因為終於能看到好久不見的同學啦!
15、漫長的寒假轉眼就過去了,我又回到了我那美麗的校園,我那生機勃勃的班級,我們又迎來了新的一學期。
16、開學的變化真大呀,班上來了幾個新的小朋友,現在我進入二年級下學期了,好興奮啊!我愛我那美麗的校園,我愛我那生機勃勃的班級!
17、愉快的寒假過去了,新學期開始了,今天是開學的第一天,我又見到了老師和同學們,感到格外高興。我很喜歡上學,希望所有的小朋友每天都能開開心心的上學,學到更多的新知識。
18、陰歷十六,正式開學的日記到了。開學了,每個人懷著無限的希望憧憬著新的學期。高一的學生要重新適應新的班級和老師,相比之下高二的學生還是那麼豪情不減,如同五百隻麻雀。只有高三的學生,依舊是早起晚睡,最辛苦的。
19、開學了,見到了一個月沒有見到的同學,心裡很高興,而且發現班上多了幾個新面孔,讓我很高興來了新的夥伴,我要和他們成為好朋友。
20、緊張忙碌的新學期又開始了,走進熟悉的校園,看到了分別一個寒假的同伴,很興奮,同伴們之間互相祝福著、問候著,交流著彼此之間春節的感受,心情好極了
Ⅹ C語言參考選題
必選題參考:
1 功能描述
設某班有n位同學,每位同學的數據包括以下內容:學號(字元串)、姓名(字元串)、數學成績(整型)、程序設計成績(整型)。設計程序完成以下五項功能:新建數據檔案、添加數據、刪除數據、對輸入的數據進行排序和查詢。注意:輸入數據時,要求學號不能相同,姓名可以相同。
2 具體設計要求
(一)程序運行時,首先顯示主菜單如下:
1.新建數據
2.添加數據
3.刪除數據
4.排序
5.查詢
6.退出
屏幕提示:請輸入序號選擇相應操作。
要求當用戶輸入任一序號後,程序都能進行相應操作。
(二)在主菜單中選擇序號4,彈出子菜單選擇排序方式,子菜單如下:
1.數學成績排序
2.程序設計成績排序
3.總分排序。
4.返回主菜單
請按序號選擇相應操作。
選擇子菜單的序號後,程序能正確運行並在屏幕上顯示按要求排序後的相關信息。
(三)在主菜單中選擇序號5,彈出子菜單選擇查詢方式,子菜單如下:
1.學號查詢
2.姓名查詢
3.數學成績查詢
4.程序設計成績查詢
5.總分查詢
6.返回主菜單
請按序號選擇相應操作。
在子菜單中選擇序號後,程序按以下方式工作:
1)學號查詢:輸入學號後,若該學號存在則顯示與其相關的所有信息,否則顯示找不到的提示信息;(提示:查詢到滿足條件的結果後,查詢即可結束)
2)姓名查詢:輸入姓名後,若該姓名存在則顯示與其相關的所有信息,否則顯示找不到的提示信息;(提示:使用字元串比較函數進行比較)
3)按科目查詢:輸入指定分數,程序運行後顯示該科目中考試成績大於等於指定分數的同學的學號、姓名以及該科成績並統計滿足條件的人數;
4)總分查詢:輸入指定分數,程序運行後顯示總分成績大於等於指定分數的同學的學號、姓名以及各科成績並統計滿足條件的人數。
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
1 題目簡述
國際化的社會我們離不開快捷的交通工具,航班信息的保存和管理將變得十分必要。本課題旨在建立一個航班信息管理系統,系統中保存著各航線、航班號、航班日期、機型以及所屬公司(國航、南航、美聯航、漢莎等)等信息,通過該系統的簡單界面可以對文件進行新建、瀏覽、查找、更新、刪除等操作。
2 具體要求
基本功能
(1)添加記錄
先判斷鏈表是否已經存在。若不存在,需首先自動新建一個鏈表,然後再添加一條或多條通訊記錄。
(2)顯示記錄
顯示當前所有記錄。
(3)查詢記錄
按命名查找,並顯示該記錄。
(4)航班號的排序
按航班號的字母順序排序,涉及到冒泡等排序演算法。
(5)刪除記錄
實現逐條刪除和刪除全部記錄兩種功能。
(6)更新記錄
修改已存在記錄的信息(提示:需首先判斷該記錄是否存在)。
(7)按關系類別顯示記錄
只顯示指定航空公司的記錄(國航、南航、美聯航、漢莎)的記錄。
(8)保存記錄
存儲所有記錄到某個文件(.txt)或預設文件(flight.txt)。
(9)讀入記錄
從某個文件(.txt)或預設文件(flight.txt)讀入所有記錄。首先判斷當前是否有記錄在進行操作,若有,進行存儲或放棄存儲,然後釋放內存空間,之後才能從文件讀入記錄。
(10)退出
結束軟體操作,釋放內存後退出。
數據錄入提示
(1)航線
自己對航線的命名。為了實現排序,可以輸入英文或拼音的姓名,便於調用字元串比較等函數進行比較排序。
(2)航班號
每個航空公司的開頭字母應該相同
(3)航班日期
輸入時要判斷一下是否是正確的日期格式。(類似對輸入數據的判斷可作為擴展,不是必須實現的功能)。
(4)機型
737,747,757,A-380
(5)所屬公司
可以為國航, 南航, 美聯航或漢莎的一種,用於進行條件顯示,即只顯示與航班有某種關系的記錄。
其他實現提示
對於每一項功能,應該對可能出現的異常操作進行處理,如提示重新輸入或給出錯誤提示後成功返回主菜單界面,以免軟體運行異常退出。
3 主要數據結構
結構體Air:
包含AirLine, Number, Date, Plane, Company (與航線的關系)以及Air類型的指針(用於鏈表操作)等成員變數。
4 具體技術
1. 指針、結構體的應用
2. 單向鏈表的建立,插入,添加及刪除等
3. 文件的讀寫
4. 簡單演算法:如排序演算法等
5 測試要求
1、要求准備至少有10條記錄的文件(flight.txt),便於進行上機測試;
2、對空鏈表、沒有記錄或沒有文件等情況進行處理的驗證;文件操作是否正確的驗證;對記錄進行操作的相關測試等;
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
1 題目背景
理財從記賬開始。個人記賬系統要求用C語言實現收入、支出信息的記錄,包括收入支出行為的時間,涉及的幣種、幣值,所屬的門類,比如收入的父母贊助、學校補助以及個人勞動所得,支出的衣、食、行、娛樂等;而且可以根據所記錄的信息進行統計,例如余額、總收入與總支出,月度開銷,各項門類的比例等。具體的要求如下。
2 程序功能
本程序利用單鏈表存儲結構完成對個人收支信息的動態管理,要求實現如下的基本功能。
1)菜單操作
在屏幕上顯示菜單,通過輸入0-X之間的數字調用相應的功能函數。
2)創建鏈表
即輸入收支信息,按照提示信息輸入序號、時間、收或支、金額、門類、余額等。注意:申請內存空間,驗證輸入數據是否符合要求,設置輸入結束標志。
3)顯示鏈表
顯示當前鏈表中的所有記錄。注意輸出格式的直觀。
4) 插入記錄
插入記錄需要輸入插入位置和新記錄信息。輸入某個記錄的序號,新結點將插入在這個指定記錄之前。
5) 刪除記錄
刪除指定時間或序號的記錄。注意刪除記錄要釋放該記錄佔用的內存空間。
6)查詢記錄
按序號或門類查找並顯示記錄。(可擴展為按照多種方式查找)
7)更新記錄
修改已存在記錄的分量信息。
8) 保存文件
將收支信息保存到指定文件(waccount.txt)中。
9) 讀取記錄
從指定的文件(raccount.txt)中讀入所有記錄。
10)排序
根據時間、金額或者門類進行排序。
11)統計
統計各類別的收入或者支出數額,並保存到文件total.txt中。
12)退出
結束軟體操作,釋放內存後退出。
3 數據結構
將一次收支行為信息作為一個結構體類型的結點,其中至少含有下列類型的信息:序號、時間、大類別(收入或支出)、涉及幣種、涉及幣值、具體門類、當時余額,以及指向後續結點的指針等。
4 具體技術
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
1 題目背景
某大型運動會需要一個管理系統對所有參與的運動員及其成績進行統一管理,本題目要求用C語言設計一個運動會管理系統,能夠增加、刪除運動員和修改運動員成績,並實現各種統計功能。
2 程序功能
本程序利用單鏈表存儲結構完成對運動員的動態管理,要求實現如下的基本功能。
1)菜單操作
在屏幕上顯示菜單,通過輸入0-X之間的數字調用相應的功能函數。
2)創建鏈表
即輸入運動員信息,按照提示信息輸入運動員編號、姓名、代表團、參加項目等。注意:一個運動員參加多個項目者需要有多條記錄。
3) 顯示鏈表
顯示當前鏈表中的所有記錄。注意輸出格式。
4) 刪除記錄
刪除指定序號的記錄。注意同時釋放內存空間。
5) 查詢運動員項目或成績
按姓名查找並顯示該記錄。(可擴展為按照姓名和編號兩種方式查找)
6)插入記錄
插入記錄需要輸入插入位置和新記錄信息。輸入某個記錄的運動員編號,新結點將插入在這個指定記錄之前。
7)更新記錄
如:在已有列表中修改運動員成績信息。
8) 保存文件
將運動員信息保存到指定文件(Athletes.txt)中。
9) 讀取記錄
從指定的文件(Athletes.txt)中讀入所有記錄。
10)計算
每個項目的前8名計算成績,第一名10分,第二名8分,第三名7分,第四名至第八名分別獲得5~1分,計算各代表團積分。
11)統計
生成獎牌榜、總積分榜(以代表團為單位)等,生成某一個項目的參賽人員名單。
12)退出
結束軟體操作,釋放內存後退出。注意進行退出操作以前需要重新寫文件。
3 數據結構
將一個運動員參加一個項目的相關信息當作一個結點,這個結點的類型為結構體,其中至少含有下列類型的信息:編號、運動員編號、姓名、參加項目、所屬代表團、項目名次、以及指向後面結點的指針等。
4 功能擴展
一般的實現方法是一個(對、隊)運動員每參加一個項目就增加一條記錄,鼓勵其他實現方式,如每一個運動員對應一條記錄,他參加的每一個項目及成績用其他方法存儲。同時鼓勵其他創意的和具有實用性的擴展功能。
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
1 功能描述
設計一個公司職工工資管理系統,有新建、顯示、插入、刪除、查詢和計算實發工資、按實發工資排序等功能。
2 具體設計要求
職工信息應包括:職工號、姓名、性別、職稱、職務工資、獎金、水電費、保險費、實發工資等,注意:職工號不能重復;實發工資=職務工資+獎金-水電費-保險費。
程序運行後,首先顯示主菜單,要求當用戶輸入任意一個序號後,程序都能進行相應操作。
當選擇顯示功能時,用戶可以選擇按某種排序形式顯示,如按職工號或姓名的順序、工資總額的順序、職務工資或獎金的順序。
當選擇查詢功能時,用戶可以按某種方式查詢,如按職工號或姓名查詢、按職稱查詢等;用戶也可以查詢某一范圍內的數據,如工資總額小於2000元的職工的數據,介於1000~2000元的職工的數據等,根據具體要求列出菜單供用戶選擇。
當選擇修改或刪除功能時,可以根據職工號或姓名修改、刪除數據,在修改、刪除時先要求用戶確認,確認後再進行操作。
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
1 功能描述
設計一個圖書信息管理系統,使之具有新建圖書信息、顯示、插入、刪除、查詢和排序等功能。
2 具體設計要求
圖書信息包括:圖書編號、書名、作者名、出版單位、出版時間、價格等。
系統以菜單方式工作:
① 圖書信息錄入(要求圖書信息用文件保存)
② 圖書信息瀏覽
③ 插入圖書信息
④ 查詢(可以有多種查詢方式,如按書名查詢、按作者名查詢、按價格查詢等);
⑤ 排序(可以按圖書編號排序、按書名排序、按出版時間排序、按價格排序等);
⑥ 修改圖書信息
⑦ 刪除圖書信息
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
職工信息包括職工號、姓名、性別、年齡、學歷、職稱、工資、住址、電話等(職工號不能重復)。試設計一職工信息管理系統,使之至少能提供以下功能:
職工信息錄入功能(職工信息用文件保存,當系統退出時,要自動保存職工的基本信息;當職工的信息發生變化後,文件中的信息也要動態發生改變。)
職工信息瀏覽功能
查詢及排序功能:
按職工號查詢、排序
按工資查詢、排序
按職稱查詢、排序……等等
職工信息刪除、修改功能
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
假定民航機場共有n個航班,每個航班有一個航班號、確定的航線(起始站、終點站)、確定的飛行時間(星期幾)和一定的乘客訂票額。試設計一個民航訂票系統,使之能提供下列服務:
航班信息錄入功能(航班信息用文件保存)
航班信息瀏覽功能
查詢航線:
按航班號查詢
按終點站查詢……等等
排序功能
承辦訂票和退票業務
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
假定有n門課程,每門課程有課程編號,課程名稱,課程性質,總學時,每周學時,實驗學時,學分,開課學期,人數限制,面向專業,面向年級等信息,學生可按要求(如總學分不得少於60)自由選課。試設計一個學生選課系統,使之能提供以下功能:
課程信息錄入功能(課程信息用文件保存)
課程信息瀏覽功能
查詢功能:
按學分查詢
按課程性質查詢……等等
排序功能
學生基本信息的管理功能
學生選修課程功能
具有選擇某門課程功能、退選某門課程功能;
按照課程瀏覽選課學生名單功能、按照學生姓名和學號查詢某人的選修課程情況功能、根據選修課程的選修條件自動排除不滿足條件的選修請求功能;
輸出某門選修課的選修名單到文件功能;
輸出某人的選修課情況到文件功能;
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
設計一個小型超市商品銷售管理系統,實現功能:根據銷售信息(包含:商品編號、銷售數量、銷售單價、銷售日期、銷售人員,保存為磁碟文件),實現對商品日常信息的管理。
1、日用商品銷售信息輸入
運用人機對話方式實現商品的商品編號、銷售數量、銷售單價、銷售日期、銷售人員的信息錄入,以文件的形式保存其信息
2、商品銷售信息查詢:
a) 根據商品編號查詢所售商品明細(數量,單價,金額)
b) 根據銷售日期查詢當天所售商品明細(數量,單價,金額)
c) 根據銷售人員查詢某營業員所售商品明細(數量,單價,金額)
3、商品銷售信息統計
a) 日銷售額統計(按商品編號,銷售人員,全部商品)及總銷售額統計
b) 月銷售額(按商品編號,銷售人員,全部商品)及總銷售額統計
c) 月度銷售排名(按商品編號,銷售人員)
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111
必做題:
歌星評分系統
(1)功能描述
12名評委給14名歌星評分。請編寫一程序計算歌星的得分和名次以及評委的得分和名次,規則如下:
1)歌星得分:去掉一個最高分及一個最低分,剩下10個的平均分為該歌星得分。
2)評委得分:即評委對14名歌星的評分偏差總和。(偏差定義為該評委對某歌星的評分減去歌星得分的絕對值。)
3)名次:歌星得分越高排名越前,評委得分越低排名越前。
(2)具體設計要求
要求輸出格式如下:
各評委給各歌星的評分放在數據文件「music. txt」中,存放形式為二維數組:
行——為各評委給某歌星的評分;列——為某評委給各歌星的評分。
要求本程序中的數據必須從數據文件「music. txt」中讀取,學會對文件進行簡單的操作。
(提示:顯然數據文件為14行12列,自己可定義一個二維數組:15行13列,除存放讀入數據外,可分別用第13列和第15行存放歌星得分與評委得分。)
鏈接: https://pan..com/s/1mq8kqN3BvK0IvZBEUP9Oag?pwd=1111
提取碼: 1111