版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
/2.程序填空(1)以下程序的功能是計算1~50之間能被7整除的整數(shù)之和。#include<stdio.h>voidmain(){inti,sum=
0;for(i=1;50;i++)if(i%7==0)sum+=i;printf("sum=%d\n",sum);}
(2)下面程序接收來自鍵盤的輸入,直到輸入<Ctrl>+Z(值為-1)鍵為止。這些字符被原樣輸出,但若有連續(xù)一個以上的空格時只輸出一個空格。請?zhí)羁铡?include<stdio.h>voidmain(){charcx;charfront=’’;while((cx=getchar())!=’\n’){if(cx!=’’)putchar(cx);if(cx==’’)if(front!=’’)putchar(cx);front=cx;}}
3.程序改錯(1)下列程序的功能是求1+3+5+…99的和。#include<stdio.h>voidmain(){ints,i;★
//ints=0,i;i=1;while(i<=99)s=s+i;★
//{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是輸入一個正整數(shù),判斷是否是素數(shù),若為素數(shù)輸出1,否則輸出0。
#include<stdio.h>voidmain(){inti,x,y=0;★
//y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if((x%i)!=0)y=0;★
//x%i==0printf("%d\n",y);}
4.設(shè)計性實驗
(1)題
/*方法(1)精度控制
*/
#include<stdio.h>
#include<math.h>
main()
{
ints;
floatn,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
while((fabs(t))>=1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
/*方法(2)次數(shù)控制*/
#include<stdio.h>
#include<math.h>
main()
{
ints;
longtimes;
floatn,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
for(times=1;times<=1e9;times++)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
(2)題
main()
{
inti,j,frame;
doublewheattal=0;
doublewheatfnu=1;
printf("Pleaseinputframe’snumbers:");
scanf("%d",&frame);
for(i=0;i<frame;i++)
{
wheattal+=wheatfnu;
wheatfnu+=wheatfnu;
}
printf("\nTotalwheattatol’stimeter=%e\n",wheattal/1.40e8);
}(3)題/*方法一:使用遞推公式n=n+2*/
main()
{
int
i,n=1;
doubles=0,t=1;
for(i=1;i<=20;i++)
{
t*=n;
s+=t;
n+=2;
}
printf("s=%lf",s);
getch();
}
/*方法二:使用通項公式2*i+1*/main()
{
int
i;
doubles=0,t=1;
for(i=1;i<=20;i++)
{
t*=2*i+1;
s+=t;
}
printf("s=%lf",s);
getch();
}
/*方法三*/#include"stdio.h"
main()
{
longtotal,sum,m,n,t;
total=0;
for(m=1;m<=20;m++)
{
sum=1;t=1;
for(n=1;n<=m;n++){sum=sum*t;t=t+2;}
total=total+sum;
}
printf("total=%ld",total);
}
2.程序填空(1)以下程序的功能是計算1~50之間能被7整除的整數(shù)之和。#include<stdio.h>voidmain(){inti,sum=
0;for(i=1;50;i++)if(i%7==0)sum+=i;printf("sum=%d\n",sum);}
(2)下面程序接收來自鍵盤的輸入,直到輸入<Ctrl>+Z(值為-1)鍵為止。這些字符被原樣輸出,但若有連續(xù)一個以上的空格時只輸出一個空格。請?zhí)羁铡?include<stdio.h>voidmain(){charcx;charfront=’’;while((cx=getchar())!=’\n’){if(cx!=’’)putchar(cx);if(cx==’’)if(front!=’’)putchar(cx);front=cx;}}
3.程序改錯(1)下列程序的功能是求1+3+5+…99的和。#include<stdio.h>voidmain(){ints,i;★
//ints=0,i;i=1;while(i<=99)s=s+i;★
//{s=s+i;i++;}printf("1+3+5+…99的和是:%d\n",s);}(2)下面程序的功能是輸入一個正整數(shù),判斷是否是素數(shù),若為素數(shù)輸出1,否則輸出0。
#include<stdio.h>voidmain(){inti,x,y=0;★
//y=1scanf("%d",&x);for(i=2;i<=x/2&&y;i++)if((x%i)!=0)y=0;★
//x%i==0printf("%d\n",y);}
4.設(shè)計性實驗
(1)題
/*方法(1)精度控制
*/
#include<stdio.h>
#include<math.h>
main()
{
ints;
floatn,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
while((fabs(t))>=1e-6)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
/*方法(2)次數(shù)控制*/
#include<stdio.h>
#include<math.h>
main()
{
ints;
longtimes;
floatn,t,pi;
t=1;
pi=0;
n=1.0;
s=1;
for(times=1;times<=1e9;times++)
{
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf("pi=%10.6f\n",pi);
}
(2)題
main()
{
inti,j,frame;
doublewheattal=0;
doublewheatfnu=1;
printf("Pleaseinputframe’snumbers:");
scanf("%d",&frame);
for(i=0;i<frame;i++)
{
wheattal+=wheatfnu;
wheatfnu+=wheatfnu;
}
printf("\nTotalwheattatol’stimeter=%e\n",wheattal/1.40e8);
}(3)題/*方法一:使用遞推公式n=n+2*/
main()
{
int
i,n=1;
doubles=0,t=1;
for(i=1;i<=20;i++)
{
t*=n;
s+=t;
n+=2;
}
printf("s=%lf",s);
getch();
}
/*方法二:使用通項公式2*i+1*/main()
{
int
i;
doubles=0,t=1;
for(i=1;i<=20;i++)
{
t*=2*i+1;
s+=t;
}
printf("s=%lf",s);
getch();
}
/*方法三*/#include"stdio.h"
main()
{
longtotal,sum,m,n,t;
total=0;
for(m=1;m<=20;m++)
{
sum=1;t=1;
for(n=1;n<=m;n++){sum=sum*t;t=t+2;}
total=total+sum;
}
printf("total=%ld",total);
}
2.程序填空(1)求任意兩個整數(shù)之間所有的素數(shù)。
#include<stdio.h>
voidmain(){inti1,i2,i,j,flag;printf("inputtwointeger(i1,i2):");scanf("%d%d",&i1,&i2);printf("primenumber:\n");for(i=i1;i<=i2;i++){flag=1;for(j=2;j<=i-1;j++){if(i%j==0){ flag=0; break;}}if(flag==1)printf("%d\t",i);}printf("\n");}
(2)以下程序的功能是輸出下三角九九乘法表。#include<stdio.h>voidmain(){inti,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%d*%d=%d\t",i,j,i*j);printf("\n");}}
3.程序改錯(1)下列程序的功能是輸出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個三位數(shù),該數(shù)的各位數(shù)字立方和等于該數(shù)本身的數(shù)。例如:153是一個“水仙花數(shù)”,因為153=13+53+33。#include<stdio.h>voidmain(){intx,s,a;for(s=0,x=100;x<1000;s=0,x++)★
{a=x;while(a!=0){s=s+(a%10)*(a%10)*(a%10);★
a=a/10;}if(x==s)printf("%d",x);★}}
(2)以下程序的功能是輸出1至1000之間的所有完數(shù)。若一個整數(shù)等于該數(shù)的所有因子之和,則稱該整數(shù)為完數(shù)。#include<stdio.h>voidmain(){inti,j;ints;for(i=1;i<=999;i++){s=1;★
//s=0;
for(j=1;j<i-1;j++)★
//for(j=1;j<=i-1;j++){if(i/j==0)s=s+j;}★//i%jif(s=i)printf("%5d",i);★
//s==i}}
4.設(shè)計性實驗SY61.Cmain()
{
inti,j,k,n=0;
/*i,j,k分別代表三位整數(shù)的百位,十位,個位.n代表個數(shù)*/
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(i*i*i+j*j*j+k*k*k==1099)
/*在所有組合中找出滿足指定條件的*/
{
printf("%4d",100*i+10*j+k);
n++;
if(n%5==0)
printf("\n");
/*表示每行輸出5個數(shù)*/
}
}SY62.C#include<stdio.h>
#include<string.h>
main()
{
inti,j,k;
for(i=1;i<=4;i++)
/*上三角形有4行,每循環(huán)1次輸出1行*/
{
for(k=1;k<8-((2*i-1)/2);k++)
/*該循環(huán)輸出每行的空格.8用于調(diào)節(jié)偏離位置,可換成別的數(shù)(>=8)*/
printf("");
for(j=1;j<=2*i-1;j++)
/*該循環(huán)輸出每行的’*’字符*/
printf("*");
putchar(’\n’);
/*換行*/
}
for(i=3;i>=1;i--)
/*下面為倒三角形,有3行*/
{
for(k=1;k<8-((2*i-1)/2);k++)
printf("");
for(j=1;j<=2*i-1;j++)
printf("*");
putchar(’\n’);
}
}
sy63.cmain(){intn=1,score,t;scanf("%d",&score);while(score>=0&&n<=5){n++;t=0;while(score!=0){t=t+(score%10)*(score%10);score=score/10;}if(t==108)printf("%d",score);scanf("%d",&score);}}
SY64.C#include"math.h"
main()
{
floatx0,x1,x2,fx0,fx1,fx2;/*x1,x2分別表示每次區(qū)間的左右端點,x0代表區(qū)間的中間點,fx0,fx1,fx2代表相應(yīng)點的函數(shù)值*/
do
{printf("pleaseinputx1&x2:");
scanf("%f,%f",&x1,&x2);
fx1=x1*((2*x1-4)*x1+3)-6;
fx2=x2*((2*x2-4)*x2+3)-6;
}while(fx1*fx2>0);
/*該循環(huán)指定有根的區(qū)間*/
do
{
x0=(x1+x2)/2;
fx0=x0*((2*x0-4)*x0+3)-6;
if((fx0*fx1)<0)
/*丟掉右區(qū)間*/
{
x2=x0;
fx2=fx0;
}
else
/*丟掉左區(qū)間*/
{
x1=x0;
fx1=fx0;
}
}while(fabs(fx0)>1e-5);
/*該循環(huán)實現(xiàn)二分法求根*/
printf("rootx=%f",x0);
}
2)程序填空(1)#include<stdio.h>
voidmain()
{
intm,n,num1,num2,temp;
printf("Inputtwopositiveinteger:\n");
scanf("%d,%d",&num1,__&num2_______);
if(num1<num2)
{temp=num1;num1=num2;num2=__temp_______;}
m=num1;
n=num2;
while(n!=0)
{temp=__m%n__________;
m=n;
n=temp;
}
printf("Thegrestestcommondivisoris%d\n",m);
printf("Thelowestcommonmultipleis%d\n",num1*num2/__m____);
}
(2)下面程序是計算表達(dá)式1+(1+2)+(1+2+3)+…+(1+2+3+…+10)和。#include<stdio.h>voidmain(){intsum,i,j,t;sum=①;for(i=1;i<=10;i++) {t=0; for(j=1;j<=②;j++) t=t+j; sum=③; }printf("1+(1+2)+(1+2+3)+…+(1+2+3+…+10)=%d\n",sum);}
①0
②i
③sum+t3.程序改錯(1)下面的程序是求1~100之間的素數(shù),并將所有素數(shù)按每行10個輸出。#include<stdio.h>#define<math.h>★
//#include<stdio.h>voidmain(){inti,m,k,n;★
//inti,m,k,n=0;for(m=1;m<=100;m=m+2){if(n/10==0)★
//if(n%10==0)printf("\n");k=1;for(i=2;i<=sqrt(m);i++) if(m%i!=0)★
//if(m%i==0){k=0;break;}if(k==1) {printf("%3d",m);n=n+1;}}printf("\n");}(2)下面程序是求表達(dá)式1-1/2+1/3-1/4+1/5-……-1/100的值,結(jié)果保留小數(shù)后4位。#include<stdio.h>voidmain(){inti;floats;i=0;★
//i=1;s=1;★
//s=0;while(i<100){if(i%2==0)s=s-1/i;★
//s=s-1.0/i;elses=s+1/i;★
//s=s+1.0/ii=i+1;}printf("1-1/2+1/3-1/4+…-1/100=%10.3f\n",s);}
4.設(shè)計性實驗(1)編程輸出以下圖形。
#include<stdio.h>
voidmain()
{
inti,j,k;
for(i=1;i<=6;i++)
{
for(k=1;k<=20-(2*i-1)/2;k++)
printf("");
for(j=1;j<=2*i-1;j++)
printf("%d",i);
printf("\n");
}
}
(2)編寫一個程序輸出所有5位數(shù)字的回文。
方法一:#include
<stdio.h>
voidmain()
{
longx,a,t;
//x:原5位整數(shù),a:用來暫存x,t:把a反序后的數(shù)
inti,num=0;
//i:表示原5位數(shù)的某一位,num:回文數(shù)的個數(shù)
for(x=10000;x<=99999;x++)
//每次取出1個5位整數(shù)
{
a=x;
//把取出的5位整數(shù)保存到a
t=0;
//t用來存放反序后的數(shù)
while(a>0)
{i=a%10;
//取出當(dāng)前數(shù)的最后一位到i
t=t*10+i;
//把取出的i組裝到t
a=a/10;
}
if(x==t)
//原來的5位整數(shù)等于反序后的數(shù)t
{printf("%ld,",x);
num++;}
if(num%10==0)
printf("\n");
//每行輸出10個數(shù)
}
}方法二:/*求5位整數(shù)中所有回文*/
#include<stdio.h>
voidmain()
{
longintn,m,t=0;
for(n=10000;n<=99999;n++)
{
if(hw(n)==1)
{printf("%6ld",n);
t++;
if(t%5==0)
printf("\n");
/*每行輸出5個數(shù)*/
}
}
}
inthw(longinta)
/*hw函數(shù)測試a是否是回文*/
{
longint
m,r=0;
m=a;
while(m)
{
r=r*10+m%10;
m/=10;
}
if(a==r)
return1;
/*是回文返回1*/
else
return0;
/*是回文返回0*/
}(3)編程計算e=1+1/1!+1/2!+1/3!+…+1/n!。精度為1e-6(即最后一項1/n!<1e-6就停止循環(huán))。提示:注意1/n!=1/(n-1)!*1/n;利用循環(huán)加上每一次的分項。#include<stdio.h>voidmain(){longi;doublee,t;e=1.0;t=1.0;for(i=1;t>1e-6;i++){t/=(double)i;e+=t;}printf("e=%f\n",e);}
2.⑴①a[10]=x;②break;③a[k]=x;附:算法簡析main(){intx,i,j,k;/*感覺似乎j定義了沒什么作用*/inta[11]={8,18,28,38,48,58,68,78,88,98};printf("請輸入需要插入的一個整數(shù):");scanf("%d",&x);a[10]=x;/*把x放到數(shù)據(jù)串最末位置*/for(i=0;i<10;i++)if(x<a[i]){k=i;break;}/*尋找x的插入點,當(dāng)發(fā)現(xiàn)插入點時退出*/for(i=10;i>k;i--)/*將插入點以與其后的每個數(shù)據(jù)后移一個單位(給x騰位)*//*實例演示——騰位8182838485868788898(x)818283838485868788898↑插入點*/a[i]=a[i-1];a[k]=x;/*將x放到插入點位置*/for(i=0;i<11;i++)printf("%3d",a[i]);printf("\n");}⑵①i%7==0||i%11==0②n++③i%5==03.⑴a.將continue;改為break;b.將i=k-1;改為j=k-1;c.將j=k+1;改為i=k+1;d.將for(i=0;i<10;i++)改為for(i=0;i<9;i++);附:算法簡析#include<stdio.h>voidmain(){intx,i,j,k;inta[10]={8,18,28,38,48,58,68,78,88,98}; printf("請輸入需要刪除的一個整數(shù):");scanf("%d",&x);i=0;j=9;while(i<=j){k=(i+j)/2;if(a[k]==x)break;if(a[k]>x)j=k-1;if(a[k]<x)i=k+1;}/*二分法查找x在數(shù)組中的位置,該位置即刪除點,注意始末坐標(biāo)不要弄顛倒*/if(i>j)printf("需要刪除的數(shù)不在數(shù)組中\(zhòng)n");else{for(;k<9;k++)a[k]=a[k+1];/*擠位,后面的數(shù)據(jù)向刪除點靠攏*//*實例演示——擠位(若刪除38)刪除點↓8,18,28,38,48,58,68,78,88,988,18,28,48,58,68,78,88,98,98*/for(i=0;i<9;i++)/*刪除一個數(shù),只剩9個,數(shù)組最末尾儲存的是重復(fù)的數(shù)據(jù)(倒數(shù)第二個),故不輸出*/printf("%5d",a[i]);}}⑵a.將for(i=0,j=0;i<=10;i++)改為for(i=1,j=0;i<=10;i++)b.將if(i%3=0)改為if(i%3==0)c.將for(;j>=0;j++)改為for(;j>=0;j--)4.⑴#include<math.h>#include<stdio.h>intisprime(intx){intk=sqrt(x);for(;k>1;k--)if(x%k==0)return0;returnx;}voidsort(inta[],intx){inti,k,t;for(i=0;i<x-1;i++)for(k=i+1;k<x;k++)if(a[i]>a[k]){t=a[i];a[i]=a[k];a[k]=t;}}voidmain(){intnum[50],prime[50],i,n=0,j;printf("PLeaseinput50integers:\n");for(i=0;i<50;i++){scanf("%d",&num[i]);if((j=isprime(num[i]))!=0)prime[n++]=j;}sort(prime,n);printf("Thesortedprimenumbersare:\n");for(i=0;i<n;i++)printf("%-5d",prime[i]);}⑵#include<stdio.h>#include<string.h>main(){charinput[10],paswor[10]="password",ch,flag=0;intcount=1,i=0;while(count<=3){printf("請輸入密碼:");while((ch=getch())!=13){input[i++]=ch;putchar(’*’);}input[i]=’\0’;if(strcmp(input,paswor)==0){printf("\n\n你好!我的主人!");flag=1;break;}elseprintf("\n\n離我遠(yuǎn)點!");count++;getch();
}if(flag==0)printf("密碼輸入三次錯誤,你不是我的主人!\n\n離我遠(yuǎn)點!\n\n否則,我很生氣,后果很嚴(yán)重!!!");getch();}⑶main(){intnum[10],i,max,min,maxj,minj;printf("Pleaseinputthedata:\n");scanf("%d",&num[0]);max=min=num[0];for(i=1;i<10;i++){scanf("%d",&num[i]);if(max<num[i]){max=num[i];maxj=i;}if(min>num[i]){min=num[i];minj=i;}}printf("Themaximumelement’sundersideis%d,max=%d",maxj,num[maxj]);printf("\nTheminimumelement’sundersideis%d,min=%d",minj,num[minj]);}⑷#include<stdio.h>#include<conio.h>voidinput(inta[],int*n){inti;printf("Howmanydatasdoyouwanttoinput?");scanf("%d",n);printf("\nPleaseinput%ddatas:\n",*n);for(i=0;i<*n;i++)scanf("%d",&a[i]);}voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}voidmenu(inta[],intn){inti;gotoxy(1,24);printf("Datas:");for(i=0;i<n;i++)printf("%-3d",a[i]);gotoxy(1,1);printf("MENU\n");printf("************************\n");printf("**\n");printf("*1.Findadata*\n");printf("**\n");printf("*2.Insertadata*\n");printf("**\n");printf("*3.Deleteadata*\n");printf("**\n");printf("*4.Exit*\n");printf("**\n");printf("************************\n");printf("PLeaseinputacommand==>");
}
voidfind(inta[],intn){intx;intlow=0,high=n-1,mid;printf("\nPLeaseinputadatatobesearched:");scanf("%d",&x);while(low<=high){mid=(low+high)/2;if(x==a[mid])break;elseif(x>a[mid])low=mid+1;elsehigh=mid-1;}if(low>high)printf("\nThisdatacan’tbefoundinthedatabase!");else{printf("\nThisdataisintheposition%d",mid);gotoxy(7+3*(mid+1)-2,23);putchar(25);}}voidinsert(inta[],intn){intx,k,i;printf("\nPLeaseinputadatatobeinserted:");scanf("%d",&x);a[n]=x;for(i=0;i<n;i++)if(x<a[i]){k=i;break;}for(i=n;i>k;i--)a[i]=a[i-1];a[k]=x;gotoxy(1,24);delline();printf("Datas:");for(i=0;i<=n;i++)printf("%-3d",a[i]);}voidDelete(inta[],intn){intx,low,high,mid,i;printf("\nPLeaseinputadatatobedeleted:");scanf("%d",&x);low=0;high=n-1;while(low<=high){mid=(low+high)/2;if(a[mid]==x)break;if(a[mid]>x)high=mid-1;if(a[mid]<x)low=mid+1;}if(low>high)printf("Thedatatobedeletedisnotinthedatabase!\n");else{for(;mid<n-1;mid++)a[mid]=a[mid+1];gotoxy(1,24);delline();printf("Datas:");for(i=0;i<=n-2;i++)printf("%-3d",a[i]);}
}main(){inta[50],n=0;charcom;input(a,&n);sort(a,n);clrscr();menu(a,n);com=getch();switch(com){case’1’:find(a,n);break;case’2’:insert(a,n);break;case’3’:Delete(a,n);break;default:break;}getch();}/*DTmadeitin2009/05/16*/
程序填空:(1)#include<stdio.h>
#defineN4
voidmain()
{inta[N][N],s1=0,s2=1,max,i,j;
for(i=0;
i<N;
i++)
for(j=0;
j<N;
j++)
scanf("%d",
&a[i][j]
);
max=
a[0][0]
;
for(i=0;i<N;i++)
for(j=0;j<
N
;j++)
{
if(i==j)
s1=s1+a[i][j]
;
if(i+j==N-1)s2*=a[i][j];
if(a[i][j]>
max
)max=a[i][j];
}
printf("s1=%d,s2=%d,max=%d\n",s1,s2,max);
}(2)#include<stdio.h>
#defineM4
#defineN3
voidmain()
{inta[M][N]={{1,2,3},{4,5,6},{7,8,9},{10,11,12}};
intsum=
0
,i,j;
for(i=0;i<N;i++)
sum+=a[0][i]+
a[M-1][i]
;
for(j=1;j<M-1;j++)
sum+=a[j][0]+
a[j][N-1]
;
printf("%d\n",sum);
}改錯:(1)#in#include<stdio.h>
#define
M
3
#define
N
4
voidmain()
{inta[M][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
intb[N][M];
inti,j;
for(i=0;i<M;i++)
{for(j=0;j<N;j++)
printf("%3d",a[i][j]);
printf("\n");}
for(i=0;i<N;i++)
for(j=0;j<M;j++)
b[i][j]=a[j][i];
printf("\n");
for(i=0;i<N;i++)
{for(j=0;j<M;j++)
printf("%3d",b[i][j]);
printf("\n");}
}(2)#include<stdio.h>
voidmain()
{intd[][4]={{0,0,0,0}},i,j;
printf("\nPleaseinput16num:
");
for(i=0;i<4;i++)
for(j=0;j<4;j++)
scanf("%d",&d[i][j]);
for(i=0;i<4;i++)
for(j=0;j<4;j++)
if(d[i][j]<d[j][i])
d[i][j]=d[j][i];
for(i=0;i<4;i++)
{printf("\n\n\n\n\n");/*為了保持每行的間隔與每列的相同*/
for(j=0;j<4;j++)
if(j>=i)
printf("\t%d",d[i][j]);/*為了使位數(shù)不同的數(shù)輸出依然保持三角型*/
else
printf("\t");
}
}設(shè)計性實驗:(1)#include<stdio.h>
#defineM3
#defineN6
voidmain()
{
inti,j,max,min,m=0,n=0,p=0,q=0;
inta[M][N];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
max=min=a[0][0];
for(i=0;i<M;i++)
for(j=0;j<N;j++)
{if(a[i][j]>max)
{
max=a[i][j];
m=i;
n=j;
}
elseif(a[i][j]<min)
{
min=a[i][j];
p=i;
q=j;
}
}
printf("max(%d,%d)=%d,min(%d,%d)=%d",m,n,max,p,q,min);
}
(3)#include<stdio.h>
#defineN20
voidmain()
{
intn,i,j;
inta[N][N];
printf("pleaseinputthen:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
a[i][0]=1;
a[i][i]=1;
}
for(i=2;i<n;i++)
for(j=1;j<i;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=0;i<n;i++)
{for(j=0;j<=i;j++)
printf("%-4d",a[i][j]);
printf("\n");
}
}
2.程序填空(1)以下程序的功能是求數(shù)組a中元素的和。#include<stdio.h>voidmain(){inta[10];int*p,sum=0;for(p=a;p<a+10;p++)scanf("%d",①);//pfor(p=a;p<a+10;p++)sum=sum+②;//*pprintf("sum=③\n",sum);//%d}
(2)以下程序功能是在數(shù)組中查找與x值相同的元素所在的位置。#include<stdio.h>voidmain(){inti,x,a[11];printf(“pleaseinputtennumber:”);for(i=1;i<11;i++)scanf("%d",a+i);printf("pleaseinputx:");scanf("%d",&x);a[0]=①;//xi=10;while(x!=*(a+i))②;//i--if(③)//x==*(a+i)printf("foundpositionis:%d",i);elseprintf("notfound!");}
3.程序改錯(1)以下程序的功能是求一元二次方程的實數(shù)根。#include<stdio.h>#include<math.h>double*quadratic(double*factor){ staticdoubleresult[2]; doubledelta;delta=factor[1]*factor[1]-4*factor[0]*factor[2]; if(delta<0)return0; delta=sqrt(delta); result[0]=(-factor[1]+delta)/(2*factor[0]);result[1]=(-factor[1]-delta)/(2*factor[0]); returnresult;}voidmain(){ doublefun[3],r;★//doublefun[3],*r; printf("Pleaseenterthreefactors:");scanf("%f%f%f",&fun[0],&fun[1],&fun[2]);★//%lf%lf%lf r=quadratic(fun[3]);★//r=quadratic(fun); if(r)printf("Thesolutionis:X1=%lf\tX2=%lf\n",r[0],r[1]); elseprintf("Nosolution!\n");}
(2)以下程序的功能是統(tǒng)計數(shù)組a中所有偶數(shù)的個數(shù)。#include"stdio.h"voidmain(){inta[10],*p,sum=0;printf("請輸入10個整數(shù):");for(p=a;p<a+10;p++)scanf("%d",*p);★//scanf("%d",p);for(;p>=a;p--)★//for(p--;p>=a;p--)if(p%2==0)sum++;★//if(*p%2==0)sum++;printf("共有%d個偶數(shù)",sum);}
2.程序填空(1)以下程序的功能是利用指針找出3個整數(shù)中的最小數(shù)。#include<stdio.h>voidmain(){int*p1,*p2,*p3,min,x,y,z;p1=&x;p2=&y;p3=&z;printf(″pleaseinputthreeinteger:″);scanf(″%d%d%d″,p1,p2,p3);①;//min=*p1if(*p1>*p2)②;//min=*p2if(min>*p3)③;//min=*p3printf(″min=%d\n″,min);}(2)以下程序利用指向函數(shù)的指針實現(xiàn)函數(shù)調(diào)用,完成可選擇的加減乘除運算。#include<stdio.h>/*定義函數(shù)add*/intadd(intx,inty){ printf("%d+%d=",x,y);returnx+y;}/*定義函數(shù)sub*/intsub(intx,inty) {printf("%d-%d=",x,y);returnx-y;} /*定義函數(shù)mult*/intmult(intx,inty){ printf("%d*%d=",x,y);returnx*y;}/*定義函數(shù)dev*/intdev(intx,inty){ printf("%d/%d=",
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋管理公司合并合同(2篇)
- 2025年度農(nóng)業(yè)灌溉打井工程合同4篇
- 二零二五年度外墻仿石漆施工進(jìn)度管理與成本控制合同3篇
- 2025年度高端美容師職業(yè)發(fā)展服務(wù)勞動合同4篇
- 二零二五年度戶外廣告牌租賃與戶外LED廣告內(nèi)容制作合同2篇
- 二零二五年度存量房買賣合同4篇
- 2024私車公用合同
- 2025年度油氣田打井設(shè)備租賃合同8篇
- 2025年度南京市個人旅游線路開發(fā)合同3篇
- 2025年度參展合同模板:5G通信技術(shù)應(yīng)用展合作協(xié)議3篇
- 2024年四川省成都市龍泉驛區(qū)中考數(shù)學(xué)二診試卷(含答案)
- 護理飲食指導(dǎo)整改措施及方案
- 項目工地春節(jié)放假安排及安全措施
- 印染廠安全培訓(xùn)課件
- 紅色主題研學(xué)課程設(shè)計
- 胸外科手術(shù)圍手術(shù)期處理
- 裝置自動控制的先進(jìn)性說明
- 《企業(yè)管理課件:團隊管理知識點詳解PPT》
- 移動商務(wù)內(nèi)容運營(吳洪貴)任務(wù)二 軟文的寫作
- 英語詞匯教學(xué)中落實英語學(xué)科核心素養(yǎng)
- 《插畫設(shè)計》課程標(biāo)準(zhǔn)
評論
0/150
提交評論