当前位置:首页 > 程序填空、改错第二次练习
程序填空和改错练习2
一、程序填空
1. 功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。 #include
{int age,y0,y1,m0,m1,d0,d1;
printf(\输入生日日期(年,月,日)\/***********SPACE***********/ 【?】(\ printf(\输入当前日期(年,月,日)\ scanf(\ age=y1-y0;
/***********SPACE***********/ if(m0【?】m1)age--;
/***********SPACE***********/ if((m0【?】m1)&&(d0>d1))age--; printf(\}
2. 题目:对二维数组a中存储的N*N矩阵做如下操作:先将每一行中值最大的元素与该行位于主对角线处的元素交换,然后对主对角线上所有元素排序使其自左上角到右下角升序排列,最后输出排序后主对角线上各元素的值。 #include
void fun(int x[][N],int n) {
int i,j,t,arr,col; for(i=0;i arr=x[i][0];col=0; for(i=0;i arr=x[i][0];col=0; /***********SPACE***********/ for(j=0;j for(i=0;i for(j=i+1;j { t=x[i][i]; x[i][i]=x[j][j]; x[j][j]=t;} } } void main() { int a[N][N]={{10,25,24,13,23},{11,22,12,21,14},{20,15,19,16,18}, {17,9,4,5,3},{2,1,6,7,8}}; int i; fun(a,N); for(i=0;i 3. 功能:输入字符串,再输入一个字符,将字符串中与输入字符相同的字符删除。 #include \ void fun(char a[],char c) { int i,j; /***********SPACE***********/ for(i=j=0; 【?】;i++) if(a[i]!=c) a[j++]=a[i]; /***********SPACE***********/ 【?】; } main() { char a[20],cc; gets(a); /***********SPACE***********/ 【?】; /***********SPACE***********/ 【?】; puts(a); } 二、程序改错 1. 功能:求出a所指数组中最大数和次最大数(规定最大数和次最大数不在a[0]和a[1]中),依次和a[0]、a[1]中的数对调。 例如:数组中原有的数:7、10、12、0、3、6、9、11、5、8, 输出的结果为:12、11、7、0、3、6、9、10、5、8。 #include int fun ( int a[], int n ) { int k,m1,m2,max1,max2,t; max1=max2= -32768; m1=m2=0; for ( k = 0; k < n; k++ ) if ( a[k]>max1 ) { max2 = max1; m2 = m1; max1 = a[k]; m1 = k; } /**********FOUND**********/ else if( a[k]>max1 ) { max2 = a[k]; m2 = k; } /**********FOUND**********/ t = a[0]; a[m1]=a[0]; a[m1] = t; /**********FOUND**********/ t = a[1]; a[m2]=a[1]; a[m2] = t; } main( ) { int x, b[N]={7,10,12,0,3,6,9,11,5,8}, n=10, i; clrscr( ); for ( i = 0; i for ( i=0; i 2.题目:在主函数中main()中输入年、月、日,然后计算该天是这一年的第几天。其中函数LeapYear()是判断某年是否为闰年。 #include int LeapYear(int year){ /***********FOUND***********/ return ((year%4==0 && year0) && (year@0==0)); } int main(){ int mon_days[2][11]={{31,28,31,30,31,30,31,31,30,31,30},{31,29,31,30,31,30,31,31,30,31,30}}; int year,mon,day,days; int i; scanf(\ days=day; /***********FOUND***********/ for(i=0;i /***********FOUND***********/ days=mon_days[LeapYear(year)][i]; printf(\ getch(); return 0; } 3. 功能:求100以内(包括100)的偶数之和. #include \main() { /**********FOUND**********/ int i,sum=1; /**********FOUND**********/ for(i=2;i<=100;i+=1) sum+=i; /**********FOUND**********/ printf(\ getch(); }
共分享92篇相关文档