第一范文网 - 专业文章范例文档资料分享平台

程序填空、改错第二次练习

来源:用户分享 时间:2025/10/7 1:53:02 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

程序填空和改错练习2

一、程序填空

1. 功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。 #include main()

{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 #define N 5

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=arr) {arr=x[i][j]; 【?】} t=x[i][i]; x[i][i]=x[i][col];x[i][col]=t; }

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 #include #define N 20

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 #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(); }

搜索更多关于: 程序填空、改错第二次练习 的文档
程序填空、改错第二次练习.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0stel5dgss9o8y29xxiz_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top