版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第3章
三、編程題
1.編寫程序,輸入一個非負數,輸出以此數為半徑的圓周長以及面積。
^include"stdio.h〃
#definePI3.1415
voidmain()
(
floatr,area,circumference;
scanf(n%f,,&r);
area=PI*r*r;
circumference=2*r*PI;
printf("area=%6.2f\ncircumference=%6.2f\n'\area,circumference);
)
2.編寫程序,輸出下面結果,注意,雙引號也要輸出:
mastudent!”
#include<stdio.h>
voidmain()
(
printf("VIVmastudent!
)
3.編寫程序,輸入一個小寫字母,將其轉換為大寫字母輸出。例如輸入b,則輸出B。提示:小寫字母和
對應的大寫字母的ASCII碼值相差32o
voidmain()
(
charch;
ch=getchar();
ch-=32;
putchar(ch);
//printf(u%cn,ch);
)
4.編寫程序,輸入一個華氏溫度f,輸出其相應的攝氏溫度c。華氏溫度和攝氏溫度的轉換公式為:
c=|(f-32)
#include<stdio.h>
voidmain()
(
floatf,c;
scanf(“%f”,&f);
c=5.0*(f-32)/9;
printf(“華氏溫度%5.2f轉換為攝氏溫度為:%5.2f\n",f,c);
第4章
三、編程題
1.輸入一個整數,判斷這個整數是奇數還是偶數(提示:整數的奇偶性可以利用取余運算符%判定)。
#include<stdio.h>
voidmain()
(
inta;
scanf(n%d",&a);
if(a%2)
printf("奇數\n“);
else
printf("偶數也”);
)
2.編寫程序,輸入一個24小時制的時間,轉換為12小時制時間后進行輸出。以13點15分為例,輸入:
13:15,則輸出:下午1:15。
#include<stdio.h>
voidmain()
(
inthour,minute;
scanf("%d:%d”,&hour,&minule);
if(hour>12)hour=hour-12;
printf(n%d:%d\nn,hour,minute);
)
3.輸入年號,判斷它是否是閏年(如果年號能被400整除,或能被4整除,而不能被100整除,則是閏
年,否則不是)。
voidmain()
(
intyear;
scanf(u%dH,&year);
if(year%400==0||(year%4==0&&year%100==0))
printf("%d是閏年\n",year);
else
printf("%d不是閏年\n”,year);
4.輸入一個字符,如果是大寫字母則輸出對應的小寫字母,如果是小寫字母則輸出相應的大寫字母,如
果都不是則原樣輸出。
#include<stdio.h>
voidmain()
(
charch;
scanf("%c",&ch);
if(ch>='a,&&ch<='z')
ch-=32;
else
if(ch>='A,&&ch<='Z')
ch+=32;
printf(M\n%c\nM,ch);
)
5.設計一個簡單的計算器程序,能輸入整型運算數和基本運算符(+,-,*,/),輸出計算結果。例如:
輸入2+6,輸出2+6=8。
#include<stdio.h>
main()
(
floata,b,result;
charop;
scanf(,,%f%c%f,,&a,&op,&b);
switch(op)
(
case'':result=a+b;printf(H=%f',result);break;
case'-':result=a-b;printf(,'=%f',result);break;
case'*':result=a*b;printf(M%f,,result);break;
case1/':if(b==0.0)printf(',error!\n,');
result=a/b;
printf(n=%f\result);
default:printf("errorduetotheillegalinput!\n");
第5章
三、編程題
1.編寫程序,顯示100?200之間能被7除余2的所有整數。
#include"stdio.h"
main()
{inti;
for(i=100;i<=200;i++)
(if(i%7==2)
printf("\t%d\t",i);
1
2.輸入n個整數,求這n個整數中的最大數、最小數和偶數平均數,并輸出。
#include<stdio.h>
voidmain()
(
inti,n,data,max=O,min=O,even=O,evennumber=O;
printf("Pleaseinputthenumberofdata:");
scanf(”%d”,&n);
printf("Pleaseinputthedata:\n");
scanf("%d”,&data);
max=data;
min=data;
if(data%2==0)
)
even=even+data;
evennumber+4-;
)
for(i=l;i<n;i++)
(
scanf("%d'\&data);
if(data>max)
max=data;
else
if(data<min)
min=data;
if(data%2==0)
(
evcn=even+data;
evennumber4-+;
)
1
printf("Themaxis%d\nTheminis%d\nTheaverageofeven
is%5.2f\n",max,min,(float)(even)/evennumber);
)
3.輸入一串字符,以回車作為結束標志。統(tǒng)計并輸出這串字符中大寫字母、小寫字母和數字字符的個數。
#include<stdio.h>
voidmain()
intupper=0,lower=0,number=0;
charletter;
while((letter=getchar())!='\n')
if(letter>='a'&&letter<=,z')lower++;
elseif(letter>-A'&&letter<='Z,)upper++;
elseif(letter>='0'&&letter<='9,)number++;
}
printf("thenumberofuppercaseis:%d\n",upper);
printf("thenumberoflowercaseis:%d\n",lower);
printf("thenumberofnumberis:%d\n",number);
1
4.輸出九九乘法表。
#include<stdio.h>
voidmain()
(
inti,j;
for(i=l;i<=9;i++)
(
for(j=l;j<=i;j++)
printf(',%d*%d=%-3d
printf(n\nn);
)
}
5.編寫程序,輸出3?1000之間全部素數。
#include<stdio.h>
#include"math,h”
voidmainO
(
intk,data,tag;
for(data=3;data<=1000;data+-i-)〃外層循環(huán),用來產生2?1000之間的整數
{
tag=0;//tag用于表示數i是否是素數,沒有判斷前先假定是素數
for(k=2;k<=sqrt(data)&&!tag;k++)//內層循環(huán)用來判斷data是否有約數
(
if(data%k==0)
tag=l;
)
if(tag==l)printf(繪4d”,data);〃如果i是素數,則輸出
)
)
6.輸入?個三位數,判斷其是否是“水仙花數”。水仙花數是指3位數中的各位數字的立方和等于這3
位數本身。如153=l*l*l+5*5*5+3*3*3o
#include,,stdio.h"
voidmain。
(
intS,a,b,c;
printf("請輸入一個3位數:");
scanf(”%d”,&S);
a=S/100;b=S%100/10;c=S%10;
if(a*a*a+b*b*b+c*c*c==S)
printf(n%d是水仙花數。”,S);
else
printf("%d不是水仙花數。\n",S);
I
7.編程求Fibonacci數列的前40個數。該數列的生成方法是:F,=l,艮=1,F?=F?-,+F?-2(n>=3)(即從第三個
數起,每個數等于前2個數之和)?
#include"stdio.h"
voidmain()
(
intf[40],n;
fl0]=l;
printf(nFibonacci數列的前40個數是:%d\t%d\t",f[O],f[l]);
for(n=2;n<40;n++)
(
f[n]=f[n-l]+f[n-2|;
printf(n%d\t",f[n]);
)
)
8.?個窮人找到一個百萬富翁,給他商討一個換錢計劃如下:我每天給你十萬元,而你第一天只需給我
一元錢,第二天給我二元錢,第三天給我四元錢,……,即我每天都給你十萬元,你每天給我的錢都
是前一天的兩倍,直到滿一個月(30天)。百萬富翁很高興地接受了這個換錢計劃。請編寫程序計算
滿一個月時,窮人給了富翁多少錢,而富翁又給了窮人多少錢。
^include<stdio.h>
voidmain()
(
longpoor=l00000,rich=l,i;
for(i=2;i<=30;i++)
{
poor=poor+100000;
rich=rich*2;
printf("Moneyofpoorgivingrichis%ld\nMoneyofrichgivingpooris%ld\nz,,poor,rich);
9.猴子吃桃問題。猴子第一天摘下若干桃子,立即吃了一半,不過癮又多吃了一個。第二天早上又將剩
下的桃子吃了一半,又多吃了一個。以后的每天早上都是吃了前一天剩下的一半加一個。到第10天早
上時只剩下一個桃子了。編寫程序,求猴子第一天共摘了多少桃子。
/*有一群猴子摘了一堆桃子,他們每天都吃當前桃子的一半且再多吃一個*/
/*到了第10天就只余下一個桃子。(C語言實現)*/
/*用多種方法實現求出原來這群猴子共摘了多少個桃子。*/
/*運行環(huán)境:VC++6.0*/
ttinclude"stdio.h"
mainO
(
inti,j.k;/*j是最后的桃子數,k是中間變量,也是桃子總數*/
j=1;
for(i=9;i>0;i—)
(
k=(j+1)*2;
j=k:
}
printf("機otal=%d\n”,k);
第6章
三.1.#include<stdio.h>
#definen10
voidmain()
{inta[n],i,countl=0,count2=0,sum=0;floatave;
for(i=0;i<n;i++)
{scanf(u%dH,&a[i]);
sum+=a[i];
if(a[i]>80)
count1+=1;
else
if(a[i]<60)
count2+=l;
)
ave=sum/n;
printf(n%d個優(yōu)秀,%d個不及格,平均分:%個",countl,count2,ave);
)
2.#include<stdio.h>
#definen10
voidmain()
{inta[n],i,j,k,max,min;
for(i=0;i<n;i++)
{scanf(”%d\&a[i]);
if(!i)
{max=min=a[i];
j=k=i;
)
else
{if(max<a[i])
{max=a[i];
j=i;
}
else
if(min>a[i])
{min=a[i];
k=i;
printf("最大值%d在第%d位,最小值%(1在第%d位。H,max,j+l,min,k+l);
)
3.#include<stdio.h>
#include<string.h>
voidmain()
{chars[20],ch;
inti,n;
printfC請輸入字符串:");
gets(s);
n=strlen(s);
for(i=0;i<n/2;i++)
{ch=s[i];
s[i]=s[n-l-i];
s[n-l-i]=ch;
)
prinlf("逆序存放的字符串:”);
puts(s);
)
4.#include<stdio.h>
#defineN10
voidmain()
{inti,j,n,a[N+l];
printf("請輸入%d個由小到大排列的整數:”,N);
for(i=0;i<N;i++)
scanf(H%dn,&a[i]);
prinlf(”請輸入要插入的數:”);
scanf("%dn,&n);
for(i=0;i<N;i++)
if(a[i]>n)
{j=i;
break;
)
if(i==N)
j=i;
for(i=N-l;i>=j;i-)
a[i+l]=a[i];
afj]=n;
printf("插入后的排列:”);
for(i=0;i<=N;i++)
printf(u%dn,a[i]);
)
5.#include<stdio.h>
#defineN3
voidmain()
{inti,j,a[N][N],sum=O;
printff請輸入%d*%d矩陣的元素::N,N);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
{scanf(”%d”,&a口皿);
if(i==j)
sum+=a[i][j];
}
printf("主對角線元素之和:%doM,sum);
}
6.#include<stdio.h>
#include<math.h>
voidmain()
{inti,j,n,k=O,b[300];
for(i=l;i<300;i++)
{n=int(sqrt(i));
for(j=2;j<=n;j++)
{if(i%j==O)
break;
)
ig)
{b[k]=i;
k++;
for(i=0;i<k;i++)
printf("%5d';b[i]);
)
7.#include<stdio.h>
#defineN7
voidmain()
{inti,j,k,a[N],temp;
printf("請輸入%d個整數:H,N);
for(i=0;i<N;i++)
scanf("%dH,&a[i]);
for(i=0;i<N-l;i++)
{k=i;
temp=a[i];
for(j=i+l;j<N;j++)
if(temp>a[j])
{k=j;
temp=a[j];
}
if(k!=i)
{a[k]=a[i];
a[i]=temp;
)
)
printf("排序后的數列:”);
for(i=0;i<N;i++)
printf(n%3dn,a[i]);
)
8.#include<stdio.h>
voidmain()
{inti=0,count1=0,count2=0,count3=0;
chars[20];
printf(”請輸入字符串:");
gets(s);
while(s[i]!K(r)
{if(s[i]>='a,&&s[i]<=,z,||s[i]>='A,&&s[i]<=,Z')
count1++;
else
if(s[i]>=,O'&&s[i]<=,9')
count2++;
elsecount3++;
i++;
printf("字符%(1個,數字%d個,其他%d個。[countI,counl2,count3);
9.#include<stdio.h>
#include<string.h>
voidmain()
{chars[20],ch;inti=0;
printf("請輸入字符串:");
gets(s);
while(s[i]!='\0')
{s[i]+=3;
if-
s[i]-=26;
i++;
}
printf("加密后:");
puts(s);
)
10.#include<stdio.h>
#include<string.h>
voidmain()
{charsl[20],s2[20];inti=0j=0;
printf("請輸入字符串1:");
gets(sl);
printf("請輸入字符串2:");
gets(s2);
while(sl[i]!='\0')
i++;
sl[i]=s2[j];
do
{i++;
j++;
sl[i]=s2[j];
)
while(s2[j]!='\0');
printf("連接后:");
puts(sl);
)
11.#include<stdio.h>
#include<string.h>
voidmain()
{charsl[20],s2[20],s3[40];inti=O,j=O,k=O;
printf("請輸入按字母序排列的字符串1:");
gets(sl);
printf("請輸入按字母序排列的字符串2:");
gets(s2);
while(sl[i]!=,\0,&&s2[j]!=,\0,)
{if(sl[i]<s2U])
{s3[k]=sl[i];
k++;i++;
)
else
{s3[k]=s2(j];
k++;j++;
while(sl[i]!='\O')
{s3[k]=sl[i];
k++;i++;
)
while(s2[j]!='\0')
{s3[k]=s2UJ;
k++;j++;
)
s3[k]='\0';
printf("合并后的字符串:");
puts(s3);
)
12.#include<stdio.h>
voidmain()
{inti,j,a[5][5];
for(i=0;i<5;i++)
for(j=4;j>=0;j-)
{ifgi)
a[i]U]=l;
else
a[i][j]=a[i][j+r|+l;
)
for(i=0;i<5;i++)
{for(j=O;j<5;j++)
printf("%3d",a[i][j]);
printf("\n");
)
)
13.#include<stdio.h>
voidmain()
{inti,j,a[8][8];
for(i=0;i<8;i++)
for(j=0;j<8;j++)
{if(j==i||(i+j)==7)
a[i][j]=l;
else
a[i][j]=O;
)
for(i=0;i<8;i++)
{for(j=0;j<8;j++)
printfC%3d*',a[i]U]);
printf('^\n,^);
14.#include<stdio.h>
voidmain()
{inti,j,sum,a[5][3]={20,30,26,30,20,25,25,50,20,46,15,10,35,15,12);
for(i=0;i<5;i++)
{sum=0;
for(j=0;j<3;j++)
sum+=a[il[j];
switch(i)
{caseO:printf("第一個)break;
caseLprintf("第二個)break;
case2:pHntf("第三個)break;
case3:printf("第四個)break;
case4:printf("第五個");break;
)
printf("企業(yè)的總產值是:%d萬元。\n",sum);
)
for(j=0;j<3;j++)
{sum=0;
for(i=0;i<5;i++)
sum+=a[i][j];
switch(j)
{caseO:printf(nA");break;
casel:printf("BM);break;
case2:printf("C");break;
)
printf(”產品的總產值是:%d萬元。\n'\sum);
)
)
15.#include<stdio.h>
#defineN5
voidmain()
{inti,j,a[N][N],b[N];
printf("請輸入%d個數:”,N);
for(i=0;i<N;i++)
scanf("%d",&b[i]);
for(i=0;i<N;i++)
{for(j=i;j<N;j++)
a[i]U]=b[j-i];
for(j=0;j<i;j++)
a[i][j]=a[j][i];
}
for(i=0;i<N;i++)
{for(j=0;j<N;j++)
printf("%3d",a[i][j]);
printf("\n");
16.#include<stdio.h>
voidmain()
{inti=0,j=0,m,n,a[20],b[20];
printf(”請輸入數組a中的數據,以0結束:”);
scanf(n%d",&a[i]);
while(a[i]!=0)
{i++;
scanf("%d",&a[i]);
)
printf("請輸入數組b中的數據,以0結束:”);
scanf("%d”,&b[j]);
while(b[j]!=0)
{j++;
scanf(n%dn,&b|j]);
)
fbr(m=0;m<i;m4-+)
fbr(n=0;n<j;n+4-)
{if(a[m]==b[n])
printf("%3d在a中下標為%&在b中下標為%&
17.#include<stdio.h>
voidmain()
{inta[20][20],b[20][20],flagl[20][20],flag2[20][20],i,j,s,t,k,l,m,n;
printf("請輸入數組a的一維長度:”);
scanf("%d",&k);
prinlf("請輸入數組a的二維長度:”);
scanf("%d",&l);
printf("請輸入數組a中的數據:”);
for(i=0;i<k;i++)
for(j=0;j<l;j++)
scanf(M%d",&a[i]|j]);
for(i=0;i<k;i++)
{for(j=0;j<l;j++)
{printf("%3d",a[i][j]);
flagl[i][j]=l;
)
printf("\n");
}
printf("請輸入數組b的一維長度:");
scanf("%d",&m);
printf("請輸入數組b的二維長度:");
scanf("%d",&n);
printf("請輸入數組b中的數據:");
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);
for(i=0;i<m;i++)
{for(j=0;j<n;j++)
{printf("%3d"<b[i][jl);
flag2[i]U]=l;
}
printf("\n");
)
for(i=0;i<k;i++)
for(j=0;j<l;j++)
for(s=0;s<m;s++)
for(t=0;t<n;t++)
if(a[i]U]==b[s][t])
{flagl[i][j]=O;
flag2[s][t]=0;
)
prinlf("只在一個數組中存在的有:");
for(i=0;i<k;i++)
for(j=0;j<l;j++)
if(flagl[i]U])
printf("%3d",a[i][j]);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if(flag2[i][j])
printf("%3d",b[i]|j]);
)
18.#include<stdio.h>
voidmain()
{inta[101],i,j,count=0;
for(i=l;i<=100;i++)
a[i]=l;
for(i=2;i<=l00;i++)
for(j=i;j<=100;j++)
if(j%i==0)
a[j]*=-l;
for(i=1;i<=100;i++)
if(a[i]==l)
{count++;
printfC第%d張正面朝上。\n”,i);
)
printf("共有%€1張正面朝上。\n",count);
)
19.#include<stdio.h>
voidmain()
{intnJ,j,k,top,bottomjeft,right,goup,godown,goleft,goright,a[20][20];
i=0;j=0;goright=1;goup=0;godown=0;goleft=0;
printf("請輸入方陣的維數:");
scanf(n%d",&n);
top=-l;bottom=n;left=-l;right=n;
for(k=l;k<=n*n;k++)
{a[i][j]=k;
if(goright)
{if(j<right-l)
j++;
else
{goright=0;
godown=l;
top++;
i++;
continue;
)
)
if(godown)
{if(i<bottom-l)
i++;
else
{godown=0;
goleft=l;
right-;
j--;
continue;
if(goleft)
{if(j>left+l)
j--;
else
{goleft=0;
goup=l;
bottom—;
i-;
continue;
}
}
if(goup)
{if(i>top+l)
i-;
else
{goup=0;
goright=l;
left++;
j++;
continue;
for(i=0;i<n;i++)
{for(j=O;j<n;j++)
printfT%5d”,a[i皿);
printf(H\nu);
)
}
第7章
第8章
三、編程題
1.
#include"stdio.hM
#defineN10
voidmain()
(
inti_val[N];
int*p;
intij,val,k;
for(i=0;i<N;i++)
scanf(”%d”,i_val+i);
p=&i_val[O];
printf("排序前結果如下:\n");
for(i=0;i<N;i++)
printf("%d\n",*(p+i));
printf("\n");
for(i=0;i<N-l;i++)
(
k=i;
for(j=i+1;j<N;j++)
if(pUl<P[k])
k=j;
if(k!=i)
{
val=p[i];
p[i]=p[k];
p[k]=val;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度社保工傷保險合同范本(含企業(yè)員工福利政策)3篇
- 二零二五年度企業(yè)人才招聘與培養(yǎng)合同3篇
- 二零二五年度國際知識產權授權合同與實施標準3篇
- 2025年度數據安全防護與應急預案制定合同3篇
- 蘇州校本課程設計
- 二零二五年度幼兒園教育設施建設與房地產開發(fā)合同3篇
- 海南職業(yè)技術學院《全科醫(yī)學概論A》2023-2024學年第一學期期末試卷
- 旋轉洗瓶機課程設計
- 海南衛(wèi)生健康職業(yè)學院《智能交通系統(tǒng)》2023-2024學年第一學期期末試卷
- 海南外國語職業(yè)學院《食品工廠機械與設備A》2023-2024學年第一學期期末試卷
- 小學班主任班級管理策略-高年級篇
- 西北工業(yè)大學非事業(yè)編制人員
- 托福口語課程托福考試介紹task
- 《質量和密度》復習課課件
- GM∕T 0018-2012 密碼設備應用接口規(guī)范
- 《光纖通信》習題解答
- 天津公司股權轉讓協議
- 鋼筋負溫度焊接工藝要求
- 開發(fā)建設項目水土保持方案編制技術問題-廣東省水土保持網
- 薄膜衰減片的仿真設計
- 國家開放大學畢業(yè)生登記表
評論
0/150
提交評論