




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1.輸入一個(gè)華氏溫度,輸出攝氏溫度。公式為:C=5(F-32)/9
要求:輸出要有文字說明;能夠?qū)Χ鄠€(gè)華氏溫度進(jìn)行計(jì)算。
#include<stdio.h>
voidmain()
{intc,f;
scanf("%d",&f);
c=5.0*(f-32)/9;
printf("c=%d\n”,c);
)
2.編寫一個(gè)程序完成下述計(jì)算:
x(x<1)
y=12x-l(1<x<10)
3x-ll(x>10)
include<stdio.h>
{floatx,y;
scanf(〃%d〃,&x);
if(x<l)y=x;
elseif(x>=l&&x<=10)y=2*x-l;
elseif(x>10)y=3*x-ll;
printf(%d",y);
)
3.給定一個(gè)不多于5位的正整數(shù),要求:①求它是幾位數(shù);②分別打印出每一位數(shù)字。
tfinclude<stdio.h>
voidmain()
{
lf(x<10)
N=l;
Elseif(x<100)
N=2;
Elseif(x<1000)
N=3;
Elseif(x<10000)
N=4;
Elsen=5;
intn,a,b,c,d;
scanf("%d",&n);
a=n/1000;
b=(n-a*1000)/100;
c=(n-a*1000-b*100)/10;
d=(n-a*1000-b*100-c*10);
printf("%d%d%d%d”a,b,c,d);
)
5
4.輸入4個(gè)整數(shù),按從小到大的順序輸出。
include<stdio.h>
voidmain()
{floata,b,c,d,t;
printf("input4geshu:\nH);
scanf("%f,%f,%f,%f,&a,&b,&c,&d);
if(a>=b){t=a;a=b;b=t;}
if(a>=c){t=a;a=c;c=t;}
if(a>=d){t=a;a=d;d=t;}
if(b>=c){t=b;b=c;c=t;}
if(b>=d){t=b;b=d;d=t;}
if(c>=d){t=c;c=d;d=t;}
printf(”%f,%f,%f,%f”,ad);
)
5.輸入兩個(gè)正整數(shù)m和n,求其最大公約數(shù)。
//include<stdio.h>
Voidmain()
{intm,n,r;
Printf(z/lnputm,np);
Scanf(,z%d%d,,,&m,&n):
lf(m<n)
{r=m;m=n;n=r;}
R=m%n;
While(r!=0)
{m=n;n=r;r=m%n;}
Printf(/Zn=%d\n\n)
)
學(xué)號(hào):姓名:成績:
6.輸入兩個(gè)正整數(shù)m和n,求其最小公倍數(shù)。
#include<stdio.h>
Voidmain()
{intm,n,r;p
Printf(/Zlnputm,n;〃);
Scanf(zz%d%d,,,&m,&n):
P=m*n;
lf(m<n)
{r=m;m=n;n=r;}
R=m%n;
While(r!=O)
{m=n;n=r;r=m%n;}
Printf(zzn=%d\n,,,n);
Printf("p=%d\n,,,p/n);
)
學(xué)號(hào):姓名:成績:
7.輸入一行字符,分別統(tǒng)計(jì)出其中英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。
#include<stdio.h>
voidmain()
(
charc;
inti=OJ=O,k=O;
printf("shuruyihangzifu:\n");
while((c=getchar())!=,\n/)
(
if((c>=W)&&(c<=/Z,)|I(c>=,a,)&&(c<=,z,))
i++;
elseif((c>='0')&&(c<='9'))
J++;
else
k++;
}
z/
printf(zimugesu=%d,shuzigeshu=%d,qitageshu=%do
)
8.求n!
#include<stdio.h>
intf(intx)
(
intm;
if(x==O||x==l)
m=l;
else
m=x*f(x-l);
return(m);
}
voidmain()
(
intn,y;
printf("input:n\n");
scanf("%d";&n);
y=f(n);
printf("%d,%d\n",n,y);
}
100
9.求X"
n=()
#include<stdio.h>
voidmain()
(
inti,sum=0;
for(i=l;i<=100;i++)
sum=sum+i;
printf("%d",sum);
)
20
10.求2”!
n=\
include<stdio.h>
voidmain()
(
floatn,s=0,t=l;
for(n=l;n<=20;n++)
(
t*=n;
s+=t;
)
printf("l+2!+3!...+20!=%e\n",s);
)
學(xué)號(hào):姓名:成績:
11.打印水仙花數(shù)。所謂水仙花數(shù)指一個(gè)3位數(shù),其各位數(shù)字的立方和等于該數(shù)本身。
Sinclude<stdio.h>
voidmain()
inti,j,k,n;
printf("'waterflower'numberis:");
for(n=100;n<1000;n++)
(
i=n/100;
j=n/10%10;
k=n%10;
if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)
printf("%-5d",n);
)
)
printf("\n");
)
23581321
12.求一分?jǐn)?shù)序列:
#include<stdio.h>
voidmain()
(
floatfl,f2,sum,temp;
inti;
fl=2;
f2=l;
sum=0.0;
for(i=l;i<=20;i++)
(
sum+=fl/f2;
temp=fl;
fl=fl+f2;
f2=temp;
)
printf("thesumis:%f\n",sum);
)
13.小猴吃桃。小猴第一天摘下若干個(gè)桃子,當(dāng)即吃了一半,又多吃了一個(gè);第二天又吃了剩下
的一半零一個(gè),到第十天,只剩一個(gè)桃子。問第一天共摘了多少個(gè)桃子。
include<stdio.h>
voidmain()
intday,xlzx2;
day=9;
x2=l;
while(day>0)
{xl=(x2+l)*2;
x2=xl;
day-;
}
printf("thetotalis%d\n",xl);
)
14.用牛頓迭代法求方程在1.0附近的根。
2x3-4x2+3x-6=0
學(xué)號(hào):姓名:成績:
15.用二分法求方程附近的根。
2%3-4%24-3x-6=0
學(xué)號(hào):姓名:成績:
16.打印出以下圖形:
*
***
*****
*******
*********
#include<stdio.h>
voidmain()
(
inti,j;
for(i=l;i<=5;i++)
(
forO=l;j<=(5-i);j++)
print""");
for(j=l;j<=(2*i-l);j++)
printf("*");
printf(Anw);
)
}
17.打印出以下圖形:
*********
*******
*****
***
*
#include<stdio.h>
voidmain()
{inti,j;
for(i=5;i>=l;i-)
{for(j=l;j<=6-i;j++)
printf("");
for(j=l;j<=2*i-l;j++)
printf("*");
printf("\n");
)
)
18.求100以內(nèi)的素?cái)?shù)。(不能使用數(shù)組)
#include<stdio.h>
voidmain()
(
int
for(i=l;i<100;i++)
(
for(j=l,n=0;j<=i;j++)
if(i%j==O)
n=n+l;
if(n==2)
printf("%d",i);
)
printf(Qn");
)
19.用篩法求100以內(nèi)的素?cái)?shù)。
#include<stdio.h>
^include"math.h"
SdefineN101
main()
inti,j,line,a[N];
for(i=2;i<N;i++)a[i]=i;
for(i=2;i<sqrt(N);i++)
for(j=i+l;j<N;j++)
(
if(a[i]!=O&&a[j]!=O)
if(a[j]%a[i]==O)
a[j]=O;}
printf("\n");
for(i=2,line=0;i<N;i++)
(
if(a[i]!=O)
{printf("%5d",a[i]);
line++;}
if(line==10)
{printf("\n");
line=O;}
)
)
20.用選擇法對(duì)10個(gè)整數(shù)排序。
include<stdio.h>
#defineN10
voidmain()
{inti,j,min,tem,a[N];
printf("pleaseinputtennum:\n");
for(i=0;i<N;i++)
(
printf("a[%d]=,,,i);
scanf("%d",&a[i]);}
printf("\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf("\n");
for(i=0;i<N-l;i++)
{min=i;
for(j=i+l;j<N;j++)
if(a[min]>a[j])min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
}
printf("Aftersorted\n");
for(i=0;i<N;i++)
printf(H%5d",a[i]);
)
21.用冒泡法對(duì)10個(gè)整數(shù)排序。
#include<stdio.h>
voidmain()
(
int就10]Jjt;
for(i=0;i<=10;i++)
(
scanf("%d”,&a[i]);
)
for(i=0;i<=10;i++)
for(j=0;j<=(10-i);j++)
if(a[j]>a[j+l])
{t=a[j];a[j]=a[j+l];a[j+l]=t;}
for(i=0;i<=10;i++)
printf("%d
printf(Qn〃);
)
22.用選擇法對(duì)20個(gè)整數(shù)排序。
include<stdio.h>
#defineN20
voidmain()
{intij,min,temza[N];
printf("pleaseinputtennum:\n");
for(i=0;i<N;i++)
(
printf("a[%d]=",i);
scanf("%d",&a[i]);}
printf("\n");
for(i=0;i<N;i++)
printf("%5d",a[i]);
printf(H\n");
for(i=0;i<N-l;i++)
{min=i;
for(j=i+l;j<N;j++)
if(a[min]>a[j])min=j;
tem=a[i];
a[i]=a[min];
a[min]=tem;
)
printf("Aftersorted\n");
for(i=0;i<N;i++)
printf(n%5d",a[i]);
)
23.用冒泡法對(duì)20個(gè)整數(shù)排序。
#include<stdio.h>
voidmain()
(
int
for(i=0;i<=20;i++)
(
scanf("%d”,&a[i]);
)
for(i=0;i<=20;i++)
for(j=0;j<=(20-i);j++)
if(a[j]>aU+l])
{t=a[j];a[j]=a[j+l];a[j+l]=t;}
for(i=0;i<=20;i++)
printf("%d
printf("\n〃);
)
學(xué)號(hào):姓名:成績:
24.求一個(gè)3x3矩陣對(duì)角線元素之和。
//include<stdio.h>
voidmain()
(
floata[3][3]zsum=0;
inti,j;
printf("pleaseinputrectangleelement:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%f",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("duijiaoxianheis%6.2f",sum);
)
25.求一個(gè)4x4矩陣對(duì)角線元素之和。
/include<stdio.h>
voidmain()
{
floata[4][4],sum=0;
inti,j;
printf("pleaseinputrectangleelement:\n");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%f"/&a[i][j]);
for(i=0;i<4;i++)
sum=sum+a[i][i];
printf("duijiaoxianheis%6.2f",sum);
)
26.求一個(gè)3x3矩陣外邊元素之和。
學(xué)號(hào):姓名:成績:
27.求一個(gè)4x4矩陣外邊元素之和。
學(xué)號(hào):姓名:成績:
28.有一個(gè)已排好序的數(shù)組,現(xiàn)輸入一個(gè)數(shù),要求按原來順序?qū)⑺迦霐?shù)組中。
include<stdio.h>
voidmain()
{staticinta[5]={l,4,5,6,7};
inti,t,b;
scanf(“%d”,&b);
for(i=0;i<5;i++)
{t=a[i];a[i]=b;b=t;}
printf(”%d”,a[i]);
printf("%d",b);
)
29.將一個(gè)數(shù)組中的值按逆序重新存放。
#include<stdio.h>
#defineN
main()
{inta[N]J,temp;
printf("qingshuru
for(i=0;i<N;i++)
scanf("%d",&a[i]);
for(i=0;i<N/2;i++)
{temp=a[i];
a[i]=a[N-i+l];
a[N-i+l]=temp;}
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
)
30.輸出楊輝三角形。
Sinclude<stdio.h>
Voidmain()
{intij;
inta[n][n];
printf("\n");
for(i=0;i<n;i++)
{a[i][0]=l;
a[i][i]=l;}
for(i=2;i<n;i++)
for(j=l;j<i;j++)
a[i][j]=a[i-l]D-l]+a[i-l]O];
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
)
)
學(xué)號(hào):姓名:成績:
31.有20個(gè)數(shù)按從小到大的順序排列,輸入一個(gè)數(shù),用折半查找法找出該數(shù)。
#include<stdio.h>
#defineN20
voidmain()
{inti,j,number,top,bott,mid,loca,a[N],flag=l,sign=l;
charc;
printf("Enterdata:\n");
scanf("%d",&a[O]);
i=l;
while(i<N)
{scanf("%d",&a[i]);
if(a[i]>=a[i-l])
i++;
else
printf("Enterthisdataagain:");
}
printf("\n");
for(i=0;i<N;i++)
printf("%4d",a[i]);
printf("\n");
while(flag)
{printf(Hlnputnumbertolookfor:");
scanf("%d",&number);
loca=0;
top=0;
bott=N-l;
if{(number<a[O])||(number>a[N-l]))
loca=-l;
while((sign==l)&&(top<=bott))
{mid=(bott+top)/2;
if(number==a[mid])
{loca=mid;
,
printf("Find%d,itspositionis%d\n'/numberjoca+l);
sign=0;
}
elseif(number<a[mid])
bott=mid-l;
else
top=mid+l;
}
if(sign==l||loca==-l)
printf("%disnotfound.\n",number);
printf("Continueornot(Y/N)?");
scanf("%c",&c);
if(c=='N'||c=='n')
flag=O;
)
)
32.有一篇文章,共有3行文字,每行有80個(gè)字符。要求分別統(tǒng)計(jì)其中英文字母、數(shù)字、空格
及其它字符的個(gè)數(shù)。
學(xué)號(hào):姓名:成績:
33.有一篇文章,共有3行文字,每行有80個(gè)字符。要求分別統(tǒng)計(jì)其中英文大寫字母、小寫字
母、數(shù)字、空格及其它字符的個(gè)數(shù)。
include<stdio.h>
intmain()
{inti,j,upp,low,dig,spa,oth;
chartext[3][80];
upp=low=dig=spa=oth=0;
for(i=0;i<3;i++)
{printf(Hpleaseinputline%d:\n",i+l);
gets(text[i]);
for(j=0;j<80&&text[i][j]!=,\0';j++)
{if(text[i][j]>='A,&&text[i][j]<='Z')
upp++;
elseif(text[i][j]>=,a,&&text[i][j]<-z')
low++;
elseif(text[i][j]>='0'&&text[i][j]<='9')
dig++;
elseif(text[i][j]=='')
spa++;
else
oth++;
)
)
printf("\nuppercase:%d\n",upp);
printf("lowercase:%d\n",low);
printf("digit:%d\n",dig);
printf("space:%d\n",spa);
printf("other:%d\n",oth);
return0;
}
34.編寫一個(gè)程序,將兩個(gè)字符串連接起來,不能用strcat函數(shù)。
include<stdio.h>
voidmain()
{inti,j;
charstrl[5]/str2[5],str3[ll];
gets(strl);
gets(str2);
for(i=0;str1[i]!='\0';i++)
str3[i]=strl[i];
for(j=0;str2[j]l=>\0';j++)
str3[j+i]=str2[j];
printf("%s\n%s\n%s\n",strl,str2,str3);
)
35.編寫一個(gè)程序,將兩個(gè)字符串連接起來,不能用strcat函數(shù)。
學(xué)號(hào):姓名:成績:
36.編寫一個(gè)程序,比較兩個(gè)字符串的大小,不能用strcmp函數(shù)。
#include<stdio.h>
voidmain()
{charsl[5],s2[5];
inti,flag=O;
gets(sl);
gets(s2);
for(i=0;sl[i]!='\0,&&s2[i]!=,\0';i++)
{if(sl[i]>s2[i])
{flag=l;break;}
elseif(sl[i]<s2[i])
{flag=2;break;}
)
if(sl[i]!='\O')
{flag=l;}
if(s2[i]!='\0')
{flag=2;}
printf("s%disbiggest\n",flag);
)
37.編寫一個(gè)程序,將一個(gè)字符串復(fù)制到另一個(gè)字符數(shù)組中,不能用strcpy函數(shù)。
#include<stdio.h>
voidmain()
{inti,j,t;
charsl[ll],s2[5];
gets(sl);
gets(s2);
for(i=0;i<ll;i++)
{if(sl=='\O')break;}
printf("%d",i);
forQ=i;j<i+5;j++)
{sl[i]=t;
s2[j]=sl[i];
s2[j]=t;
)
printf("%s%s",sl,s2);
)
38.編寫一個(gè)程序,求一個(gè)字符串的長度,不能用strlen函數(shù)。
^include<stdio.h>
voidmain()
{inti,sum=0;
chara[7];
gets(a);
for(i=0;a[i]!='\0';i++)
{sum=sum+i;}
printf("%d",sum);
)
39.求1---1---------1—H—要求n從鍵盤輸入。
357n
#include<stdio.h>
voidmain()
{inti=-l,n;
floatj,s;
scanf("%d",&n);
for(j=l;1.0/j>1.0/(l+n*2);j=j+2.0)
{i=-i;
s+=i*l,O/j;}
printf("%f",s);
)
學(xué)號(hào):姓名:成績:
40.寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)中輸入一個(gè)整數(shù),輸出是否素?cái)?shù)的信息。
voidmain()
intij;
scanf(“%d”,&i);
for(j=2;j<i;j++)
if(i==((int)(i/j))*j)break;
if(j>=i)
printf("%dyes\n",i);
elseprintf("%dno\n,,J);
)
41.求方程ax2+hx+c=0的根。
#include<stdio.h>
#include<math.h>
voidmain()
(
float
printf("input:a,b,c\n");
scanf("%f,%f,%匕&a,&b,&c);
n=-b/(2*a);
m=b*b-4*a*c;
if(m>0)
(
t=sqrt(m);
//
printf(Xi=%fX2=%f\n”,n+t,n-t);
}
elseif(m==0)
a/,
printf(Xi=X2=%f\n/n);
else
(
t=sqrt(-m);
printf(aXi=%f+%fiX2=%f?%fi\n”,n,t,n,t);
}
)
42.寫一個(gè)函數(shù),輸入一個(gè)4位數(shù)字,要求輸出這四個(gè)數(shù)字字符,但每兩個(gè)數(shù)字間有一個(gè)空格。
include<stdio.h>
voidmain()
{
intn,a,b,c,d;
scanf("%d",&n);
a=n/1000;
b=(n-a*1000)/100;
c=(n-a*1000-b*100)/10;
d=(n-a*1000-b*100-c*10);
printf("%d%d%d%d"a,b,c,d);
)
43.輸入若干學(xué)生5門課的成績,用函數(shù)計(jì)算每個(gè)學(xué)生的平均成績。
#include<stdio.h>
intav(inta[10][5]Jntb)
(
inti,s=O;
for(i=0;i<5;i++)
s+=a[b][i];
s=s/5;
returns;
)
intav2(inta[10][5]Jntb)
(
inti,s=O;
for(i=0;i<10;i++)
s+=a[i][b];
returns/10;
)
intmaxfinta[][5],int*pl,int*p2)
(
ints,i,j;
s=a[O][O];
for(i=0;i<10;i++)
for(j=0;j<5;j++)
if(a[i][j]>s)
s=a[i][j],*pl=i,*p2=j;
returns;
學(xué)號(hào):姓名:成績:
44.輸入若干學(xué)生5門課的成績,用函數(shù)計(jì)算每門課的平均成績。
include<stdio.h>
floataver(floata[5])
{inti;
floataver=0;
for(i=0;i<5;i++)
{aver=aver+a[i]/5;}
return(aver);
)
voidmain()
{intj;
floatv,s[5];
for(j=0;j<5;j++)
scanf("%f",&s[j]);
printf("\n");
v=aver(s);
printf("%f",v);
)
2
45.輸入若干學(xué)生5門課的成績,用函數(shù)計(jì)算每門課的平均分方差:-Vx,2-
n
fun(){
inti,ii,d[10][5],max=0,sum=0,b[2];
for(i=0;i<10;i++)
for(ii=0;ii<5;ii++)
scanfC%d*,&d[i][ii]);
printf(^AverageStudents:\n〃);
for(i=0;i<10;i++){
for(ii=0;ii<5;ii++){
if(d[i][ii]>max)max=d[i][ii];
sum+=d[i][ii];
)
printf(z,NO.%d%d\n”,i,sum/5);
sum=0;
printf(^AverageSubjects:\n〃);
for(ii=0;ii<5;ii++){
for(i=0;i<10:i++){sum+=d[i][ii];if(d[i][ii]==max){b[0]=i;b[l]=ii;)}
printfCSB.%d%d\n”,ii,sum/10);
sum=0;
)
printf("Highest:NO.%dGRADE.%d\b[0],b[l]);
intmain(void){
fun();
getch();
return0;
)
學(xué)號(hào):姓名:成績:
46.用遞歸法求n!。
#include<stdio.h>
voidmain()
(
intn;
longy;
longfac(intn);
printf(Hinputyige>0deshu:\n");
scanf("%d",&n);
y=fac(n);
printf("n!=%ld",y);
)
longfac(intn)
{longf;
if(n==0,n==l)f=l;
elsef=fac(n-l)*n;
return(f);
)
47.用遞歸法求1+2+3+……+100o
include<stdio.h>
voidmain()
{intsum=0,l;
for(i=l;i<=100;i++)
sum=sum+l;
Printf(〃%d〃,sum);
)
學(xué)號(hào):姓名:成績:
48.寫一個(gè)交換值的函數(shù),在主函數(shù)中輸入2個(gè)整數(shù),并輸出。
include<stdio.h>
voidswap(inta,intb)
{inttemp;
temp=a;
a=b;
b=temp;
)
main()
{intx=7,y=ll;
swap(x,y);
printf("x=%d,y=%d",x/y);
)
49.輸入4個(gè)字符串,按由小到大的順序輸出。
#include<stdio.h>
#include<stdlib.h>
intbb(constvoid*a,constvoid*b)
{return(*(constchar*)a-*(constchar*)b);
)
intmain(void)
{chara[5];
inti;
for(i=0;i<5;i++)a[i]=getchar();
qsort(a,5,sizeof(char),bb);
for(i=0;i<5;i++)putchar(a[i]);
return0;
學(xué)號(hào):姓名:成績:
50.打印輸出斐波那契數(shù)列的前60項(xiàng)。
include<iostream>
intmain()
(
intal=0,a2=1,i;
for(i=0;i<60;i++)
(
cout?al?endl;
inttemp=a2;
a2+=al;
al=temp;
)
return0;
)
51.定義一個(gè)結(jié)構(gòu)體變量,計(jì)算該日在本年中是第幾天。
include<stdio.h>
intleap_year(intyear)
{
if(year%4!=0||year%100==0&&year%400!=0)
return0;
else
return1;
)
main()
{
structday
(
intyear;
intmonth;
intdate;
);
structdaytoday;
intdays_of_month[12]={31,28,31,30,31,30,31,31,30,31,30,31},i,days=0;
printf("Year:n);
scanf("%d”,&today.year);
printf("Month:");
scanf("%d",&today.month);
printf(nDate:");
scanf("%d",&today.date);
if(leap_year(today.year))
days_of__month[l]=29;
for(i=0;i<today.month-l;i++)
days+=days_of_month[i];
days+=today.date;
printf("%d/%disthe%d(th)daysin%d.\n",today.month,today.date,days,today.year);
)
52.用函數(shù)實(shí)現(xiàn)輸入一個(gè)年月日,計(jì)算該日在本年中是第幾天。
include<stdio.h>
main()
intday,month,year,sum,leap;
printf("\npleaseinputyear,month,day\n");
scanf(”%d,%d,%d”,&year,&month,&day);
switch(month)
(
casel:sum=O;break;
case2:sum=31;break;
case3:sum=59;break;
case4:sum=90;break;
case5:sum=120;break;
case6:sum=151;break;
case7:sum=181;break;
case8:sum=212;break;
case9:sum=243;break;
case10:sum=273;break;
casell:sum=304;break;
case12:sum=334;break;
default:printf("dataerror");break;
)
sum=sum+day;
if(year%400==011(year%4==0&&year%100!=0))
leap=l;
else
leap=0;
if(leap==l&&month>2)
sum++;
printf("ltisthe%dthday.",sum);}
學(xué)號(hào):姓名:成績:
53.編寫一個(gè)print函數(shù),輸出一個(gè)數(shù)組,該數(shù)組中有6個(gè)學(xué)生的數(shù)據(jù)記錄,每個(gè)記錄包括num、
name.score[3],用主函數(shù)輸入這些記錄,用print函數(shù)輸出這些記錄。
#include<stdio.h>
structstudent
(
intnum⑹;〃書上答案是6,我把它改成5也可以,到底用5好還是6好(按照底卜i+1應(yīng)該是6,但為什么5也對(duì))
charname[20]
;intscore[4];
〃書上答案是4,我把它改成3也可以,到底用3好還是4好(按照底下j+1應(yīng)該是4,但為什么3也對(duì))}stu[5];
voidmain()
voidprintfstructstudentstu[6]);
inti,j;
for(i=0;i<5;
i++)
(
printf("請(qǐng)輸入第%d個(gè)學(xué)生的數(shù)據(jù):
printff'No.:");
scanf("%d",&stu[i].num);
printf("姓名門;
scanf("%s",stu[i].name);
for(j=0;j<3;
j++){printf("分?jǐn)?shù)%出”戶1);
scanf("%d",&stu[i].score[j]);
)
printf(n\n");
}
print(stu);
)
學(xué)號(hào):姓名:成績:
54.編寫一個(gè)enter函數(shù),輸入一個(gè)數(shù)組,該數(shù)組中有6個(gè)學(xué)生的數(shù)據(jù)記錄,每個(gè)記錄包括num、
name、score[3],用主函數(shù)輸出這些記錄。
#include<stdio.h>
structstudent
(
intnum⑹;〃書上答案是6,我把它改成5也可以,到底用5好還是6好(按照底下i+l應(yīng)該是6,但為什么5也對(duì))
charname[20]
;intscore[4];
〃書上答案是4,我把它改成3也可以,到底用3好還是4好(按照底下j+1應(yīng)該是4,但為什么3也對(duì))}stu[5];
voidmain()
(
voidprintfstructstudentstu[6]);
intij;
for(i=0;i<5;
i++)
(
printf("請(qǐng)輸入第%d個(gè)學(xué)生的數(shù)據(jù):\n”,i+l);
printff'No.:");
scanf("%d",&stu[i].num);
printf("姓名巧;
scanf("%s",stu[i].name);
for(j=0;j<3;
j++){printf(“分?jǐn)?shù)%出”"1);
scanf("%d",&stu[i].score[j]);
)
printffXn");
}
print(stu);
)
學(xué)號(hào):姓名:成績:
55.編寫一個(gè)函數(shù)getbits,從一個(gè)字中取出某幾位(即該幾位保留原值,其余取0)。函數(shù)調(diào)用
形式:getbits(valueznl,n2)ovalue為字?jǐn)?shù)據(jù),nl為欲取出的起始位,n2為欲取出的結(jié)束位。
main()
{unsingnedinta;
intnl,n2;
printf(/zinputanoctalnumber:");
scanf("%o〃,&a);
printf(/zinputnl,n2:〃);
scanf("%d,%d〃,&nL&n2);
printf("result:%o\n”,getbits(a,nl-Ln2));
)
getbits(unsignedvalue,intnl,n2)
{unsignedintz;
z=~0;
z=(z?nl)&(z?(16-n2);
return(z);;
}學(xué)號(hào):姓名:成績:
56.寫一個(gè)函數(shù),對(duì)一個(gè)16位的二進(jìn)制數(shù)取出它的奇數(shù)位(即從左邊開始的第1、3、...15位)。
#include<iostream>
#include<string>
usingnamespacestd;
stringextracter(intnumber)
stringbit;
for(inti=0;i<16;i+=2)
(
//1:0000,0000,0000,0001
if((1?i)&number)
bit.insert(0,"1M);
else
bit.insert(0,"0");
)
returnbit;
)
intmain()
{
stringbit;
//38566:1001,0110,1010,0110
//打出:0110,0010
bit=extracter(38566);
cout?bit;
}
學(xué)號(hào):姓名:成績:
57.寫一個(gè)函數(shù),對(duì)一個(gè)16位的二進(jìn)制數(shù)取出它的偶數(shù)位(即從左邊開始的第0、2、...14位)。
#include<stdio.h>
intmainO
{unsignedgetbits(unsigned);
unsignedinta;
printf(/z\nlnputanoctalnumber:*);
scanf&a);
printf("resultgetbits(a));
)
unsignedgetbits(unsignedvalue)
{inti,j,m,n;
unsignedintz,a,q;
z=0;
for(i=l;i<=15;i++)
{q=l;
for(j=l;j<=(16-i-l)/2;j++)
q=q*2;
a=value?(16~2);
a=a?15;
a=a?15;
z=z+a*q;
}
return(z);
)
58.設(shè)計(jì)一個(gè)函數(shù),使給出一個(gè)數(shù)的原碼,能得到該數(shù)的補(bǔ)碼。
include<stdio.h>
include<stdlib.h>
voidmain()
{
longn=1000;
charbuf[100];
ltoa(n,buf,2);
printf("yuanma:\n%s\n\n",buf);
n=~n+l;
ltoa(n,buf,2);
printf("buma:\n%s\n"zbuf);
)
學(xué)號(hào):姓名:成績:
59.從鍵盤輸入一個(gè)字符串,將其中小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個(gè)磁盤文件中
保存。
#include<stdio.h>
voidmain()
(
charc;
printf(inputzifuchuan:\n");
while(c=getchar()!=,\n,)
{if((c>=/a,)&&(c<=/z,))
c=c+32;
else
c=c;
)
printf("%c\n",c);
)
學(xué)號(hào):姓名:成績:
60.從鍵盤輸入一組學(xué)生m門功課的成績和學(xué)號(hào),然后輸出到一個(gè)磁盤文件中保存。
#include<stdio.h>
#include<stdlib.h>
#defineN2
#defineM2
structstudent{intID;
charname[20];
floatscore[M];
floatave;}stu[N];
voidmain()
(
FILE*fp=NULL;
intij;
charch;
floatsum=0.0;
',
fp=fopen("stud.txt",wb");
if(fp==NULL)
(
printf("Cannotopenthisfile\n");
exit(0);
)
for(i=0;i<N;i-H-)
{printf("PleaseEnter%dthstudent'sNameIDScoresof%dThis:\n",i+l,M);scanf("%s%d
H
/stu[i].name,&stu[i].ID);
for(j=0;j<M;j++)
{scanf("%f",&stu[i].score[j]);
sum+=stu[i].score[j];
)
ch=getchar();
stu[i].ave=sum/M;/**/
fwrite(&stu[i],sizeof(structstudent),l,fp);
)
fclose(fp);
fp=fopen("stud.txt"/"rb");
if(fp==NULL)
{printf("Cannotopenthisfile\n");
exit(0);)
for(i=0;i<N;i++)
{fread(&stu[i]/sizeof(structstudent),l,fp);
printf("%-10d%?10s,stu[i].ID,stu[i].name);
for(j=0;j<M;j++)
{
printf("%6.2f”,stu[i].score[j]);
)
printf(“%6.2f\n“,stu[i].ave);
}
fclose(fp);
}學(xué)號(hào):姓名:成績:
61.寫一個(gè)函數(shù),使一個(gè)二進(jìn)制整數(shù)的低4位改為L
intfun(intn)
{
inti=0,x[100],number=0,num=l;
Do
(
if(n%2==0)
{x[i]=0;
n=n/2;
)
else
{x[i]=l;
n=(n-l)/2;
)
i++;
}
while(n!=0);
forfintj=(i-l);
j>=6;
j-)
{if(i<=6)break;
if(x[j]==l){for(intk=0;
k<(i-l);k++)num=num*2;
number=number+num;
)
)
returnnumber;
}學(xué)號(hào):姓名:成績:
62.寫一個(gè)函數(shù),使一個(gè)二進(jìn)制整數(shù)的低4位翻轉(zhuǎn)。
學(xué)號(hào):姓名:成績:
63.編寫一個(gè)C語言程序,測試下列各表達(dá)式:i,j,i++J++,++i,++j,i+++++j
voidmain()
{inti=lintj=l;
,,,
printf('i=%d/j=%d\n/i,j);
printf("i+l=%d/j+l=%d\n"zi+1,j+1);
i=l;
j=l;
,
printf('i++=%d/j++=%d\n"zj++,j++);
i=l;
j=l;
printf("++i=%d/++j=%d\n",++i,++j);
學(xué)號(hào):姓名:成績:
64.編寫一個(gè)求0~1000間的全部偶數(shù)之和的程序。
include<stdio.h>
voidmain()
{longi,sum=0;
for(i=0;i<=1000;i+=2)
{sum=sum+i;}
printf("%ld",sum);
)
65.編寫一個(gè)求0~1000間的全部奇數(shù)之和的程序。
include<stdio.h>
voidmain()
{longi,sum=0;
for(i=l;i<=1000;i+=2)
{sum=sum+i;}
printf("%ld",sum);
)
66.若有一頭小母牛,從第四年開始每年生一頭母牛,第n年時(shí)有多少頭母牛。
intmain()
intn;
longa=1,b=1,c=1,temp;
cout?"pleaseinputavalue:\n";
cin?n;
for(inti=4;iv=n;i++)
(
temp=a+c;a=b;b=c;c=temp;
)
cout?c?endl;
return0;
)
學(xué)號(hào):姓名:成績:
67.有100匹馬,馱100擔(dān)貨,大馬馱3擔(dān),中馬馱2擔(dān),兩匹小馬馱1擔(dān),問大、中、小馬各
多少?
include<stdio.h>
voidmain()
{inti,j,k;
for(i=0;i<200;i++)
for(j=0;j<50;j++)
{k=100-i-j;
if(k%2==0)
if(i*3+j*2+k/2==100)
printf("\ni=%d,j=%d,k=%d",i,j,k);
)
)
68.用100元錢,買100只雞,公雞5元1只,母雞3元1只,小雞1元3只,問公雞、母雞、
小雞各多少?
^include<stdio.h>
voidmain()
{inti,j,k;
for(i=l;i<20;i++)
for(j=l;j<33;j++)
{k=100-i-j;
if(k%3==0)
if(i*5+j*3+k/3==100)
printf("\ni=%dj=%d;k=%d",i,j,k);
)
)
69.36塊磚,36人搬,男人搬3塊,女人搬2塊,小孩2人抬1塊,男人、女人、小孩各若干?
#include<stdio.h>
voidmain()
{inti,j,k;
for(i=0;i<12;i++)
for(j=0;j<18;j++)
{k=36-i-j;
if(k%2==0)
if(i*3+j*2+k/2==36)
printf("\ni=%d,j=%d,k=%d",i,j,k);
)
)
70.有一行字符,要求將每個(gè)單詞的第一個(gè)字母改成大寫字母。
include<stdio.h>
voidmain()
{chars[12];
printf("Pleaseastring:");
gets(s);
s[0]=s[0]-32;
puts(s);
)
71.寫一個(gè)函數(shù),將一個(gè)一維數(shù)組的頭尾顛倒。
#include<stdio.h>
intdz(inta[5])
{inti,j,temp;
for(i=l;i<=5;i++)
for(j=5;j>=l;j++)
a[i]=temp;
a[i]=a[j];
temp=a[j];
returna[j];
)
voidmain()
{ints[5];
inti;
for(i=l;i<=5;i++)
scanf("%d",&s[i]);
printf("%d",dz(s));
)
72.求1+21+2?+…+263
#include<stdio.h>
#include<math.h>
voidmain()
{longs=0,i;
for(i=0;i<=63;i++)
{s=s+pow(2,i);}
primf(“%ld”,s);
)
73.有n個(gè)國家的名字,要求按字母先后順序排列輸出。
#include<stdio.h>
#include<string.h>
voidmain()
(
charname[5][15],temp[15];
inti,j;
printf(〃請(qǐng)輸入國家名:\n〃);
for(i=0;i<5;i++)
gets(name[i]);
for(i=0;i<5;i++)
for(j=0;j<4-i;j++)
if(strcmp(name[i],name[j+1])>0)
(
strcpy(temp,name[j]);
strcpy(name[j],nameEj+1]);
strcpy(name[j+1],temp);
printf("國家名排序后為:\n");
for(i=0;i<5;i++)
printf(〃/s\n〃,name[i]);
)
學(xué)號(hào):姓名:成績:
74.設(shè)計(jì)一個(gè)函數(shù),將一個(gè)字符串中的字母全部變成大寫。
Sinclude<stdio.h>
include<stdlib.h>
voidToLower(char*input)
(
char*p;
p=input;
while(*p!='\0')
(
if(*p>=97&&*p<=122)
(
*p=*p-32;
)
P++;
)
)
voidmain()
(
charinput[1024];
printf("Plesaeinputastring:");
scanf("%s”,input);
ToLower(input);
for(inti=0;input[i]!='\0';i++)
{
printf(“%c,input[i]);
}
)
75.設(shè)計(jì)一個(gè)函數(shù),將一個(gè)字符串中的字母全部變成小寫。
#include<stdio.h>
include<stdlib.h>
voidToLower(char*input)
char*p;
p=input;
while(*p!='\O')
|
if(*p>=65&&*p<=90)
(
*p=*p+32;
)
P++;
)
)
voidmain()
{
charinput[1024];
printf("Plesaeinputastring:");
scanf("%s",input);
ToLower(input);
for(inti=O;input[i]!='\0';i++)
(
printf("%c",input[i]);
)
)
76.編寫一個(gè)函數(shù),將一個(gè)數(shù)字字符串轉(zhuǎn)換成一個(gè)整數(shù)。
#include<stdio.h>
intfun(char*s)
{
intretvahO;
intn=l;
if(*s=='-')
(
n=-l;
s++;
)
while(*s!='\0')
(
retval=retval*10+(*s-'0');
s++;
)
return(n*retval);
)
main()
{chars[6];
longn;
printf("Enterastring:\n");
gets(s);
n=fun(s);
printf("%ld\n",n);
)
77.編寫一個(gè)函數(shù),將一個(gè)數(shù)字字符串轉(zhuǎn)換成一個(gè)實(shí)數(shù)。
#include<stdio.h>
intatoi(chardigitStr[10])
(
inta,b,c;
for(a=0/b=0;a<10;a++){if(digitStr[a]=='\n')break;c=digitStr[a];b=b+c;}
return(b);
)
voidmain()
{
chars[10];
inta,b;
for(a=0;a<10;a++){scanf("%c",&s[a]);if(s[a]=='\n')break;}
b=atoi(s);
printf("%d\n"zb);
)
學(xué)號(hào):姓名:成績:
78.有一個(gè)3行4列的矩陣,編寫程序求出每行中值最大的元素,并輸出其值和行列坐標(biāo)。
#include<iostream.h>classCString{int**data;introws,cols;public:CString(){data=NULL;rows=0;cols=0;}
CString(intmjntn){intj;rows=m;cols=n;data=newint*[m];for(inti=0;i<m;i++)data[i]=newint[n];
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川寬窄優(yōu)品商貿(mào)有限責(zé)任公司成都分公司招聘筆試參考題庫附帶答案詳解
- 2025廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘199人筆試參考題庫附帶答案詳解
- 交通工程學(xué)知到智慧樹章節(jié)測試課后答案2024年秋長安大學(xué)
- 2025年中金匯通信技術(shù)有限公司甘肅分公司招聘60人筆試參考題庫附帶答案詳解
- 2025安徽阜陽市阜合產(chǎn)投集團(tuán)中層管理人員競聘3人筆試參考題庫附帶答案詳解
- 室外總體施工方案
- 2025上半年云南日?qǐng)?bào)報(bào)業(yè)集團(tuán)招聘34人筆試參考題庫附帶答案詳解
- 2024福建福州市可持續(xù)發(fā)展城市研究院有限公司招聘1人筆試參考題庫附帶答案詳解
- 2025年上半年共青團(tuán)長春市委所屬事業(yè)單位招考工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年云南紅河紅河縣事業(yè)單位急需緊缺人才招聘40人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 5G 智慧地鐵白皮書(2019) -中國電信(上海)
- 2024年版《輸變電工程標(biāo)準(zhǔn)工藝應(yīng)用圖冊(cè)》
- 物理化學(xué)考前復(fù)習(xí):基礎(chǔ)知識(shí)+重點(diǎn)(考前)
- DL∕T 5210.2-2018 電力建設(shè)施工質(zhì)量驗(yàn)收規(guī)程 第2部分:鍋爐機(jī)組
- 工程異常處理管理規(guī)定
- 國家基層糖尿病神經(jīng)病變?cè)\治指南(2024版)
- 2024年長沙電力職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫附答案
- 重點(diǎn)關(guān)愛學(xué)生幫扶活動(dòng)記錄表
- 2024年部編版五年級(jí)下冊(cè)語文第一單元綜合檢測試卷及答案
- 5-6歲幼兒園小學(xué)美術(shù)PPT課件教案教程創(chuàng)意幼教手工《樹懶》
- 牛津譯林英語七年級(jí)上冊(cè)7AUnits1-4單元復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論