3.
#includeint main(void){ int a[6][6], i, j, m, n, sum; printf("Input m, n:"); scanf("%d%d",&m,&n); printf("Input array:\n"); for(i = 0; i < m; i++) /* 调试时设置断点 */ for(j = 0; i < n; j++) scanf("%d",&a[i][j]); sum = 0; /* 调试时设置断点 */ for( i = 0; i < m; i++){ for( j = 0; j < n; j++) sum = sum + a[i][j]; printf("sum of row %d is %d\n",i,sum); /* 调试时设置断点 */ } return 0;}
本题求二维数组每行的和,原程序运行无编译错误但功能未实现。
6.#include#include int main(void){ int i, s; char str[80]; i = 0; while((str[i] = getchar( )) != "\n") i++; str[i] = '\0'; for(i = 0; i < 80; i++) if(str[i] <= '0' || str[i] >= '9') s = s * 10 + str[i]; printf("%d\n",s); return 0;}
本程序目的是倒序输出字符,编译出错,原因及修改如下图。
五、数组知识点自测(每一项均写一个例程,并附测试数据及测试结果) (30分)
5.1读入若干整数,找出最大值,最小值及位于数组的位置;
#includeint main() { int a[10],i,j,t,imax,imin,max,min,N; scanf("%d",&N); for(i = 0; i < N; i++) { scanf("%d",&a[i]); } t=0; max=a[0]; min=a[0]; imax=0; imin=0; for(i=0;i max) { max=a[i]; imax=i; } } for(i=0;i
5.2 读入若干整数,输入要查找的整数X,输出X第一个位置或not found;
#includeint main(){ int n,x,N,i,j,t; long a[20]; scanf("%d %d",&n,&x); for(t=0;t =n) { printf("Not Found\n"); } return 0;}
5.3 交换排序(降序);
#include#define N 10int main(void){ int a[N]; int i,j,temp; for (i=0;i
5.4 选择排序(升序);
#includeint main(void){ const int N = 10; int a[N], i, j , t; for(i = 0; i < N; i++) { scanf("%d", &a[i]); } for(j = 0; j <3; j++){ int idx; idx = j; for(i = j + 1; i < N ; i++){ if(a[i] < a[idx]) { idx = i; } } if(idx != j) { t = a[idx] ; a[idx] = a[j]; a[j] = t; } } for(i = 0; i < N; i++) { printf("%d", a[i]); } return 0;}
5.5 二维数组编程;读入一个整形二维数组,找出最小值及位置,求各行数据的和 ;
#include#include void minp(int** ia,int r,int c,int* x,int* y,int* min){ *min=ia[0][0]; int i,j; for(i=0;i ia[i][j]) { *min=ia[i][j]; *x=i; *y=j; } } }}int main() { int r,c,i,j; int min,x,y; printf("输入矩阵行数和列数:"); scanf("%d%d",&r,&c); int** m=(int**)malloc(sizeof(int*)*r); for(i=0;i
5.6 读入一个字符串,直到遇到#为止,将字符中大小字符转为小写,小写字符转为大写。
#includeint main(){ char str[100]; char ch; int i=0; while((ch=getchar())!='#') { if(ch<='z' && ch>='a') ch=ch-32; else if(ch>='A' && ch<='Z') ch=ch+32; str[i++]=ch; } str[i]='\0'; printf("%s\n",str); return 0;}
六、持续改进学习方法、措施落实情况(10分)
6.1结合上次博客作业,针对自己所提出的各种学习中遇到的困难解决方法,总结一下,自己是否落实之前的计划。没有落实的原因是什么。
没落实,活动过多。
6.3下一步的学习改进措施与计划,按条目写明具体可行的措施及可验证的检测方法。
看书+反复练习并理解PTA上的习题。
自测方法可以独立并在短时间完成一项程序