![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
谭浩强第五版c语言课后答案
要努力啊啊啊
努力学习,坚持就是胜利✌。
展开
-
P287:建立动态数组,输入成绩,另外使用函数查找低于60分成绩的学生
建立动态数组,输入成绩,另外使用函数查找低于60分成绩的学生#include<stdio.h>#include<math.h>#include<stdlib.h>#include<string.h>void main(){ int * p1,i; p1=(int *)malloc(5*sizeof(int)); for(i=0;i<5;i++){ scanf("%d",p1+i); } for(i=0;i<5;i++){原创 2020-10-21 20:46:16 · 292 阅读 · 0 评论 -
P277:定义指针数组,用各字符串对他进行初始化,就是把字符串中的第一个字符的地址赋给指针的个元素。然后对其进行排序,改变指针的指向。
定义指针数组,用各字符串对他进行初始化,就是把字符串中的第一个字符的地址赋给指针的个元素。然后对其进行排序,改变指针的指向。#include<stdio.h>#include<math.h>#include<string.h>void main(){ char *p[]={"Follow me","Basic","Great Wall"}; void sort(char *p[]); sort(p); for(int i=0;i<3;i++){原创 2020-10-20 22:11:32 · 249 阅读 · 0 评论 -
P274:有3个学生,每个学生有4门课程的成绩,要求输入学生id之后,能输出该学生的成绩,使用返回指针型的函数来实现。使用返回指针的函数来查找不及格的学生成绩,找到之后并且返回打印出来
P274:有3个学生,每个学生有4门课程的成绩,要求输入学生id之后,能输出该学生的成绩,使用返回指针型的函数来实现。使用返回指针的函数来查找不及格的学生成绩,找到之后并且返回打印出来#include<stdio.h>#include<math.h>void main(){ int a[][4]={121,131,114,115,16,171,181,191,211,321,431,541}; int *search(int (*p)[4],int n);//返回指针值的函原创 2020-10-20 21:40:12 · 2627 阅读 · 0 评论 -
P273:有3个学生,每个学生有4门课程的成绩,要求输入学生id之后,能输出该学生的成绩,使用返回指针型的函数来实现。
有3个学生,每个学生有4门课程的成绩,要求输入学生id之后,能输出该学生的成绩,使用返回指针型的函数来实现。#include<stdio.h>#include<math.h>void main(){ int a[][4]={12,13,14,15,16,17,18,19,21,32,43,54}; int *search(int (*p)[4],int n);//返回指针值的函数,所以需要定义指针变量来接受 int *p;//用来接受yiwei数组的 p=search(原创 2020-10-20 21:03:34 · 3110 阅读 · 0 评论 -
P271:有两个整数a和b,由用户输入1,2,3。如输入1,那么输出最大值,如输入2那么输出最小值,输入3那么输出相加的值。
有两个整数a和b,由用户输入1,2,3。如输入1,那么输出最大值,如输入2那么输出最小值,输入3那么输出相加的值。#include<stdio.h>#include<math.h>void main(){ //可变格式输出函数 char *format; int a=10,b=3,c; //普通方法调用函数 int max(int x,int y); int min(int x,int y); int sum(int x,int y); printf(原创 2020-10-20 20:40:04 · 401 阅读 · 0 评论 -
P268:输入两个整数,然后让用户选择1或2,选1的时候调用max函数,选2的时候,调用min函数
输入两个整数,然后让用户选择1或2,选1的时候调用max函数,选2的时候,调用min函数#include<stdio.h>#include<math.h>void main(){ //可变格式输出函数 char *format; int a=10,b=3,c; format="a=%d,b=%d\n"; char format1[]="a=%d,b=%d\n"; printf(format,a,b); printf(format1,a,b); //普通方法调用原创 2020-10-20 20:23:19 · 274 阅读 · 0 评论 -
**使用函数调用的方法将字符串复制到另一个,且使用到指针**
使用函数调用的方法将字符串复制到另一个,且使用到指针#include<stdio.h>#include<math.h>void main(){ char a[]="abcde1"; char b[5]; char *a1=a; char *b1=b; char *aa="qwert"; //char *bb; void imitation(char a[],char b[]); void imitation1(char a[],char b[]); void原创 2020-10-20 19:59:24 · 692 阅读 · 0 评论 -
P52.有一个班级,3个学生,4课成绩,计算总平均成绩,和查找第n个学生的成绩,以及将有一颗不及格的学生成绩打印出来。
1.输出二维数组的数值,任意输出一个值。#include<stdio.h>#include<math.h>void main(){ int a[][3]={1,2,3,4,5,6,7,8,9}; int i,j,k,(*p)[3],*q; p=a; for(i=0;i<3;i++){ for(j=0;j<3;j++){ printf("%d ",*(*(p+i)+j)); } printf("\n"); } q=a[0]; for(原创 2020-10-19 21:00:23 · 361 阅读 · 0 评论 -
1.输出指针二维数组的相关信息,使用指针打印输出。
1.输出指针二维数组的相关信息,使用指针打印输出。#include<stdio.h>#include<math.h>void main(){ int a[][3]={1,2,3,4,5,6,7,8,9}; int i,j,k; //第一列元素 printf("%d %d %d %d\n",*a,&a[0],&a[0]+0,&a[0][0]); printf("%d %d %d\n",**a,a[0][0],*(a[0])); printf(原创 2020-10-19 20:30:50 · 239 阅读 · 0 评论 -
1.使用指针的进行排序,进行从小到大的排序
1.使用指针的进行排序,进行从小到大的排序#include<stdio.h>#include<math.h>//3 5 7 9 6void main(){ int a[5]={3,5,7,9,2}; void sort(int x[]); void sort1(int *p); int i; int *p; p=a; sort1(p); for(i=0;i<5;i++){ printf("%d ",a[i]); } }void sort(in原创 2020-10-18 23:05:28 · 3030 阅读 · 0 评论 -
1.将数组中的数字逆序排放,分别使用普通的方法,和指针的方法。
1.将数组中的数字逆序排放,分别使用普通的方法,和指针的方法。#include<stdio.h>#include<math.h>void main(){ int a[5]={1,6,3,4,5},i; void exchange(int a[]); void exchange1(int *a); exchange1(a); for(i=0;i<5;i++){ printf("%d",a[i]); }}void exchange(int a[]){ i原创 2020-10-18 22:19:47 · 653 阅读 · 0 评论 -
1.C语言中有用指针对数组的输出和输入例子
1.C语言中有用指针对数组的输出和输入例子#include<stdio.h>#include<math.h>void main(){ int a[5]={1,2,3,4,5}; int *p=a,i; for(i=0;i<5;i++){ printf("%d",a[i]); } putchar(10); for(i=0;i<5;i++){ printf("%d",*(a+i)); } putchar(10); for(p=a;p&l原创 2020-10-17 18:35:36 · 1307 阅读 · 0 评论 -
1.输入三个数字,使用指针的方法将其比较大小结果输出
1.输入三个数字,使用指针的方法将其比较大小结果输出#include<stdio.h>#include<math.h>void main(){ int a=6,b=5,c=4; int *q1,*q2,*q3; void swap(int *q1,int *q2); q1=&a; q2=&b; q3=&c; printf("%d %d %d\n",a,b,c); if(a>b){ swap(q1,q2); } if(a&g原创 2020-10-17 18:13:50 · 992 阅读 · 0 评论 -
1.写一个函数,输入一个数字,要求输出这个数字的字符,且每一个字母中间用空格隔开。
1.写一个函数,输入一个数字,要求输出这个数字的字符,且每一个字母中间用空格隔开。如:1990输出:1 9 9 0#include<stdio.h>#include<string.h>void main(){ void insert(char []); char str[80]; printf("input four No:"); scanf("%s",str); insert(str); }void insert(char str[]){ int i;原创 2020-10-16 22:00:19 · 3038 阅读 · 0 评论 -
**1.给出年,月,日,计算改日是该年的第几天。**
1.给出年,月,日,计算改日是该年的第几天。#include<stdio.h>void main(){ int flag(int year); int day_add(int year,int month,int day); int year,month,day,days; scanf("%d%d%d",&year,&month,&day); days=day_add(year,month,day); if(flag(year)&&mont原创 2020-10-16 21:03:57 · 243 阅读 · 0 评论 -
写几个函数: 1.输入5个职工的姓名和职工号 2.按职工号由小到大进行排序,姓名也随之排序 3.要求输入职工号,用折半查找法进行查找,主函数输入。
写几个函数:1.输入5个职工的姓名和职工号2.按职工号由小到大进行排序,姓名也随之排序3.要求输入职工号,用折半查找法进行查找,主函数输入。#include<stdio.h>#include<string.h>void main(){ void input(int num[],char name[][8]); void Output(char name[][8],int num[]); void Check(char name[][8],int num[],int原创 2020-10-16 20:42:38 · 2351 阅读 · 0 评论 -
很简单的二分法查找
(二分法查找)#include<stdio.h>#include<string.h>void main(){ int num[10]={1,3,4,8,16,19,23,45,56,77}; int mid,low,high,i; low=0; high=9; int key=16; if(num[low]==key) { printf("Key: %d,Postion: %d",key,low+1); } else if(num[high]==key原创 2020-10-15 21:04:00 · 138 阅读 · 0 评论 -
猴子吃桃问题-循环方法解决
猴子吃桃问题-循环方法解决P138#include<stdio.h>#include<math.h>void main(){ int d=9,n=1; while(d>0){ n=(n+1)*2; d--; } printf("%d",n);}原创 2020-10-09 20:25:32 · 773 阅读 · 0 评论 -
简单小算法 球掉落的问题
P138 第11题#include<stdio.h>#include<math.h>void main(){ double s=100,sn=0; for(int i=1;i<=10;i++){ sn=s*2+sn; s=s/2; } printf("%f %f",s,sn-100);}原创 2020-10-08 23:42:10 · 165 阅读 · 0 评论 -
简单小算法
P138 列题10简单小算法#include<stdio.h>#include<math.h>void main(){ double j,k,s=0,t,a=2,b=1; int i; for(i=1;i<=20;i++){ s=s+a/b; t=a; a=a+b; b=t; } //s=s+3/2; printf("%f",s);//最后一位数字进行四舍五入 }...原创 2020-10-08 23:29:43 · 104 阅读 · 0 评论 -
完数的输出1000以内的完数
完数的输出1000以内的完数P137#include<stdio.h>#include<math.h>void main(){ int i,j,s,k,k1; int a[30]; for(i=2;i<=1000;i++){ s=1; a[0]=1; k=1; for(j=2;j<i;j++){ if(i%j==0){ s=s+j; a[k]=j; k++; } } if(s==i){ pri原创 2020-10-08 23:16:02 · 777 阅读 · 0 评论 -
水仙花数
P137#include<stdio.h>#include<math.h>void main(){ int n; int a,b,c; int i; for(i=101;i<=1000;i++) { a=i/100;//第一位 b=i%100/10;//第二位 c=i-a*100-b*10;//第三位 if((a*a*a+b*b*b+c*c*c)==i){ //printf("%d %d %d\n",a,b,c); printf("%原创 2020-10-07 23:41:17 · 100 阅读 · 0 评论 -
P137 列题7
P137 列题7#include<stdio.h>#include<math.h>void main(){ double s1=0,s2=0,s3=0; int i,j,k; for(i=1;i<=100;i++){ s1=s1+i; } for(j=1;j<=50;j++){ s2=s2+j*j; } for(k=1;k<=10;k++){ s3=s3+1/k; } printf("%15.6f",s1+s2+s3);}原创 2020-10-07 23:29:18 · 170 阅读 · 0 评论 -
计算2+22+222+2222
P137计算2+22+222+2222#include<stdio.h>#include<math.h>void main(){ int a,n; scanf("%d,%d",&a,&n); int i,tn=0,sn=0; for(i=1;i<=n;i++){ tn=tn+a; sn=sn+tn; a=a*10; } printf("%d",sn);}原创 2020-10-07 23:22:07 · 1138 阅读 · 0 评论 -
最大公约数 最小公倍数
P137最大公约数 最小公倍数使用的辗转相除法#include<stdio.h>#include<math.h>void main(){ int p,n,m,b,temp; scanf("%d%d",&m,&n); if(n>m){ temp=m; m=n; n=temp; } b=n; while(n!=0){ p=m%n; m=n; n=p; } printf("最小公约数:%d",m); prin原创 2020-10-03 23:23:50 · 61 阅读 · 0 评论 -
输出pi的值,也就是圆周率。
P128输出pi的值,也就是圆周率。#include<stdio.h>#include<math.h>void main(){ double pi=0,n=1,term=1; int sign=1; while(fabs(term)>=1e-6){ pi=pi+term; sign=-sign; n=n+2; term=sign/n; } printf("%f",4*pi);}...原创 2020-10-03 22:48:59 · 895 阅读 · 0 评论 -
素数输出100-200之间
P132 素数输出100-200之间最简单的一种方法 吧#include<stdio.h>#include<math.h>int main(){ int j,i,k,n,m=0; for(j=101;j<=200;j++){ for( i=2;i<j;i++){ if(j%i==0){ break; } } if(i==j){ printf("是 %d",j); m++; }原创 2020-10-03 22:33:47 · 115 阅读 · 0 评论 -
将学生数据进行排序然后输入到文件中
P356.6将学生数据进行排序然后输入到文件中#include<stdio.h>#include<stdlib.h>struct student{ char name[20]; int num; float score[3]; float ave;}stu[5];void main(){ /*zz 1 12 12 23z1 2 90 90 100z3 3 100 120 130z4 4 110 120 130z5 5 120 119 139 */原创 2020-09-30 14:25:19 · 638 阅读 · 0 评论 -
学生信息导入到磁盘文件**P356.5**
P356.5学生数据#include<stdio.h>#include<stdlib.h>struct student{ char name[20]; int num; float math; float english; float chinese; float ave;}stu[5];void main(){ /*zz 1 12 12 23z1 2 90 90 100z3 3 100 120 130z4 4 110 120 130z5 5 12原创 2020-09-30 14:13:17 · 139 阅读 · 0 评论 -
有两个磁盘文件A和B,个存放一行字母,要求将其按照字母顺序排序,输出到一个新的文件中。
P355习题4有两个磁盘文件A和B,个存放一行字母,要求将其按照字母顺序排序,输出到一个新的文件中。#include<stdio.h>#include<stdlib.h>#include<string.h>void main(){ FILE *p1,*p2,*p3; if((p1=fopen("F:\\file.txt","r"))==NULL){ exit(0); } if((p2=fopen("F:\\file1.txt","r"))==NULL原创 2020-09-30 13:49:32 · 2760 阅读 · 0 评论 -
从键盘输入一个字符串,将其中得小写字母全部转换为大写字母,然后输出到磁盘文件file中保存,输入的字符串以‘ !’结束。
P355习题3从键盘输入一个字符串,将其中得小写字母全部转换为大写字母,然后输出到磁盘文件file中保存,输入的字符串以‘ !’结束。#include<stdio.h>#include<stdlib.h>#include<string.h>struct student{ char name[10]; int age; int score;}stud[3];int main(){ char str; FILE *p1; p1=fopen("F:\\原创 2020-09-30 10:28:22 · 5422 阅读 · 1 评论