计算机二级-C语言-对标志位的巧妙使用。对二维数组数据进行处理。对文件进行数据输入。

//函数fun的功能是:计算形参x所指数组中平均值(规定所有数均为正数),将所指数组中大于平均值的数据移至数组的前部,小于等于的移至后部,平均值作为返回值,在主函数中输出平均值和后移的数据。

//重难点:对数组的处理。

 1 #include  <stdlib.h>
 2 #include  <stdio.h>
 3 #define   N   10
 4 double fun(double  *x)
 5 { int  i, j;    double  s, av, y[N];
 6   s=0;
 7   for(i=0; i<N; i++)  s=s+x[i];
 8 /**********found**********/
 9   av = s / N;
10   for(i=j=0; i<N; i++)
11     if( x[i]>av ){
12 /**********found**********/
13       y[j++]=x[i];
14       x[i]=-1;}
15   for(i=0; i<N; i++)
16 /**********found**********/
17     if( x[i]!= -1) y[j++]=x[i];
18   for(i=0; i<N; i++)x[i] = y[i];
19   return  av;
20 }
21 void main()
22 { int  i;     double  x[N];
23   for(i=0; i<N; i++){ x[i]=rand()%50; printf("%4.0f ",x[i]);}
24   printf("\n");
25   printf("\nThe average is: %f\n",fun(x));
26   printf("\nThe result :\n",fun(x));
27   for(i=0; i<N; i++)  printf("%5.0f ",x[i]);
28   printf("\n");
29 }

//程序功能:读入一个英文文本行,将其中每个单词的第一行字母改成大写,然后输出此文本行(这里的单词指由空格隔开的字符串)。

//重难点:通过指针对字符串的处理。通过标志位进行完整单词的判断。

 1 #include  <stdlib.h>
 2 #include  <string.h>
 3 #include  <conio.h>
 4 #include  <ctype.h>
 5 #include  <stdio.h>
 6 #include  <string.h>
 7 /*************found**************/
 8 void upfst(char *p)
 9 {
10   int k=0;//通过k标志位进行判断时候为一个单词了。
11   for ( ;*p;p++)
12      if (k)
13         {
14          if (*p==‘ ‘)
15              k=0;
16         }
17      else
18         {
19             if (*p!=‘ ‘)
20             {
21                 k=1;
22                 *p=toupper(*p);
23             }
24         }
25 }
26 void main()
27 {
28     char  chrstr[81];
29     system("CLS");
30     printf("\nPlease enter an English text line: ");
31     gets(chrstr);
32     printf("\nBofore changing:\n  %s",chrstr);
33     upfst(chrstr);
34     printf("\nAfter changing:\n  %s\n",chrstr);
35 }

//在此程序中,定义了N*N的二维数组,并在主函数中赋值。编写函数fun功能是:求出数组周边元素的平均值并作为函数值返回给主函数中的s。

//重难点:对二维数组矩阵的数据处理。对文件的处理。

 1 #include<stdio.h>
 2 #include<conio.h>
 3 #include<stdlib.h>
 4 #define  N  5
 5 double fun (int w[][N])
 6 {
 7     int i, j;
 8     double s = 0;
 9     for (i = 0; i < N; i++)
10     {
11         if(i==0||i==(N-1))
12         {
13             for (j = 0; j < N; j++)
14             {
15                 s += w[i][j];
16             }
17         }
18         else
19         {
20             s = s + w[i][0] + w[i][N-1];
21         }
22     }
23     return (s / (4 * (double)N - 4));
24 }
25 void main()
26 {
27   FILE *wf;
28   int a[N][N]={0,1,2,7,9,1,9,7,4,5,2,3,8,3,1,4,5,6,8,2,5,9,1,4,1};
29   int i, j;
30   double s;
31   system("CLS");
32   printf("*****The array*****\n ");
33   for (i=0; i<N; i++)
34     { for (j=0;j<N;j++)
35          {printf("%4d ",a[i][j]);}
36       printf("\n ");
37     }
38   s=fun(a);
39   printf("*****THE RESULT*****\n ");
40   printf("The sum is : %lf\n ",s);
41 /******************************/
42   wf=fopen("out.dat","w");
43   fprintf (wf,"%lf",s);
44   fclose(wf);
45 /*****************************/
46 }

原文地址:https://www.cnblogs.com/ming-4/p/10283526.html

时间: 2024-08-03 19:35:37

计算机二级-C语言-对标志位的巧妙使用。对二维数组数据进行处理。对文件进行数据输入。的相关文章

C语言编程 子函数中利用指针输出二维数组

一般输出方式:void print1(int arr[][3], int row, int col){int i, j;for (i = 0; i < row; i++){for (j = 0; j < col; j++){printf("%d", arr[i][j]);}printf("\n");}} 指针输出方式:void print2(int arr, int row, int col){int i, j;for (i = 0; i < ro

二级指针与二维数组

最近看<Linux C程序设计大全>这本书,虽然书中有一些错误,但整体来说,书写得还算可以. 当看到网络编程[第23.2.4小节 获得主机信息]时,遇到了一段代码,原文如下: “一台主机有许多和网络相关的信息,例如,主机名称.IP地址.主机提供的服务等.这些信息一般都保存在系统中的某个文件里(例如/etc/hosts等),用户程序可以通过系统提供的函数读取这些文件上的内容.Linux环境下使用gethostent函数读取和主机有关的信息,该函数的原型如下: 1 #include <net

C语言二维数组作业

一.PTA实验作业 题目1:7-3 出生年 1. 本题PTA提交列表 2. 设计思路 1.声明一个函数different()用来计算一个年份的不同数字个数 2.定义y(y是来计算符合要求的年份的量),n(n为题目要求的不同数字个数),x(x用来存放起始年份),flag(flag是用来表示每个y值中的不同数字个数的量) 3.输入起始年份y和题目要求的n 4.x=y(存放起始年份) 5.do {flag计算y中不同数字个数:如果flag=n,符合题意,输出相应结果,并结束循环:如果不符合,y自增一}

【免费下载】全套最新 计算机二级C语言 视频教程+教学资料+学习课件+源代码+软件开发工具

01C核心技术视频教程 网盘地址: 链接:https://pan.baidu.com/s/1WonF1NMT\_WDDSKqmdtxN6w 提取码:l5ee 02C语言国二真题精讲视频教程 网盘地址: 链接:https://pan.baidu.com/s/1HKs5h93AVqGImluVl62ZXQ 提取码:zpzl 加公众号 获取更多新教程 教程目录大纲 ./01C核心技术 ├── 视频 │?? ├── 001C语言课程简介.avi │?? ├── 002C语言课程简介.avi │?? ├─

直观理解C语言中指向一位数组与二维数组的指针

一维数组和指针: 对于一位数组和指针是很好理解的: 一维数组名: 对于这样的一维数组:int a[5];  a作为数组名就是我们数组的首地址, a是一个地址常量 . 首先说说常量和变量的关系, 对于变量来说, 用箱子去比喻再好不过了, 声明一个变量就声明一个箱子,比如我们开辟出一个苹果类型的箱子, 给这个变量赋值就是把盛放苹果的箱子中放入一个实实在在的苹果, 这就是变量的赋值.  而对于数组来说, 就是一组类型相同的箱子中,一组苹果箱子, 可以放入不同的苹果. 一维数组空间: 变量被声明后, 我

c语言中如何通过二级指针来操作二维数组

通过二级指针去访问二维数组需要先给二级指针分配等同于二维数组行数的一维数组指针,然后把二维数组的每行首地址赋值给对应位置的一维指针上.之后就可以通过二维指针直接访问了. 参考代码如下,可以看具体注释辅助理解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include <stdio.h>//输入输出头文件. #include <stdlib.h>//本程序需要用到malloc/free函数,引

C语言动态分配二维数组内存

C语言内存管理主要包括malloc().remalloc().free()三个函数. malloc原型 extern void *malloc(unsigned int num_bytes); m行n列的 二维数组的分配,主要有三种方法: 一.分配一个长度为m的二级指针,指针的指向的内容分别指向一个长度为n的一位数组 #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h>

C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com

原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 本文由 arthinking 发表于315 天前 ⁄ itzhai.com原创文章 ⁄ C语言 ⁄ 评论数 3 ⁄ 被围观 1,775 views+ 指针数组: 在一个数组中,如果它的元素全部都是指针类

二维数组和二级指针(真的没什么关系)

刚开始学c语言的时候,总是会认为,一级指针可以用来访问一维数组,那么二维数组就要用二级指针来访问啦.... 实际上二级指针和二维数组真的没什么关系,而且,切记千万不要用二级指针访问二维数组..... 下面是几个有关的小程序,加深印象........ 实验环境:主机CPU酷睿i5,vs2012 程序1: int _tmain(int argc, _TCHAR* argv[]) { int **p= NULL; int a[2][3] = {1,2,3,4}; p = a; return 0; }