![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言学习记录
主要参考谭浩强教材
USTC小璇风
USTC精密机械与精密仪器系本科-研究生一枚 1556098789@qq.com 【USTC小璇风的个人空间-哔哩哔哩】 https://b23.tv/5H8gupu
展开
-
四个数字从大到小排列
#include<stdio.h>int main(){ double a1,a2,a3,a4,t1,t2,t3,t4,j1,j2,m1,m2,m3; printf("请输入四个数字(中间用空格隔开):"); scanf("%lf%lf%lf%lf",&a1,&a2,&a3,&a4); t1=(a1>=a2)?a1:a2; j1=t1; t2=(a1<a2)?a1:a2; j2=t2; t1=(t1>=a3)?t1:a3.原创 2021-08-08 14:29:39 · 710 阅读 · 0 评论 -
用C语言 将三个数从大到小排序
//三个数按从大到小顺序排列#include<stdio.h>int main(){ double a1,a2,a3,t1,t2,t3,j1,j2; printf("请输入三个数字(中间用空格隔开):"); scanf("%lf%lf%lf",&a1,&a2,&a3); t1=(a1>=a2)?a1:a2; j1=t1; t2=(a1<=a2)?a1:a2; j2=t2; t1=(t1>=a3)?t1:a3; t3=(j1<.原创 2021-08-08 00:26:50 · 2120 阅读 · 0 评论 -
已有一个已排好序的数组,要求输入一个数后,按原来顺序的规律将它插入数组中。
笨办法:#include <stdio.h>int main(){ int a[11]; int i,j,t; printf("请先输入10个整数(中间用空格间隔):\n"); for(i=0;i<10;i++) { scanf("%d",&a[i]); } printf("\n"); for(i=0;i<9;i++) { for(j=i+1;j<10;j++ ) //每一遍都与当前a[i]比较原创 2021-08-17 20:28:08 · 6020 阅读 · 1 评论 -
写一个函数,输入一行字符,将此字符串中最长的单词输出(比书后答案略微简单)
#include<stdio.h>int main(){ void choose(char s[100]); char str[100]; printf("请输入一段字符:"); gets(str); printf("\n\n"); choose(str); return 0;}void choose(char s[100]){ char c; int i,j,num=0,start=0; for(i=0,j=0;i<100;i++) { c=s[.原创 2021-08-24 11:00:50 · 5326 阅读 · 1 评论 -
给出两个日期的年月日计算这两天是公元第几天,并计算这两天相差几日
#include<stdio.h>#include<math.h>#include<string.h>int main(){ int count_sum(int y,int m,int d); int jud1,jud2,judge(int y,int m,int d); int year1,month1,day1,year2,month2,day2; int sum1,sum2; int pass,passornot(char characte.原创 2021-08-27 14:09:41 · 186 阅读 · 0 评论 -
猴子吃桃子问题(C语言)
猴子第一天摘下若干桃子,之后每天吃前一天的一半,再多吃一颗,当第十天想吃时只剩1颗,问第一天摘了多少个#include<stdio.h>int main(){ double n,m,i; for(n=1.0;;n++) { for(m=n,i=1.0;i<=9;i++) { m=0.5*m-1; } if(m==1) break; } printf("猴子第一天摘了%d个桃子!",int(0.5*n+1)); return 0; } ..原创 2021-08-11 13:25:22 · 290 阅读 · 0 评论 -
有助于理解指向指针数据的指针变量的一个程序改进
有助于理解指向指针数据的指针变量的一个程序改进,原程序为谭浩强书P279例题8.28//使用指向指针数据的指针变量#include<stdio.h>int main(){ char *name[]={"Follow me","BASIC","Great Wall","FORTRAN","Computer design"}; char **p; int i,j; for(i=0;i<5;i++) { p=name+i; for(j=0;*(*p+j)原创 2021-08-30 15:52:48 · 98 阅读 · 0 评论 -
写一个函数输入一个十六进制数,相应地输出十进制数
#include<stdio.h>#include<string.h>#include<math.h>int main(){ void hexadecimal(char string[100]); char c,number[100]; printf("输入一个十六进制数,相应地输出十进制数\n\n"); int i; flag: label: printf("请输入一个16进制的数(输入字符只能含有0 1 2 3 4 5 6 7 8 9 A B .原创 2021-08-26 19:47:04 · 1419 阅读 · 0 评论 -
用C语言求两个数的最大公约数和最小公倍数
#include<stdio.h>int main(){ double m0,n0,m1,n1,temp; long m,n,x,y,i,j; printf("下面求两个正整数的最大公约数和最小公倍数\n"); printf("请输入两个正整数(中间用空格间隔):"); scanf("%lf%lf",&m0,&n0); while((m0<0||n0<0)||(m0!=int(m0))||(n0!=int(n0))) { printf("输入.原创 2021-08-10 17:10:53 · 992 阅读 · 0 评论 -
用牛顿迭代法,自己实现sqrt(和abs)函数功能
#include<stdio.h>int main(){ double abs(double num); double sqrt(double numb); double x,y; printf("请输入要开方的数(必须为正数!):"); scanf("%lf",&x); while(x<=0) { printf("非法输入!请重新输入:"); scanf("%lf",&x); } y=sqrt(x); printf("\n结果为:sqr.原创 2021-08-20 14:15:43 · 178 阅读 · 0 评论