版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第三章:3-1.打印菱形圖形成績:10/折扣:0.8輸入n,輸出如下例(n=3)所示的邊長為n的菱形:*************輸入:邊長n輸出:邊長為n的菱形#include"stdio.h"main(){intn,i,j;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=2*i-1;j++)printf("*");printf("\n");}for(i=1;i<=n-1;i++){for(j=1;j<=i;j++)printf("");for(j=1;j<=2*n-2*i-1;j++)printf("*");printf("\n");}}3-2.打印平行四邊形成績:10/折扣:0.8輸入圖形的高n和首字符c,輸出如下例(c='A',n=5)所示的圖形.ABCDEBCDEFCDEFGDEFGHEFGHI輸入:高n和首字符c輸出:高為n和首字符為c的平行四邊形#include"stdio.h"main(){intn,i,j;charc;scanf("%d,&c",&n,&c);c=getchar();for(i=1;i<=n;i++){for(j=1;j<=i-1;j++)printf("");for(j=1;j<=n;j++)putchar(c+i+j-2);printf("\n");}}3-3.求和成績:10/折扣:0.8輸入整數(shù)m和正整數(shù)n,按下列公式計算s:s=m-(m+1)+m+2-(m+3)+……+(-1)n(m+n)。輸入:m和n輸出:s#include"stdio.h"main(){intm,n,s,k,i,j;scanf("%d%d",&m,&n);s=m;for(i=1;i<=n;i++){k=m+i;for(j=1;j<=i;j++)k=(-1)*k;s=s+k;}printf("s=%d\n",s);}3-4字符加密輸出成績:10/折扣:0.8從鍵盤上輸入一個字符,進行加密以后再輸出在屏幕上。加密規(guī)律是:輸入小寫英文字母時,輸入a輸出Z、輸入b輸出Y、輸入c輸出X、...、輸入z輸出A。輸入大寫英文字母時,將該字母ASCII碼值再加上該值的1/2后輸出所對應(yīng)的字符,例如數(shù)字A的ASCII碼值是65,加上其值的1/2后是98(小數(shù)四舍五入),則輸出字符‘b’。輸入數(shù)字時,將該數(shù)字原ASCII碼值再加上該值十進制的十位上的數(shù)后輸出,例如數(shù)字9的ASCII碼值是57,加上十位上的數(shù)5后是62,則輸出字符‘>’。輸入其他字符時原樣輸出。友情提示:整數(shù)之間運算的結(jié)果要取整,例如5/2的結(jié)果是2,而5.0/2.0對小數(shù)四舍五入的結(jié)果就是3.0了。所以輸入大寫英文字母時的輸出要仔細考慮。#include"stdio.h"main(){charc;c=getchar();if(c>=97&&c<=122)putchar(187-c);elseif(c>=65&&c<=90){if(c%2==0)putchar(c*3/2);elseputchar(c*3/2+1);}elseif(c>=48&&c<=57)putchar(c+c/10%10);elseputchar(c);printf("\n");}3-5.計算時鐘的夾角成績:10/折扣:0.8背景:鐘面上的時針和分針之間的夾角總是在0度~359度之間。舉例來說,在十二點的時候兩針之間的夾角為0度,而在六點的時候夾角為180度,在三點的時候為90度。本題要解決的是計算12:00到11:59之間任意一個時間的夾角。輸入:每組測試數(shù)據(jù)包含兩個數(shù)字:第一個數(shù)字代表小時(大于等于0小于等于12),第二個數(shù)字代表分(在區(qū)間[0,59]上)。輸出:對應(yīng)每組測試數(shù)據(jù),用常用格式顯示時間以及這個時候時針和分針間的最小夾角,精確到小數(shù)點后一位。輸出格式如下所示。輸入:1230輸出:At12:30theangleis165.0degrees.友情提示:以表中心到12點的連線為基準,分針每走1分鐘是6度,時針與基準的夾角每個小時也是30度,從整點開始,每過1分鐘時針再增加0.5度。#include"stdio.h"main(){inta,b;floatx;scanf("%d%d",&a,&b);if(a<12)x=30*a+0.5*b-6*b;elsex=0.5*b-6*b;if(x<0)x=-x;if(b>=10)printf("At%d:%dtheangleis%.1fdegrees.\n",a,b,x);elseprintf("At%d:0%dtheangleis%.1fdegrees.\n",a,b,x);}3-6.求親密數(shù)成績:10/折扣:0.8若正整數(shù)A的全部約數(shù)(包括1,不包括A本身)之和等于B;且整數(shù)B的全部約數(shù)(包括1,不包括B本身)之和等于A,則A、B為親密數(shù)。編程,輸入正整數(shù)A,輸出親密數(shù)A,B(A<=B),若不存在親密數(shù),則輸出“Nooutput(回車)”。例如:220和284就是一對親密數(shù)。220的約數(shù)是:1、2、4、5、10、11、20、22、44、55、110,約數(shù)之和是284;284的約數(shù)是:1、2、4、71、142,約數(shù)之和是220。#include"stdio.h"main(){intA,B=0,C=0,i,k;scanf("%d",&A);for(i=2;i<=A;i++){k=A/i;if(A%i==0)B=B+k;}for(i=2;i<=B;i++){k=B/i;if(B%i==0)C=C+k;}if(A==C){if(A<B)printf("%d-%d\n",A,B);elseif(A>B)printf("%d-%d\n",B,A);}elseprintf("Nooutput\n");}4-1打印空心等腰梯形成績:10/折扣:0.8輸入n值,輸出如下例(n=4)所示的高和上底均為n的等腰梯形:******************輸入:高n輸出:高和上底均為n的等腰梯形#include"stdio.h"intmain(){intn,i,j;scanf("%d",&n);for(i=1;i<=n;i++){if(i==1||i==n){for(j=1;j<=n-i;j++)printf("");for(j=1;j<=n+2*i-2;j++)printf("*");}elsefor(j=1;j<=2*n+i-2;j++){if(j==n-i+1||j==2*n+i-2)printf("*");elseprintf("");}printf("\n");}}4-2.反序輸出整數(shù)成績:10/折扣:0.8輸入一個整數(shù)N,要求以相反的順序輸出該數(shù),例如,N=-1234,輸出-4321。輸入:整數(shù)N輸出:N的反序數(shù)#include"stdio.h"intmain(){intN,M=0,L,i=1,k=1,j,a[100],b[100];scanf("%d",&N);if(N>=0)L=N;elseL=-N;while(L/k*10>=10){a[i]=L/k%10;b[i]=k;k=10*k;i++;}for(j=1;j<=i-1;j++)M=a[j]*b[i-j]+M;if(N<0)M=-M;printf("%d\n",M);}4-3.求最大、次大、最小和次小值成績:10/折扣:0.8輸入n和n個整數(shù)及其序號(如:15,145,2...),依次輸出n個整數(shù)的最大值、次大值、最小值、次小值及其原始序號。輸入:n和n個整數(shù)及其序號輸出:n個整數(shù)的最大值、次大值、最小值、次小值及其原始序號#include"stdio.h"intmain(){intn,i,a[100],b[100],max,min,x,y;scanf("%d\n",&n);for(i=0;i<=n-1;i++)scanf("%d,%d",&a[i],&b[i]);x=y=max=min=0;for(i=0;i<=n-1;i++){if(a[i]>a[max])max=i;if(a[i]<a[min])min=i;}if(x==max)x=min;if(y==min)y=max;for(i=0;i<=n-1;i++){if(a[i]>a[x]&&a[i]<a[max])x=i;if(a[i]<a[y]&&a[i]>a[min])y=i;}printf("%d,%d%d,%d\n",a[max],b[max],a[x],b[x]);printf("%d,%d%d,%d\n",a[min],b[min],a[y],b[y]);}4-4.10進制數(shù)轉(zhuǎn)換為16位二進制數(shù)成績:10/折扣:0.8將任一正整數(shù)(<32768)轉(zhuǎn)換為16位二進制形式。輸入:正整數(shù)輸出:正整數(shù)的16位二進制數(shù)#include"stdio.h"intmain(){intN,i=1,k=1,j,a[16];scanf("%d",&N);while(N/k*2>=2){a[i]=N/k%2;k=2*k;i++;}for(j=1;j<=17-i;j++)printf("0");for(j=1;j<=i-1;j++)printf("%d",a[i-j]);printf("\n");}4-5.打印實心正方形成績:10/折扣:0.8上次你已經(jīng)打印了一行*號,這次在屏幕上輸出一個由星號組成的n行n列的正方形。程序輸入n值,輸出如下例(n=4)所示的高和上底均為n的正方形:****************輸入:高n輸出:n行n列的正方形#include"stdio.h"intmain(){intn,i,j;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n;j++)printf("*");printf("\n");}}4-6.學習成績歸類成績:10/折扣:0.8學生的學習成績是百分制,成績的歸類標準是:90<=成績<=100為"super";80<=成績<90為"good";70<=成績<80為"ok";60<=成績<70為"pass"成績<60為"nogood"。編寫程序。輸入若干個成績,輸出成績和相應(yīng)的等級。輸入成績?yōu)樨摃r,程序結(jié)束,輸入成績大于100分,顯示“inputerror”。#include"stdio.h"intmain(){inta;do{scanf("%d",&a);if(a>100)printf("%d\"inputerror\"\n",a);if(a>=90&&a<=100)printf("%d\"super\"\n",a);if(a>=70&&a<80)printf("%d\"ok\"\n",a);if(a>=80&&a<90)printf("%d\"good\"\n",a);if(a>=60&&a<70)printf("%d\"pass\"\n",a);if(a>=0&&a<60)printf("%d\"nogood\"\n",a);}while(a>=0);}4-7.輸出星期幾的英文表示成績:10/折扣:0.8輸入用數(shù)字(1--7)表示的星期幾,輸出星期幾的英文表示,輸入的數(shù)字有誤,輸出單詞"Error(回車)"。#include"stdio.h"intmain(){intn;scanf("%d",&n);if(n==1)printf("Monday\n");elseif(n==2)printf("Tuesday\n");elseif(n==3)printf("Wednesday\n");elseif(n==4)printf("Thursday\n");elseif(n==5)printf("Friday\n");elseif(n==6)printf("Saturday\n");elseif(n==7)printf("Sunday\n");elseprintf("Error\n");}4-8.求最大數(shù)和最小數(shù)的算數(shù)運算結(jié)果成績:10/折扣:0.8輸入若干個整數(shù),及其要進行的算術(shù)運算(+|-|*|/)符號,輸出最大整數(shù)與最小整數(shù)進行給定的算術(shù)運算的結(jié)果。輸入的整數(shù)范圍是(0~65535),輸入等號作為輸入的結(jié)束,輸出格式見例題。輸入:整數(shù)序列及其運算序號輸出:最大數(shù)與最小數(shù)的算術(shù)運算式#include"stdio.h"intmain(){charch;intn=0,max,min,i0,n0,i=n0=0;i0=100;ch=48;while((ch=getchar())!='='){if(ch>='0'&&ch<='9'){n=10*n+ch-48;i=10*i+ch-48;}else{if(ch==','){if(n>n0)max=n;elsemax=n0;if(i<i0)min=i;elsemin=i0;i0=min;n0=max;i=0;n=0;}else{switch(ch) {case'+':printf("%d+%d=%d\n",max,min,max+min);break;case'-':printf("%d-%d=%d\n",max,min,max-min);break;case'*':printf("%d*%d=%d\n",max,min,max*min);break;case'/':if(min!=0)printf("%d/%d=%d\n",max,min,max/min);elseprintf("Error!\n");}break;}}}ch=getchar();}4-9.黑色星期五成績:10/折扣:0.8在西方,星期五和數(shù)字13都代表著壞運氣,兩個不幸的個體最后結(jié)合成超級不幸的一天。所以,不管哪個月的13日又恰逢星期五就叫“黑色星期五”。輸入某年年號和該年的元旦是星期幾(1-7),輸出該年所有的“黑色星期五”的日期(年/月/日)。輸入:4位年號和該年元旦是星期幾輸出:所有的“黑色星期五”的日期(年/月/日)#include"stdio.h"intmain(){inta,b,k;scanf("%d%d",&a,&b);if(a%100%4==0)k=29;elsek=28;{if((12+b)%7==5)printf("%d/1/13\n",a);if((12+b+31)%7==5)printf("%d/2/13\n",a);if((12+b+31+k)%7==5)printf("%d/3/13\n",a);if((12+b+31+k+31)%7==5)printf("%d/4/13\n",a);if((12+b+31+k+31+30)%7==5)printf("%d/5/13\n",a);if((12+b+31+k+31+30+31)%7==5)printf("%d/6/13\n",a);if((12+b+31+k+31+30+31+30)%7==5)printf("%d/7/13\n",a);if((12+b+31+k+31+30+31+30+31)%7==5)printf("%d/8/13\n",a);if((12+b+31+k+31+30+31+30+31+31)%7==5)printf("%d/9/13\n",a);if((12+b+31+k+31+30+31+30+31+31+30)%7==5)printf("%d/10/13\n",a);if((12+b+31+k+31+30+31+30+31+31+30+31)%7==5)printf("%d/11/13\n",a);if((12+b+31+k+31+30+31+30+31+31+30+31+30)%7==5)printf("%d/12/13\n",a);}}第五章:5-1.打印空心菱形成績:10/折扣:0.8輸入圖形的高n和頂行字符c。輸出如下例(c='A',n=5)所示的圖形。ABBCCDDEEDDCCBBA輸入:高n和頂行字符c輸出:空心菱形#include"stdio.h"main(){intn,i,j;charc;scanf("%d,%d",&n,&c);c=getchar();for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++){if(j==n-i+1||j==n+i-1)putchar(c+i-1);elseprintf("");} printf("\n");}for(i=1;i<=n-1;i++){for(j=1;j<=2*n-i-1;j++){if(j==i+1||j==2*n-i-1)putchar(c+n-i-1);elseprintf("");}printf("\n");}}5-2.求各位數(shù)字之和等于5且能被5整除的整數(shù)成績:10/折扣:0.8輸入正整數(shù)M和N(M,N均小于10000),輸出M和N之間所有滿足下列條件的所有整數(shù):整數(shù)的各位數(shù)字之和等于5且能被5整除。若沒有滿足條件的整數(shù),則輸出:Nooutput輸入:整數(shù)區(qū)間m,n輸出:各位數(shù)字之和等于5且能被5整除的所有整數(shù)#include"stdio.h"intmain(){intM,N,K,a,b,c,d,p=0;scanf("%d%d",&M,&N);for(K=M;K<=N;K++){a=K/1000;b=K/100%10;c=K/10%10;d=K%10;if(a+b+c+d==5&&K%5==0){printf("%d\n",K);p=1;}}if(p==0)printf("Nooutput\n");}5-3.學生成績排序成績:10/折扣:0.8按學生的序號輸入n名學生的成績,按照分數(shù)由高到低的順序輸出學生的名次、序號和成績,要求成績相同的學生具有相同的名次。輸入:學生人數(shù)和n名學生的成績輸出:按分數(shù)由高到低的順序輸出學生的名次、序號和成績#include"stdio.h"intmain(){intn,i,j,k,a[20],b[20];scanf("%d\n",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);b[0]=b[n-1]=a[0];for(i=0;i<n;i++){if(a[i]>b[0])b[0]=a[i];if(a[i]<b[n-1])b[n-1]=a[i];}for(i=1;i<n;i++)b[i]=b[n-1];for(i=0;i<n-2;i++){for(j=0;j<n;j++)if(a[j]<b[i]&&a[j]>b[i+1])b[i+1]=a[j];}for(i=0;i<n-1;i++)if(b[i]==b[i+1])break;for(j=0;j<=i;j++){for(k=0;k<n;k++)if(a[k]==b[j])printf("%d:%d,%d\n",j+1,k+1,a[k]);}}5-4.打印×空心菱形成績:10/折扣:0.8輸入圖形的高,輸出如下例(n=5時)所示的圖形。****************輸入:高n輸出:空心菱形友情提示:第一步,先輸出由*號組成的n行的實心正三角形和n-1行的實心倒三角形;第二步,通過判斷原每行的第一個和最后一個輸出*號,其余位置輸出空格。#include"stdio.h"intmain(){intn,i,j;scanf("%d",&n);for(i=1;i<=n;i++){for(j=1;j<=n+i-1;j++){if(j==n-i+1||j==n+i-1)printf("*");elseprintf("");} printf("\n");}for(i=1;i<=n-1;i++){for(j=1;j<=2*n-i-1;j++){if(j==i+1||j==2*n-i-1)printf("*");elseprintf("");}printf("\n");}}5-5.馬戲團觀眾人數(shù)成績:10/折扣:0.8一個馬戲團表演,n個座位全滿,全部門票收入是120元,現(xiàn)在知道,男人每人5元,女人每人2元,小孩每人1角。編程,輸入總?cè)藬?shù)n,輸出滿足要求的男人、女人和小孩人數(shù)的全部方案。若n人無法滿足條件,則輸出“Nooutput\n”。輸入:人數(shù)n輸出:男人、女人和小孩人數(shù)#include"stdio.h"intmain(){intn,a,b,c,p=0;scanf("%d",&n);for(a=0;a<=24;a++)for(b=0;b<=60;b++){c=n-a-b;if(50*a+20*b+c==1200&&c>=0){printf("%d,%d,%d\n",a,b,c);p=1;}}if(p==0)printf("Nooutput\n");}5-6.求各位數(shù)字組成的最大數(shù)成績:10/折扣:0.8任意輸入一個自然數(shù)(不大于99999999),輸出該自然數(shù)的各位數(shù)字組成的最大數(shù)。例如,輸入1593,則輸出為9531。輸入:自然數(shù)n輸出:各位數(shù)字組成的最大數(shù)#include"stdio.h"intmain(){intN,i=0,j,k=1,p,q,a[8],b[8];staticintc[8]={0};scanf("%d",&N);while(N/k*10>=10){a[i]=N/k%10;k=10*k;i++;}b[0]=b[i-1]=a[0];for(j=0;j<i;j++){if(a[j]>b[0])b[0]=a[j];if(a[j]<b[i-1])b[i-1]=a[j];}for(j=1;j<i;j++)b[j]=b[i-1];for(j=0;j<i-2;j++){for(p=0;p<i;p++)if(a[p]<b[j]&&a[p]>b[j+1])b[j+1]=a[p];}for(j=1;j<i;j++)if(b[j-1]==b[j])break;for(p=0;p<j;p++){for(q=0;q<i;q++)if(a[q]==b[p])c[p]=c[p]+1;}for(p=0;p<j;p++){for(q=0;q<c[p];q++)printf("%d",b[p]);}printf("\n");}5-7.尋找特殊整數(shù)成績:5/折扣:0.8請編寫一個程序?qū)ふ乙环N特殊整數(shù):一個n位的正整數(shù)等于其各位數(shù)字的n次方之和。例如:407=4×4×4+0×0×0+7×7×7。所以407就是一個特殊數(shù)。輸入:正整數(shù)的位數(shù)n(n<=6)。輸出:所有此n位特殊數(shù)。每個數(shù)占一行。若不存在符合條件的特殊數(shù),則輸出提示:“Nooutput.”;若存在,則從小到大進行輸出。說明:假設(shè)輸入為4,在4位整數(shù)中,有3個4位的特殊數(shù),則輸出格式為(輸出中的1111、2222和9999并不是4位特殊數(shù),只是格式樣例):111122229999#include"stdio.h"intmain(){intx,i,j,k,l,m,n,N=0,M=0,p=0;scanf("%d",&x);if(x==1){for(i=1;i<=9;i++)printf("%d\n",i);p=1;}if(x==2)for(i=1;i<=9;i++)for(j=0;j<=9;j++){M=i*i+j*j;N=10*i+j;if(M==N){printf("%d\n",N);p=1;}}if(x==3)for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++) {M=i*i*i+j*j*j+k*k*k;N=100*i+10*j+k;if(M==N){printf("%d\n",N);p=1;}}if(x==4)for(i=1;i<=9;i++)for(j=0;j<=9;j++) for(k=0;k<=9;k++)for(l=0;l<=9;l++) {M=i*i*i*i+j*j*j*j+k*k*k*k+l*l*l*l;N=1000*i+100*j+10*k+l; if(M==N){printf("%d\n",N);p=1;}}if(x==5)for(i=1;i<=9;i++)for(j=0;j<=9;j++) for(k=0;k<=9;k++)for(l=0;l<=9;l++)for(m=0;m<=9;m++) {M=i*i*i*i*i+j*j*j*j*j+k*k*k*k*k+l*l*l*l*l+m*m*m*m*m;N=10000*i+1000*j+100*k+10*l+m; if(M==N){printf("%d\n",N);p=1;}}if(x==6)for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++) for(l=0;l<=9;l++)for(m=0;m<=9;m++)for(n=0;n<=9;n++) {M=i*i*i*i*i*i+j*j*j*j*j*j+k*k*k*k*k*k+l*l*l*l*
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年建筑施工《春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)》工作實施方案 (匯編3份)
- 小學一年級人教新課標數(shù)學100以內(nèi)加法和減法練習試卷
- 小學數(shù)學一年級上冊20以內(nèi)口算題卡
- 小學六年級上冊數(shù)學青島版5第五單元分數(shù)混合運算質(zhì)量檢測試題
- 如何預(yù)防手足口病
- 命題作文“一路有你”寫作導(dǎo)引及佳作
- 紅葉高考語文閱讀理解
- 情侶餐銷售工作總結(jié)
- 財務(wù)部年終工作總結(jié)精細化成本控制
- 運輸物流行業(yè)銷售工作總結(jié)
- 多層鋼結(jié)構(gòu)廠房施工組織設(shè)計#廣西#雙跨門式鋼結(jié)構(gòu)
- 人教版六年級科學重點知識點
- 春節(jié):藝術(shù)的盛宴
- 煙草公司化肥采購項目-化肥投標文件(技術(shù)方案)
- 【良品鋪子成本控制中存在的問題及優(yōu)化建議探析(定量論文)11000字】
- 2023八年級語文上冊 第三單元 13 唐詩五首說課稿 新人教版
- 2024至2030年中國青年旅舍行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略研究報告
- 雷軍2024演講破釜沉舟
- 小學語文(修改病句)專題復(fù)習課件
- 醫(yī)療美容診所規(guī)章制度上墻
評論
0/150
提交評論