


下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
C程序設計2022學習通超星期末考試章節(jié)答案2024年編寫程序,按如下格式輸出整數(shù),小數(shù),字符串。(□表示空格)整數(shù):12輸出格式:12□□□,□□□12小數(shù):3.1415926輸出格式:□□3.142,3.142□□字符串:CHINA輸出格式:□□□CH,CHI□□輸入格式:輸出格式:“%md”
“%m.nf”
“%m.ns”輸入樣例:輸出樣例:12□□□,□□□12□□3.142,3.142□□□□□CH,CHI□□
答案:#includevoidmain(){
inta=12;
floatb=3.1415926;
printf("%-5d,%5d\n",a,a);
printf("%7.3f,%-7.3f\n",b,b);
printf("%5.2s,%-5.3s","CHINA","CHINA");}通過庫函數(shù)sizeof()獲得int、short、long、float和double數(shù)據(jù)類型所占內(nèi)存的字節(jié)數(shù)。輸入格式:輸出格式:“int占%d個字節(jié)\n”“short占%d個字節(jié)\n”“l(fā)ong占%d個字節(jié)\n”“float占%d個字節(jié)\n”“double占%d個字節(jié)\n”輸入樣例:輸出樣例:int占4個字節(jié)short占2個字節(jié)long占4個字節(jié)float占4個字節(jié)double占8個字節(jié)
答案:#includevoidmain(){
printf(“int占%d個字節(jié)\n”,sizeof(int));
printf(“short占%d個字節(jié)\n”,sizeof(short));
printf(“l(fā)ong占%d個字節(jié)\n”,sizeof(long));
printf(“float占%d個字節(jié)\n”,sizeof(float));
printf(“double占%d個字節(jié)\n”,sizeof(double));}編寫程序,利用switch語句實現(xiàn)從鍵盤輸入一個正整數(shù),輸出對應為一周中的星期幾。輸入格式:"%d"輸出格式:"一周中的第%d天為星期一\n""一周中的第%d天為星期二\n""一周中的第%d天為星期三\n""一周中的第%d天為星期四\n""一周中的第%d天為星期五\n""一周中的第%d天為星期六\n""一周中的第%d天為星期日\n"輸入樣例:3輸出樣例:一周中的第3天為星期三
答案:#includevoidmain(){
intday=0;
scanf("%d",&day);
switch(day)
{
case1:
printf("一周中的第%d天為星期一\n",day);
break;
case2:
printf("一周中的第%d天為星期二\n",day);
break;
case3:
printf("一周中的第%d天為星期三\n",day);
break;
case4:
printf("一周中的第%d天為星期四\n",day);
break;
case5:
printf("一周中的第%d天為星期五\n",day);
break;
case6:
printf("一周中的第%d天為星期六\n",day);
break;
case7:
printf("一周中的第%d天為星期日\n",day);
break;
}}編寫程序,利用if-else語句實現(xiàn)從鍵盤輸入一個正整數(shù),判斷其奇偶性,并輸出判斷結(jié)果。輸入格式:"%d"輸出格式:"%d是偶數(shù)\n""%d是奇數(shù)\n"輸入樣例:請輸入一個正整數(shù):5輸出樣例:5是奇數(shù)
答案:#includevoidmain(){
intn;
printf("請輸入一個正整數(shù):");
scanf("%d",&n);
if(n%2==0)
printf("%d是偶數(shù)\n",n);
else
printf("%d是奇數(shù)\n",n);}編寫程序,利用if語句實現(xiàn)從鍵盤輸入三個實數(shù),判斷其中的最大值,將結(jié)果輸出。輸入格式:"%f%f%f"輸出格式:"max=%f\n"輸入樣例:1.22.34輸出樣例:max=4.000000
答案:#includeintmain(){
floata,b,c,max;
scanf("%f%f%f",&a,&b,&c);
max=a;
if(max設計程序,利用while/do…while/for語句(任選一種)求Π值。使用如下公式Π/4=1-1/3+1/5-1/7+…+1/(4n-3)-1/(4n-1)+…
(n=10000).輸入格式:輸出格式:"PI=%f\n"輸入樣例:輸出樣例:PI=3.141384
答案:***********while語句***********#includevoidmain(){
intn=1;
floatm,sum=0;
while(n<=10000)
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
n++;
}
printf("PI=%f\n",4*sum);}***********do…while語句***********#includevoidmain(){
intn=1;
floatm,sum=0;
do
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
n++;
}while(n<=10000);
printf("PI=%f\n",4*sum);}***********for語句***********#includevoidmain(){
intn=1;
floatm,sum=0;
for(n=1;n<=10000;n++)
{
m=1.0/(4*n-3)-1.0/(4*n-1);
sum=sum+m;
}
printf("PI=%f\n",4*sum);}有一張紙厚0.5mm,假如它足夠大,將它不斷對折,問對折多少次后厚度可以達到珠穆朗瑪峰的高度(8848m)。設計程序,求解并輸出對折次數(shù)n。(提示:利用break或continue語句)輸入格式:輸出格式:"n=%d.\n"輸入樣例:輸出樣例:n=25.
答案:***********break語句***********#includeintmain(){
intn=0;
floath=0.5;
while(1)
{
n++;
h=h*2;
if(h>=8848000)
break;
}
printf("n=%d.\n",n);}***********comtinue語句***********#includevoidmain(){
intn=0;
floath=0.5;
while(1)
{
n++;
h=h*2;
if(h<8848000)
continue;
printf("n=%d.\n",n);
break;
}}為使電文保密,往往按照一定規(guī)律將其轉(zhuǎn)換成密碼,設計程序,將輸入的字母按照以下規(guī)律轉(zhuǎn)換。(考慮多個字母的情況)ABCD……WXYZABCD……WXYZABCD……abcd……wxyzabcd……wxyzabcd……例如輸入abwxyz輸出將其轉(zhuǎn)化為efabcd,即每個字母變成其后的第四個字母。輸入格式:
getchar輸出格式:"%c"輸入樣例:
China!輸出樣例:Glmre!
答案:#includevoidmain(){
charc;
while((c=getchar())!='\n')
{
if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))
{
c=c+4;
if(c>'Z'&&c<='Z'+4||c>'z')
c=c-26;
}
printf("%c",c);
}
printf("\n");}設計程序,先將10個整數(shù)從大到小排序,然后把一個整數(shù)按大小插入到已排序的數(shù)組中。a[11]={127,3,6,28,54,68,87,105,162,18}
將29插入數(shù)組中。輸入格式:
“%d”輸出格式:"%4d"輸入樣例:29輸出樣例:
162127105
87
68
54
28
18
6
3
inputnumber:
29
162127105
87
68
54
29
28
18
6
3
答案:#includeintmain(){
inti,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
for(i=0;i<10;i++)
{
p=i;
q=a[i];
for(j=i+1;j<10;j++)
if(qa[i])
{
for(s=9;s>=i;s--)
a[s+1]=a[s];
break;
}
a[i]=n;
for(i=0;i<=10;i++)
printf("%4d",a[i]);
printf("\n");}編寫程序輸出楊輝三角形。輸入格式:輸出格式:"%5d"輸入樣例:輸出樣例:
1
1
1
1
2
1
1
3
3
1
1
4
6
4
1
1
5
10
10
5
1
1
6
15
20
15
6
1
1
7
21
35
35
21
7
1
1
8
28
56
70
56
28
8
1
1
9
36
84
126
126
84
36
9
1
答案:#includeinta[10][10];intmain(){
inti=0,j=0;
for(i=0;i<10;i++)
{
for(j=0;j輸入五個國家的名字并按字母順序排出。(國家的名字不超過20個字符)輸入格式:輸出格式:輸入樣例:ChinaJapanCanadaAmericaEngland輸出樣例:AmericaCanadaChinaEnglandJapan
答案:#include
intmain(){
charst[20],cs[5][20];
inti,j,p;
printf("inputcountry'sname:\n");
for(i=0;i<5;i++)
gets(cs[i]);
printf("\n");
for(i=0;i<5;i++)
{
p=i;
strcpy(st,cs[i]);
for(j=i+1;j<5;j++)
if(strcmp(cs[j],st)<0)
{
p=j;
strcpy(st,cs[j]);
}
if(p!=i)
{
strcpy(st,cs[i]);
strcpy(cs[i],cs[p]);
strcpy(cs[p],st);
}
puts(cs[i]);
}
printf("\n");}輸入一個字符串,判斷是否為回文串。注:回文是指數(shù)或者字符串具有首尾回環(huán)性質(zhì),從后向前按位顛倒后與原文一樣。首尾回環(huán)的數(shù)字就是回文數(shù),如:121,12321;首尾回環(huán)的字符串就是回文串,如:madam。輸入格式:輸出格式:
printf("Itisapalindrome\n");
printf("Itisnotapalindrome\n");輸入樣例:ILoveevoLI輸出樣例:
Itisapalindrome
答案:#include#include
intmain(){
intcount,i;
charstr[80];
printf("Enterastring:");
i=0;
while((str[i]=getchar())!='\n')
i++;
str[i]='\0';
for(i=0,count=strlen(str)-1;i<count;i++,count--)
if(str[i]!=str[count])
break;
if(i>=count)
printf("Itisapalindrome\n");
else
printf("Itisnotapalindrome\n");
return0;}有兩個數(shù)組a和b,各有6個元素,將它們對應逐個比較(即a[i]與b[i]比較)。如果a[i]大于b[i]的次數(shù)多于a[i]小于b[i]的次數(shù),那么認為數(shù)組a大于數(shù)組b,如果a[i]小于b[i]的次數(shù)多于a[i]大于b[i]的次數(shù),認為數(shù)組a小于數(shù)組b,否則數(shù)組a與數(shù)組b相等。編寫程序,統(tǒng)計出a[i]大于b[i]、a[i]小于b[i]、a[i]等于b[i]的次數(shù),并判斷哪個數(shù)組大。(數(shù)組中的元素作為函數(shù)實參,例如:large(a[i],b[i]))輸入格式:
“%d”輸出格式:"%d"輸入樣例:147258123951輸出樣例:a[i]>b[i]3timesa[i]=b[i]2timesa[i]答案:#includevoidmain(){
intlarge(intx,inty);
inta[6],b[6],i,n=0,m=0,k=0;
printf("enterarraya:\n");
for(i=0;i<6;i++)
scanf("%d",&a[i]);
printf("enterarrayb:\n");
for(i=0;i<6;i++)
scanf("%d",&b[i]);
for(i=0;i<6;i++)
{
if(large(a[i],b[i])==1)
n=n+1;
else
if(large(a[i],b[i])==0)
m=m+1;
else
k=k+1;
}
printf("a[i]>b[i]%dtimes\na[i]=b[i]%dtimes\na[i]k)
printf("arrayaislargerthanarrayb\n");
else
if(ny)
flag=1;
else
if(x有一個一維數(shù)組,內(nèi)放10個學生成績,寫一個函數(shù),求出平均分,最高分和最低分。要求:由于要調(diào)用函數(shù)得到三個結(jié)果值,除了可以從函數(shù)得到一個函數(shù)的返回值,可以用全局變量。本題要求使用全局變量的方法。輸入格式:scanf(“%f”,&score[i]);輸出格式:printf(“max=%6.2f\nmin=%6.2f\naverage=%6.2f\n”,Max,Min,ave);輸入樣例:
9945789710067.589926643輸出樣例:Max=100.00Min=43.00Average=77.65
答案:#includefloatMax=0,Min=0;voidmain(){
floataverage(floatarray[],intn);
floatave,score[10];
inti;
for(i=0;i<10;i++)
scanf("%f",&score[i]);
ave=average(score,10);
printf("max=%6.2f\nmin=%6.2f\naverage=%6.2f\n",Max,Min,ave);}
floataverage(floatarray[],intn){
inti;
floataver,sum=array[0];
Max=Min=array[0];
for(i=1;i<n;i++)
{
if(array[i]>Max)
Max=array[i];
elseif(array[i]<Min)
Min=array[i];
sum=sum+array[i];
}
aver=sum/n;
return(aver);}輸入一個正整數(shù)n,輸出1!~n!的值。要求:定義并調(diào)用含有靜態(tài)變量的函數(shù)fact(n)計算n!。輸入格式:
“%d”輸出格式:
“%3d!=%4ld\n”輸入樣例:
Entern:6輸出樣例:
1!=
1
2!=
2
3!=
6
4!=
24
5!=120
6!=720
答案:#includelongfact(intn);intmain(){
intn,i;
printf("Entern:");
scanf("%d",&n);
for(i=1;i<=n;i++)
printf("%3d!=%4ld\n",i,fact(i));
return0;}longfact(intn){
staticlongf=1;
f=f*n;
returnf;}計算s=(2^2)!+(3^2)!要求:該題要求使用函數(shù)的嵌套調(diào)用。編寫兩個函數(shù):函數(shù)fun1用來計算平方值,fun2用來計算階乘值。主函數(shù)先調(diào)用fun1計算出平方值,再在fun1中以平方值為實參,調(diào)用fun2計算其階乘值,然后返回到fun1,再返回主函數(shù),在循環(huán)程序中計算累加和。輸入格式:輸出格式:printf(“\ns=%ld\n”,s)輸入樣例:輸出樣例:
s=362904
答案:#include
longfun1(intp){
intk;longr;
longfun2(int);
k=p*p;
r=fun2(k);
returnr;}
longfun2(intq){
longc=1;inti;
for(i=1;i<=q;i++)
c=c*i;
returnc;}
voidmain(){
inti;longs=0;
for(i=2;i<=3;i++)
s=s+fun1(i);
printf("\ns=%ld\n",s);}編寫一個子函數(shù),在主函數(shù)中定義的字符串中找到第一個大寫字母,并向主函數(shù)返回這個字母的地址,然后從這個被找到的大寫字母開始輸出這個字符串。要求:用返回指針的函數(shù)來解決問題。輸入格式:
printf("inputastring:");
gets(str);輸出格式:
puts("NoCapitalLetter");
puts(pos);輸入樣例:inputastring:findCapitalNumber輸出樣例:CapitalNumber
答案:#includechar*findfirstletter(char*s){
for(;*s!='\0';s++)
if(*s>='A'&&*s<='Z')
break;
returns;}intmain(){
charstr[81];
char*pos;
printf("inputastring:");
gets(str);
pos=findfirstletter(str);
if(*pos=='\0')
puts("NoCapitalLetter");
else
puts(pos);
return0;}有一個班,三個學生,各學四門課,計算總平均分數(shù)以及第n個學生的成績。要求:用3*4的二維數(shù)組存取三個學生四門課的成績,輸入格式如下所示(成績情況如輸入樣例所示),并采用指針的辦法解決問題。輸入格式:
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};輸出格式:
printf("average=%5.2f\n",aver);
printf("%5.2f",*(*(p+n)+i));輸入樣例:
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};輸出樣例:average=82.25thescoreofNo.2are:90.0099.00100.0098.00
答案:#includevoidmain(){
voidaverage(float*p,intn);
voidsearch(float(*p)[4],intn);
floatscore[3][4]={{65,67,70,60},{80,87,90,81},{90,99,100,98}};
average(*score,12);
search(score,2);}
voidaverage(float*p,intn){
float*p_end;
floatsum=0,aver;
p_end=p+n-1;
for(;p<=p_end;p++)
sum=sum+(*p);
aver=sum/n;
printf("average=%5.2f\n",aver);}
voidsearch(float(*p)[4],intn){
inti;
printf("thescoreofNo.%dare:",n);
for(i=0;i<4;i++)
{
printf("%5.2f",*(*(p+n)+i));
printf("\n");
}}利用指針變量做函數(shù)參數(shù)求字符串中空格與逗號的個數(shù)。輸入格式:直接定義或者從鍵盤輸入都可char*str="thisis,atest";輸出格式:
printf("iSpaceNumber=%d,iCommaNumber=%d",iSpaceNumber,iCommaNumber);輸入樣例:輸出樣例:iSpaceNumber=4,iCommaNumber=1
答案:#includevoidGetNumber(char*str,int*pSpaceNumber,int*pCommaNumber){
inti=0;
*pSpaceNumber=0;
*pCommaNumber=0;
while(str[i])
{
if(str[i]=='')
(*pSpaceNumber)++;
elseif(str[i]==',')
(*pCommaNumber)++;
i++;
}}intmain(intargc,char*argv[]){
char*str="thisis,atest";
intiSpaceNumber,iCommaNumber;
GetNumber(str,&iSpaceNumber,&iCommaNumber);
printf("iSpaceNumber=%d,iCommaNumber=%d",iSpaceNumber,iCommaNumber);
return0;}設有一個教師與學生通用的表格,教師數(shù)據(jù)有姓名、年齡、身份、教研室四項。學生數(shù)據(jù)有姓名、年齡、身份、班級四項,編程輸入人員數(shù)據(jù),再以表格輸出。要求使用結(jié)構(gòu)體和共用體結(jié)構(gòu)編寫。輸入格式:
t表示教師,s表示學生輸出格式:輸入樣例:inputname,age,jobanddepartmentWANG30tofficeZHAO20s33輸出樣例:name
age
jobClass/officeWANG
30
t
officeZHAO
20
s
33
答案:#includevoidmain(){
struct
{
charname[10];
intage;
charjob;
union
{
intClass;
charoffice[10];
}depa;
}body[2];
inti;
printf("inputname,age,jobanddepartment\n");
for(i=0;i<2;i++)
{
scanf("%s%d%c",body[i].name,&body[i].age,&body[i].job);
if(body[i].job=='s')
scanf("%d",&body[i].depa.Class);
elsescanf("%s",body[i].depa.office);
}
printf("name\tagejobClass/office\n");
for(i=0;i<2;i++)
{
if(body[i].job=='s')
printf("%s\t%3d%3c%5d\n",body[i].name,body[i].age,body[i].job,body[i].depa.Class);
elseprintf("%s\t%3d%3c%10s\n",body[i].name,body[i].age,body[i].job,body[i].depa.office);
}}計算一組學生的平均成績和不及格人數(shù)。要求使用結(jié)構(gòu)體指針變量做函數(shù)參數(shù)編程。輸入格式:輸出格式:printf("average=%f\ncount=%d\n",avers,c);輸入樣例:{{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chenling",'F',87}}輸出樣例:average=71.750000count=1
答案:#includestructstudent{
intnum;
charname[20];
charsex;
floatscore;}stu[]={{101,"Liping",'M',45},{102,"Zhangping",'M',62.5},{103,"Hefang",'F',92.5},{104,"Chenling",'F',87}};voidmain(){
structstudent*ps;
voidaver(structstudent*ps);
ps=stu;
aver(ps);}voidaver(structstudent*ps){
intc=0,i;
floatavers,total=0;
for(i=0;i<4;i++,ps++)
{
total+=ps->score;
if(ps->score<60)
c+=1;
}
avers=total/4;
printf("average=%f\ncount=%d\n",avers,c);}從練習一創(chuàng)建的文件中讀取學生信息,統(tǒng)計文件中的學生數(shù),計算學生的平均成績,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 山西財經(jīng)大學華商學院《金融數(shù)據(jù)采集》2023-2024學年第二學期期末試卷
- 遼陽職業(yè)技術學院《電視欄目專題與制作》2023-2024學年第二學期期末試卷
- 鄭州大學《產(chǎn)品設計報告書制作》2023-2024學年第二學期期末試卷
- 做賬實操-保險公司理賠支出的賬務處理分錄
- 2025屆上海市寶山區(qū)高三一模考試歷史試卷
- 江西外語外貿(mào)職業(yè)學院《文獻查閱與交流》2023-2024學年第二學期期末試卷
- 柳州職業(yè)技術學院《行政倫理學》2023-2024學年第二學期期末試卷
- 長春職業(yè)技術學院《商務談判》2023-2024學年第二學期期末試卷
- 首都師范大學《工程制圖與全專業(yè)三維識圖課程設計》2023-2024學年第二學期期末試卷
- 魯迅美術學院《生物藥物制劑學》2023-2024學年第二學期期末試卷
- 淺談班級的文化建設課題論文開題結(jié)題中期研究報告(經(jīng)驗交流)
- PMC年終個人總結(jié)精編ppt
- DBJ∕T 15-129-2017 集中空調(diào)制冷機房系統(tǒng)能效監(jiān)測及評價標準
- U8-EAI二次開發(fā)說明
- Q∕GDW 11612.41-2018 低壓電力線高速載波通信互聯(lián)互通技術規(guī)范 第4-1部分:物理層通信協(xié)議
- 2006 年全國高校俄語專業(yè)四級水平測試試卷
- 新人教版數(shù)學四年級下冊全冊表格式教案
- 疫情期間離市外出審批表
- (完整版)全身體格檢查評分標準(表)
- 裝飾裝修工程施工合理化建議和降低成本措施提要:完整
- (改)提高地下室側(cè)墻剛性防水施工合格率_圖文
評論
0/150
提交評論