我是靠谱客的博主 阳光月亮,这篇文章主要介绍C语言实例011,现在分享给大家,希望可以做个参考。

大家好,我是一童,N-S图先不画了,刚按好Visio,改天再说,哈哈哈。今天分享的内容大部分关于指针,分别是统计一句话中的单词数,简单的指针输出数组,利用指针逆序输出数组,二维数组的查询(利用指针变量p指向包含n个整形元素的一维数组)

1.字符数组的应用,单词数统计

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>/*输入一句英文,用空格隔开,判断单词数*/ #define N 100 void main() { char str[N],c; int i,num=0,word=0; printf("请输入一句英文: "); gets(str); for(i=0;(c=str[i])!='';i++)//只要不按回车键,一直循环 if(c==' ') word=0;//如果是空格字符,word置0 else if(word==0)//如果不是空格且word原值为0 { word=1;//置1 num++; } printf("一共有%d个单词!n",num); }

2.简单的指针输出数组

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h> #define N 5 void main() { int i,a[N],*p; puts("输入数组元素: "); p=a; for(i=0;i<N;i++) scanf("%d",p++); p=a;//注意!!!p的起始值是a+10,故重新赋值 puts("输出数组:n"); for(i=0;i<N;i++,p++) printf("%d ",*p); puts("n"); }

3.利用指针逆序输出数组

复制代码
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
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>//利用指针逆序输出数组 #define N 1000 void Lv(int a[N],int n);//函数声明 void main() { while(1) { int a[N],i,*p,n; puts("请输入数组大小: "); scanf("%d",&n); puts("请输入数组元素:"); for(p=a;p<a+n;p++) scanf("%d",p); puts("n"); Lv(a,n);//函数调用 puts("逆序输出数组: "); for(p=a;p<a+n;p++) printf("%d",*p); puts("n"); } } void Lv(int a[N],int n)//自定义函数 { int *i,*j,*p,t,m=(n-1)/2;//m中间数 i=a; j=a+n-1; p=a+m; for(i=a;i<=p;i++,j--)//i从左至右移动,j从右至左移动 { t=*i; *i=*j; *j=t; } }
  1. 二维数组的查询
复制代码
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
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>//指针变量p指向包含n个整形元素的一维数组 #define ROWS 100 #define COLS 100 void main() { int a[ROWS][COLS],n,m,i,j,k,(*p)[COLS]; p=a; printf("输入二维数组的行:"); scanf("%d",&n); printf("n"); printf("输入二维数组的列:"); scanf("%d",&m); printf("n请输入二维数组元素:"); for(i=0;i<n;i++) { for(j=0;j<m;j++) scanf("%d",*(p+i)+j); } printf("n输出二维数组:n"); for(i=0;i<n;i++) { for(j=0;j<m;j++) printf("%d ",*(*(p+i)+j)); if(j%m==0) printf("n"); } printf("请输入你要查询数组的行和列:n"); printf("Row= "); scanf("%d",&i); printf("Col= "); scanf("%d",&j); printf("n您要查询的数值a[%d][%d]=%d",i,j,*(*(p+i-1)+j-1)); printf("n"); }

好了,今天先分享这些,有不懂滴 | | 写错滴 欢迎下方留言!!1

最后

以上就是阳光月亮最近收集整理的关于C语言实例011的全部内容,更多相关C语言实例011内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(73)

评论列表共有 0 条评论

立即
投稿
返回
顶部