![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
c语言基础
Fundamentals of C language
RainbowJie1
大学生
展开
-
指针访问数组的几种方法
#指针访问数组的几种方法地址法、指针变量法、指针变量下标法#include<stdio.h>int main(){ int a[5], i, * p; p = a; printf("enter five numbers\n"); for(i=0;i<5;i++) { scanf_s("%d", &a[i]); } for (i = 0; i < 5; i++) { printf("%3d", *(a + i)); /*地址法*/ }原创 2021-02-03 11:20:58 · 2334 阅读 · 0 评论 -
=对成绩升降序排列(swich语句,结构体
#对成绩升降序排列(swich语句,结构体)有没有大佬看看能不能改进的,谢谢了#include<stdio.h>struct student{ char name[20]; float score;};int low(struct student stu[]){ struct student t; int i,j,k; printf("原来的成绩顺序\n"); printf("姓名 成绩\n"); for(i=0;i<3;i++) { printf原创 2021-01-10 20:29:58 · 205 阅读 · 2 评论 -
利用switch语句,求最大值最小值
#利用switch语句,求最大值最小值#include<stdio.h>int max(int x,int y){ int z=0; z=x>y?x:y; return(z);}int min(int x,int y){ int z=0; z=x>y?y:x; return(z);}int main(){ int button,t,x,y; printf("求最大数请按1,求最小数请按2\n"); scanf("%d",&button);原创 2021-01-09 23:49:12 · 2297 阅读 · 2 评论 -
输入十个整数,通过调用函数从大到小排序
#输入是个整数,通过调用函数从大到小排序#include<stdio.h>int sort(int b[],int n){ int i,j,k; for(i=0;i<n;i++) { for(j=i;j<n;j++) { if(b[i]<b[j]) { k=b[i]; b[i]=b[j]; b[j]=k; } } }}int main(){ int a[10],*p,i; printf("请输入十个原创 2021-01-06 14:28:47 · 5446 阅读 · 3 评论 -
二维数组指针
#二维数组指针对于新手来说,不花时间练练真的不行,眼睛都花了#include<stdio.h>int main(){ int a[3][4]={{1,2,4,5},{6,7,8,9},{10,33,32,4}}; printf("%d,%d\n",a,*a); /*0行首地址和0行0列地址*/ printf("%d,%d\n",a+1,*a+1); /*1行首地址和0行1列地址*/ printf("%d,%d\n",a,&a[0]); /*0行首地址*/ printf原创 2021-01-05 17:01:01 · 88 阅读 · 1 评论 -
利用数组实现行列数值交换
#利用数组实现行列数值交换只要将a[i][j]的数值转换为b[j][i]#include<stdio.h>int main(){ int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { printf("%4d",a[i][j]); b[j][i]=a[i][j]; } printf("\n"); } printf("b数组\n");原创 2021-01-04 16:59:10 · 384 阅读 · 0 评论 -
打印菱形
#打印菱形#include<stdio.h>int main(){ int i,j,k; for(i=0;i<=4;i++) { for(j=0;j<=3-i;j++) { printf(" "); } for(k=0;k<=2*i;k++) { printf("*"); } printf("\n"); } for(i=3;i>=0;i--) { for(j=0;j<=3-i;j++) { print原创 2021-01-02 19:56:52 · 85 阅读 · 0 评论 -
判断100~200之间的素数
#判断100~200之间的素数1、先判断是否为质数2、输入n,如果n都不能被能被2~n-1整除,则为素数。#include<stdio.h>int main(){ int i,num; for(num=100;num<=200;num++) { for(i=2;i<=num-1;i++) { if(num%i==0) break; } if(i<num) continue; else if(i>=num) prin原创 2020-12-30 22:28:15 · 823 阅读 · 0 评论 -
判断闰年*
*#解题思路:首先要想出如果这一年是闰年的条件,分为普通闰年和世纪闰年,普通闰年:公历年份是4的倍数的,并且不是100的倍数,为普通闰年;世纪闰年:公历年份是整百数的,必须是400的倍数才是世纪闰年。#include<stdio.h> int main(){ int i; scanf("%d",&i); if(i%4==0) { if(i%100!=0) printf("%d为普通闰年\n",i); } else if(i%100==0) { if原创 2020-12-29 17:35:41 · 125 阅读 · 0 评论 -
switch语句计算利息
#switch语句计算利息#include<stdio.h>int main(){ float benjin=1000,rate,sum; int button; printf("现在有本金1000元\n"); printf("1.活期,年利率为0.0036\n"); printf("2.一年期定期,年利率为0.0225\n"); printf("3.存两次半年定期,年利率为0.0198\n"); printf("请选择你的存款方式\n"); scanf("%d",&am原创 2020-12-29 15:31:57 · 1669 阅读 · 0 评论 -
摄氏度与华氏度相互转换
#摄氏度与华氏度相互转换摄氏度=(5.0/9)*(华氏度-32)/*摄氏度与华氏度的转换*/ #include<stdio.h>int main(){ float fahrenheit,degree; printf("请输入华氏度:"); scanf("%f",&fahrenheit); fahrenheit=(5.0/9)*(degree-32);/*在C语言中不声明格式,(5/9)这种整数相除的被除数比除数大的,会直接等于0,没有小数点后面的数字。*/ print原创 2020-12-28 12:50:48 · 1805 阅读 · 0 评论 -
求最大公约数
#**求最大公约数(for循环)#include<stdio.h>int main(){ int i,j,k; printf("please input data\n"); scanf("%d",&i); for(j=i-1;j<=i;--j) if(i%j==0) break;/*打破循环*/ k=j; printf("%d为最大公约数\n",k);}原创 2020-12-27 10:01:01 · 171 阅读 · 0 评论 -
计算打折后商品的最终价格(switch)
#计算打折后商品的最终价格(switch)#include<stdio.h>int main(){ float income,discount; int number; printf("购买产品的件数"); scanf("%d",&number); switch(number/100) { case 0:discount=1;break; case 1:discount=0.9;break; case 2:discount=0.85;break; cas原创 2020-12-24 19:24:23 · 2016 阅读 · 1 评论 -
自动贩卖机(switch)
#自动贩卖机(switch)#include<stdio.h>int main(){ int button; printf("******自定贩卖机******\n"); printf("1.可乐\n"); printf("2.芬达\n"); printf("3.王老吉\n"); printf("4.橙汁\n"); printf("5.雪碧\n"); printf("请按1-5键\n"); scanf("%d",&button); switch(button)原创 2020-12-24 19:01:56 · 1497 阅读 · 2 评论 -
输入带两个小数的实数,将其整数和小数部分分离后输出
#输入带两个小数的实数,将其整数和小数部分分离后输出。#include<stdio.h>int main(){ float a,c; int b; scanf("%f",&a); b=(int)a; c=a-(int)a; printf("%.2d+%.2f=%.2f",b,c,a); }原创 2020-12-23 08:44:01 · 5646 阅读 · 0 评论 -
“擂台法”求输入的最大值
#“擂台法”求输入的最大值#include<stdio.h>int main(){ int a,b,c,d,max; scanf("%d%d%d%d",&a,&b,&c,&d); max=a; if(max<b) max=b; if(max<c) max=c; if(max<d) max=d; printf("%d\n",max); }原创 2020-12-22 21:57:40 · 4686 阅读 · 0 评论 -
判断素数
#求素数方法判断素数1、先判断是否为质数2、输入n,如果n都不能被能被2~n-1整除,则为素数。#include<stdio.h>int judge(int i){ int k; if(i%2==0) { k=1; return(k); } else { for(k=2;k<=i-1;k++) { if(i%k==0) { k=0; return(k); } } }}int main(){ int原创 2020-12-21 22:48:04 · 134 阅读 · 0 评论 -
求等差数列的前n项合(for循环)
#求等差数列的前n项合(for循环)#include<stdio.h>int main(){ int i,j=0,k,n; printf("请输入数列n的值"); scanf("%d",&n); for(i=1;i<=n;i++) { j+=i; } printf("%d\n",j); } 运行结果:输入:5输出:15原创 2020-12-17 17:28:31 · 2549 阅读 · 0 评论 -
#数值统计(分别输出大于0、小于0、等于0的个数)(for循环+一维数组)
#数值统计(分别输出大于0、小于0、等于0的个数)(for循环+一维数组)#include<stdio.h>int main(){ long i,j=0,k=0,m=0,n,a[100]; printf("输入的数值个数为"); scanf("%d",&n); n=n-1; for(i=0;i<=n;i++) { scanf("%d",&a[i]); if(a[i]<0) ++j; else if(a[i]==0) ++k;原创 2020-12-16 21:28:28 · 3360 阅读 · 0 评论 -
计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100
#计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值注意定义变量的类型应该是double型#include<stdio.h>#include<math.h>int main(){ double i,j; float k=0; for(i=0;i<=99;i++) { j=1/(i+1); k+=pow(-1,i)*j; } printf("%f\n",k);}运行结果:0.688172...原创 2020-12-15 20:18:17 · 108 阅读 · 0 评论 -
输入一行带有奇数的数字,求奇数 的乘积
#输入一行带有奇数的数字,求奇数 的乘积(数组+for循环)#include<stdio.h>int main(){ int a[4],i,b=1,c; for(i=1;i<=4;i++) { scanf("%d",&a[i]); c=a[i]%2; if(c==1) b=b*a[i]; } printf("%d\n",b); } 运行结果:2 3 4 5输出:15...原创 2020-12-14 12:45:44 · 158 阅读 · 0 评论 -
输入4位同学的成绩,输出大于80的成绩(数组|+循环)
#输入4位同学的成绩,输出大于80的成绩(数组|+循环)#include<stdio.h>int main(){ long a[4],i; printf("please input 4 student's grades\n"); for(i=1;i<=4;i++) { printf("刚刚输入的4为同学的成绩分别为:"); scanf("%d",&a[i]); if(a[i]>=80) printf("%d",a[i]); }原创 2020-12-13 20:54:32 · 755 阅读 · 0 评论 -
用递归法求n!(函数定义)
#用递归法求n!(函数定义)#include<stdio.h>int sum(int a){ long b; if(a==1||a==0) b=1; else b=sum(a-1)*a; return(b);} int main(){ long i; int n; printf("请输入n的值:"); scanf("%d",&n); i=sum(n); printf("5!=%d\n",i); }...原创 2020-12-13 20:34:39 · 11638 阅读 · 1 评论 -
成绩转换(switch循环)
成绩转换#include<stdio.h>int main(){ int n; printf("please input grades\n"); scanf("%d",&n); if(n>=0&&n<=59) n=1; if(n>=60&&n<=69) n=2; if(n>=70&&n<=79) n=3; if(n>=80&&n<=89原创 2020-12-13 12:37:51 · 908 阅读 · 1 评论