数组编程:
15、从键盘输入20个整型数据,放入数组a 中,求其最大值、最小值及其所在元素的下标位置,并输出。
16、编程实现从键盘任意输入30个整数,统计非负数个数,并计算非负数之和。
17、从键盘输入n*n个整型数(n≤10),组成n行n列数组,打印出其上三角数组。
15、#include <stdio.h>
main()
{ int a[20], n, max, min, maxPos, minPos;
for (n=0; n<20; n++)
{scanf("%d",&a[n]); }
max = min = a[0];
maxPos = minPos = 0;
for (n=0; n<20; n++)
{
if (a[n] > max)
{ max = a[n];
maxPos = n;
}
else if (a[n] < min)
{ min = a[n];
minPos = n;
}
}
printf("max=%d, pos=%d\n",max, maxPos);
printf("min=%d, pos=%d\n",min, minPos);
}
16、#include <stdio.h>
main()
{ int i, n, sum = 0, counter = 0;
printf("Input 30 Numbers:\n");
for (i=0; i < 30; i++)
{
scanf("%d", &n);
if (n >= 0) /*判断是否为非负数*/
{ sum += n; /*非负数求和*/
counter++; /*非负数个数计数*/
}
}
printf("sum=%d,counter=%d\n", sum,counter);
}
17、#include <stdio.h>
#define ARR_SIZE 10
main()
{ int a[ARR_SIZE][ARR_SIZE],i,j,n;
printf("Input n:");
scanf("%d",&n);
printf("输入%d*%d数组:\n",n,n);
for (i=0; i<n; i++)
{ for (j=0;j<n;j++)
{
scanf("%d",&a[i][j]);
}
}
for (i=0;i<n;i++)
{ for (j=i;j<n;j++)
printf("%d", a[i][j]);
printf("\n");
}
}
文件编程:
10. 把字符串“Welcome to Beijing!”存于磁盘C的根目录下的“2008.dat”的文件中。
11. 从键盘上输入长度不超过30的一串字符,写入文本文件“abc.dat”中,再将该文本文件的内容读出,显示在终端上。
12. 有两个磁盘文件A1.txt和A2.txt,各存放一行字母,要求把这两个文件中的信息合并,即把A2.txt中的信息追加到A1.txt信息后面并输出到一个新文件A3.txt中。
10、#include <stdio.h> /*C语言标准输入输出函数库文件*/
main()
{ FILE *fp; char *str="Welcome to Beijing!"; int i=0;
if((fp=fopen("c:\\2008.dat","w"))==NULL) /*用来检查文件打开是否成功*/ {printf("not enough\n");exit(0);} /*函数exit(0)用于程序出错时,终止程序运行,退回操作系统*/
while(str[i]!='\0'){fputc(str[i],fp);i++;} /*也可以用fputs(str,fp); */
fclose(fp);
}
/*在fclose(fp); 之后加入下列部分代码,可以在屏幕上输出上述文件的内容*/
rewind(fp);
while(!feof(fp))
fgets(str,20,fp);
printf("zi fu chuan shi \n"); puts(str);
printf("\n");
getch();
另解:
#include "stdio.h"
main()
{
FILE *fp;char *str="Welcome to Beijing!";
if((fp=fopen("c:\\a1.dat","w+"))==NULL)
{printf("kongjianbugou\n");exit(0);}
fputs(str,fp);
rewind(fp);
while(!feof(fp))
fgets(str,20,fp);
fclose(fp);
printf("zifuchuanshi\n");puts(str);
printf("\n");
getch();
}
11、#include "stdio.h"
#include "string.h"
#include "stdlib.h"
main()
{
FILE *fp;char str[31];
printf("shu ru yi chuan zi fu:\n");gets(str);
if((fp=fopen("c:\\A2.txt","w+"))==NULL)
{printf("kongjianbugou\n");exit(0);}
fputs(str,fp); rewind(fp);
while(!feof(fp))
fgets(str,31,fp);
printf("zi fu chuan shi:\n");puts(str);
printf("\n");
fclose(fp);
getch();
}
12、
#include <stdio.h>
#include "stdlib.h"
#include <stdlib.h>
void main()
{ char ch[100],*p=ch;
FILE *fa,*fb,*fc;
if ((fa=fopen("c:\\A1.txt","r"))==NULL)
{ printf("cannot open file A1\n");getch();exit(0); }
if ((fb=fopen("c:\\A2.txt","r"))==NULL)
{ printf("cannot open file A2\n");getch();exit(0); }
if ((fc=fopen("c:\\A3.txt","w+"))==NULL)
{ printf("cannot open file A3\n");getch();exit(0); }
while(!feof(fa))
*p++=fgetc(fa);
*--p='\0'; fclose(fa);
printf("A1 is: ");puts(ch);getch(); printf("\n"); /*用于浏览文件A1.txt的内容*/
while(!feof(fb))
*p++=fgetc(fb);
*--p='\0'; fclose(fb);
printf("A1+A2 is: ");puts(ch);getch(); printf("\n");
/*用于浏览文件A1.txt与A2.txt合并后的内容*/ fputs(ch,fc);fclose(fc);
if ((fc=fopen("c:\\A3.txt","r"))==NULL)
{ printf("cannot open fileA3\n");getch();exit(0); }
while (!feof(fc))
fgets(ch,101,fc);
printf("A3 is: ");
puts(ch); printf("\n"); /*用于浏览新文件A3.txt的内容*/
getch();
fclose(fc);
}
另解:
#include "stdio.h"
#include "string.h"
#include "stdlib.h"
main()
{
FILE *fp;char str1[30],str2[20],str3[60];
if((fp=fopen("c:\\A1.txt","r"))==NULL)
{printf("wen jian A1 bu cun zai\n");getch();exit(0);}
while(!feof(fp))
fgets(str1,27,fp); fclose(fp);
c编程网站if((fp=fopen("c:\\A2.txt","r"))==NULL)
{printf("wen jian A2 bu cun zai\n");getch();exit(0);} while(!feof(fp))
fgets(str2,20,fp);
strcpy(str3,strcat(str1,str2));
close(fp);
if((fp=fopen("c:\\A3.txt","w+"))==NULL)
{printf("wen jian A2 bu cun zai\n");getch();exit(0);}
fputs(str3,fp); rewind(fp);
while(!feof(fp))
fgets(str3,61,fp);
printf("\n"); printf("zi fu chuan A3 shi:\n");
puts(str3);
fclose(fp);
printf("\n");
getch();
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论