回顾大一·C语言编程10.1(1)(2)+10.2+10.3+10.4(1)(2)
来源:互联网 发布:仙剑奇侠传 知乎 编辑:程序博客网 时间:2024/06/04 20:11
以下两个程序的功能是输入三个整数,按由小到大的顺序输出。
#include <stdio.h> //程序Amain(){int a,b,c,*p1,*p2,*p3,*t;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;if(*p1>*p2) {t=p1;p1=p2;p2=t;}if(*p1>*p3) {t=p1;p1=p3;p3=t;}if(*p2>*p3) {t=p2;p2=p3;p3=t;}printf("%d,%d,%d\n",*p1,*p2,*p3);}
#include <stdio.h> //程序Bmain(){int a,b,c,*p1,*p2,*p3,t;scanf("%d,%d,%d",&a,&b,&c);p1=&a;p2=&b;p3=&c;if(a>b) {t=*p1;*p1=*p2;*p2=t;}if(a>c) {t=*p1;*p1=*p3;*p3=t;}if(b>c) {t=*p2;*p2=*p3;*p3=t;}printf("%d,%d,%d\n",a,b,c);}
以下两个程序的功能是通过指针变量的操作输出数组元素的值。
#include <stdio.h>void main(){ int a[5]; int *p,i; printf("enter 5 integer numbers:"); for(i=0;i<5;i++) scanf("%d",&a[i]); for(p=a;p<(a+5);p++) printf("%d ",*p); printf("\n");}
#include <stdio.h>void main(){ int i,a[5] ,*p=a; printf("please enter 5 numbers:"); for(i=0;i<5;i++)scanf("%d",p++);p=a; for(i=0;i<5;i++,p++) printf("%d ",*p); printf("\n");}
下列程序的功能为:通过调用函数实现对所输入的任意两个整数,交换它们的值。
#include<stdio.h>swap(int *p1,int *p2) //1{ int p; //2p=*p1; //3*p1=*p2; //4*p2=p; //5}main() //6{int a,b; //7scanf("%d%d",&a,&b); //8printf("a=%d\tb=%d\n",a,b); //9swap(&a,&b); //10printf("a=%d\tb=%d\n",a,b); //11}
下列程序的功能为:通过指针变量的自增运算,扫描一维数组中全部元素的地址,并引用它们各自的值,同时对数组中的正整数求和。
#include "stdio.h"#define N 10main(){ int i,k,a[N],sum,count,*p; //所有变量和数组a的基类型都是int count=sum=0; do { printf(" input k: \n"); scanf("%d",&k); // 总共要求输入k个数 } while (k<=0||k>N); // 直到型循环确保0≤k≤N printf(" input a[0]~a[%d]:\n",k-1); for (p=a;p<a+k;p++) // 指针p指向数组a的首地址,p依次求出后继值 { scanf("%d",&a[p]); // 此处的p等价于&a[i] if (a[p]>0) // 引用指针变量p所指变量的值 { sum+=*p; // 指针p所指变量*p的值>0者相加 count++; // 正整数个数统计 } } p=a; // 指针复位,重新指向数组a 的首地址 while (p<a+k) printf("%-5d",p); // 先执行*p,取出所指变量的值,再指向数组的下一元素 printf("\n Numberof above >0 is : %d\n",count); printf(" Sum of >0 is : %d\n",sum);}
#include<stdio.h>main(){ int a[]={1,3,5,7,9},*p=a;printf("%d",(*p++));printf("%d",(*++p));printf("%d\n",(*++p)++); }
理解指针变量自加的作用,指针变量的值与指针变量所指向变量的值的区别
#include<stdio.h>main(){int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p;for(p=a;p<a+10;p++){printf("address=%x\t",p);printf("value=%d\n",*p);}printf("%d\t",p);printf("%d\t",*p);}
阅读全文
0 0
- 回顾大一·C语言编程10.1(1)(2)+10.2+10.3+10.4(1)(2)
- 回顾大一·C语言编程2.3(2)
- 回顾大一·C语言编程3.2(2)
- 回顾大一·C语言编程3.3(2)
- 回顾大一·C语言编程3.4(2)
- 回顾大一·C语言编程4.1(2)
- 回顾大一·C语言编程4.2(2)
- 回顾大一·C语言编程5.2(2)
- 回顾大一·C语言编程5.3(2)
- 回顾大一·C语言编程2.3(1)
- 回顾大一·C语言编程3.2(1)
- 回顾大一·C语言编程3.3(1)
- 回顾大一·C语言编程3.4(1)
- 回顾大一·C语言编程4.1(1)
- 回顾大一·C语言编程4.2(1)
- 回顾大一·C语言编程5.2(1)
- 回顾大一·C语言编程5.3(1)
- 回顾大一·C语言编程6.1(1)
- 降维与度量学习
- 50、jdk1.5新特性-泛型
- 从零基础认识SQL注入
- Material Design主题的基色
- 重建二叉树
- 回顾大一·C语言编程10.1(1)(2)+10.2+10.3+10.4(1)(2)
- 51、jdk新特性-增强for循环
- 2017.9技术生活总结
- 476. Number Complement
- 52、jdk1.5新特性-静态导入
- HNOI2005狡猾的商人
- 类和对象基础
- Ubuntu下jre的安装
- 深度学习如何入门