回顾大一·C语言编程11.4(3)(4)+12.1(1)+12.1(2)①②+实验12.1(3)+12.2+12.3
来源:互联网 发布:达尔朗 知乎 编辑:程序博客网 时间:2024/06/09 17:23
在主函数中由键盘输入10个按升序排列的整数存放在一维数组a中,通过调用以下几个自定义函数分别输出数组a、将从键盘输入的一个整数x插入到数组a使其依然有序、输出数组a。
要求:定义以下几个函数(注:函数中形参指针p用来接收实参数组名a),按上述要求依次调用它们以实现所要求的功能。
#include <stdio.h>main( ){ void myout(int *p,int n);int myinsert(int *p,int n,int x); int a[11],i,n=10,x; printf("请输入10个按升序排列的整数:"); for(i=0;i<n;i++) scanf("%d",&a[i]); printf("数组a中的元素为:\n"); myout(a,n); printf("请输入一个待插入的整数x="); scanf("%d",&x); n=myinsert(a,n,x); printf("插入x后数组a中的元素为:\n"); myout(a,n);}void myout(int *p,int n){while(n>0) { printf("%4d",*p); p++; n--; } printf("\n");}int myinsert(int *p,int n,int x){int i=0,j=0; while(x>p[j]&& j<n) j++; for(i=n;i>j;i--) p[i]=p[i-1]; p[j]=x; n++; return n;}
编写一个程序实现如下功能:输入一个字符串,内有数字和非数字字符,如:a123x456 17960?302tab5876将其中连续的数字作为一个整数,依次存放到一数组a中。例如123放在a[0]中,456放在a[1]中……统计共有多少个整数,并输出这些数。
#include<stdio.h>#include<string.h>main(){int a[100],*q=a,i,num=0;char b[100],*p;printf("请输入一个字符串:");gets(b);for(p=b;*p!='\0';p++)if(*p>='0'&&*p<='9'){*q=*p-'0';p++;while(*p>='0'&&*p<='9')*q=(*q)*10+(*(p++))-'0';num++;q++;}for(i=0,q=a;i<num;i++,q++)printf("%5d\n",*q);}
分析以下各个程序的执行结果,并与运行结果进行比较,理解结构体类型数组的使用。
struct myweek{char name[12];int day; };main(){struct myweek week[7]={"Monday",1,"Tuesday",2,"Wednesday",3,"Thursday",4,"Firday",5,"Sataday",6,"Sunday",7};printf("%c\n",week[2].name[1]);}
比较以下两段程序,想想为什么结果不同?
struct stu{ char num[5]; float score[3]; };main(){ struct stu a[3]={{"01",60,70,80},{"02",70,75,80},{"03",90,95,92}},*p=a;int i; float sum=0;for (i=0;i<3;i++) sum=sum+p->score[i];printf("%6.2f\n",sum);}
struct stu{ char num[5]; float score[3]; };main(){ struct stu a[3]={{"01",60,70,80},{"02",70,75,80},{"03",90,95,92}};int i; float sum=0;for (i=0;i<3;i++) sum=sum+a[i].score[i]; printf("%6.2f\n",sum); }
#include <stdio.h>struct stu {int num;char name[10];int age;};void fun(struct stu *p){ printf("%s\n",(*p).name); }main(){struct stu students[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);}
学生姓名(name)和年龄(age)存于结构体数组person中,函数fun的功能是:找出年龄最小的那名学生并输出该学生的姓名和成绩。
#include<stdio.h>struct stud {char name[20];int age;};struct stud fun(struct stud person[],int n) //1{ int min,i; //2 min=0; //3 for(i=0;i<n;i++) //4 if(person[i].age <person[min].age ) min=i; //5return (person[min] ); //6}main() { struct stud a[]={{"Zhao",21},{"Qian",20},{"Sun",19},{"LI",22}}; //7 int n=4; //8 struct stud minpers; //9 minpers=fun(a,n); //10 printf("%s 是年龄小者,年龄是:%d\n",minpers.name,minpers.age); //11}
以下程序的功能是:对已经存在的几本图书,任意输入一个书名,调用函数search()进行查询,如果查到了,显示出该书的单价,否则显示“No found!”。
#include <stdio.h>#include <string.h>struct book{ char name[10]; int price;} bk[5]={{"aaa",10},{"bbb",20},{"ccc",30},{"ddd",40},{"eee",50}};main(){ void search(struct book *p, char *c); char shu[10]; /*待查图书名*/ printf("input the search name:\n"); gets(shu); search(bk,shu);}void search(struct book *p, char *c){ int i; for(i=0;i<5;i++,p++) if(strcmp(p->name,c)==0) { printf ("price is %d\n",p->price); break; } if(i>=5) printf("No found !\n");}
阅读全文
0 0
- 回顾大一·C语言编程11.4(3)(4)+12.1(1)+12.1(2)①②+实验12.1(3)+12.2+12.3
- 回顾大一·C语言编程12.4(1)(2)(3)+13.1(1)(2)+13.2
- 回顾大一·C语言编程6.1(2)+6.2(1)(2)(3)
- 回顾大一·C语言编程2.3(3)
- 回顾大一·C语言编程3.4(3)
- 回顾大一·C语言编程4.3(3)
- 回顾大一·C语言编程5.3(3)
- 回顾大一·C语言编程1.2
- 回顾大一·C语言编程1.3
- 回顾大一·C语言编程2.1
- 回顾大一·C语言编程2.2
- 回顾大一·C语言编程5.1
- 回顾大一·C语言编程2.3(4)
- 回顾大一·C语言编程3.4(4)
- 回顾大一·C语言编程4.3(4)
- 回顾大一·C语言编程5.3(4)
- 回顾大一·C语言编程2.3(2)
- 回顾大一·C语言编程3.2(2)
- 1064. 朋友数(20)
- RAID--独立冗余磁盘阵列
- Mapping Solr Converter
- (二十二)Animator 源码分析
- Codeforces Round #363 (Div. 2) C Vacations
- 回顾大一·C语言编程11.4(3)(4)+12.1(1)+12.1(2)①②+实验12.1(3)+12.2+12.3
- 丢失libiconv-2.dll解决办法以及无法定位输入点libiconv-2.dll到动态链接库
- git 到gitub中出现的问题
- CCS7.2软/硬件断点设置,精确计算代码运行时间及定时器定时时间验证(适用于C28x芯片)
- mysql 加载本地数据文件
- QEMU 运行ARM Linux Kernel
- Python学习(十四)——面向对象
- Python之time模块的时间戳、时间字符串格式化与转换(13位时间戳)
- C/C++学习记录