第三题: 请编程求n 阶方正A的上三角元素之积,其中矩阵A的元素值由键盘输入:
#include "Stdio.h"
#include "Conio.h"
#define n 3
main() {
int A[n][n];
int i,j;
int sum=1;
for (i=0; i
scanf("%d", &A[i][j]);
}
}
for(i=0;i
}
printf("/n");
}
for(i=0;i
}
}
printf("The result: %d/n",sum);
getch();
}
第六题:请编程将不超过1000行,每行不超过65个字符的正文文件f拷贝到文件g,并在文件g的每一行的末端加上该行的编号:
#include
main(){
FILE *fp1,*fp2;
char ch;
char *p;
int count=0,i=0;
if((fp1=fopen("C://Win-TC//test//f.txt","r"))==NULL){
printf("Can't open input file/n");
exit(1);
}
if((fp2=fopen("C://Win-TC//test//g.txt","r+"))==NULL){
printf("Can't open input file/n");
exit(1);
}
p=(char *)calloc(65,sizeof(char));
while(1){
ch=fgetc(fp1);
if(ch=='/n'||ch=='/r'||ch==EOF){
count++;
fwrite(p,sizeof(65),i,fp2); /*将该行的字符写入g.txt文件中*/
fprintf(fp2,"%d",count); /*将每行的编号写在该行的末尾*/
free(p); /*释放p内存空间*/
p=(char *)calloc(65,sizeof(char)); /*重新分配p的空间并初始化*/
i=0;
}
if(ch==EOF) break;
p[i++]=ch;
}
fclose(fp1);
/*下面将文件g.txt结果显示在屏幕上*/
rewind(fp2); /*将读写指针定位在文件开始初*/
while((ch=fgetc(fp2))!=EOF)
putchar(ch);
fclose(fp2);
getch();
}
第七题:试写出按如下方式进行的排序的程序,第一堂比较将最小的元素放在r[1]中,最大的元素放在r[n]中,第二趟比较将次小的放在r[2]中,将此大的放在r[n-1]中,依次类推。
#include
#define n 10
int max_num(int a[], int m) {
int k=0;
int b=a[m];
for (k=m; k
b=a[k];
}
return b;
}
int min_num(int a[], int m)
{
int k=0;
int b=a[m];
for (k=m; k
}
return b;
}
main() {
int i=0, j=0, max=0, min=0;
int r[n];
printf("please input %d numbers: /n", n);
for (i=0; i
scanf("%d", &r[i]);
}
printf("/n");
for (i=0; i
}
for (i=0; i max=max_num(r, i); for (j=i; j printf("/n"); getch();
min=min_num(r, i);
r[j]=r[n-i-1];
r[n-i-1]=max;
}
if (r[j]==min) {
r[j]=r[i];
r[i]=min;
}
}
}
for (i=0; i
}
}