c语言
c语言初识
秋生@
我学习理解比较差,没有什么天赋,所以安利了保姆式教学,在这里做个笔记,还请大神们多多指教。谢谢了
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二进制转换为十进制
注:先将所给的数据存入到一个数组中去,然后将各个位置的数字转换为十进制数,在这边调用了pow()函数,其用法是pow(x,y)表示x的y次方。从而完成对各个数字的转换#include<stdio.h>#include<math.h>#include<conio.h>int BinaryToDecimal(int Binary[],int size){ static int sum=0; int i=0; for(i=0;i<size;i++).原创 2022-01-09 19:57:34 · 751 阅读 · 0 评论 -
7-3 简化的插入排序 (20 分)
思路:1 根据题目要求输入相关的数据 2 将要插入的数据放入另一个数组中(空数组) 3 将a中的所有元素放到b数组中 4 进行排序 5 输出本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。输入格式:输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。输出格式:在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一...原创 2021-12-08 19:54:59 · 573 阅读 · 0 评论 -
递归(初识)
注;本文文章代码来自与哔站郝冰老师,特在此声明1 定义:一个函数自己直接或者间接调用自己(用栈来实现)这边用两个实际例子举例/*//不同函数之间的相互调用#include<stdio.h>void f();void g();void k();void f(){ printf("KKKK\n"); g(); printf("1111\n"); } void g() { printf("NNNN\n"); k(); printf("2222\n")原创 2021-11-23 17:37:31 · 904 阅读 · 0 评论 -
PTA-单链表按位删除
7-5 单链表按位删除 (10 分)有一字符型单链表List,假设表中无重复值,现要在指定位置i执行删除操作。删除成功时输出新单链表,否则输出“location error”。输入格式:有多组数据,每组数据占两行,代表一次删除操作。 每组第一行有两个整数,第一个为表长n(0<n<50),第二个为位置i; 第二行为单链表的各元素值。输出格式:每组数据的输出占一行,输出如题。输入样例:在这里给出一组输入。例如:5 4 abcde结尾无空行输出样例:在这里给出相.原创 2021-12-04 20:22:46 · 507 阅读 · 0 评论 -
7-1 结构体数组输入输出 (30 分)使用结构数组存储学生信息,信息包括了姓名name和成绩score,按学生成绩从高到低排序,并输出。输入格式:编写一个函数print,输出一个学生的数据
#include<stdio.h>struct student{ char num[4]; char name[10]; int score[3];}a[100];//定义一个结构体变量int st(int b){ int i; for(i=0;i<b;i++) { printf("No.:%s name:%s score:%d %d %d \n",a[i].num,a[i].name,a[i].score[...原创 2021-10-17 15:10:59 · 5169 阅读 · 1 评论 -
PTA 求最大值及其下标 (python3.0)
n=input() #输入正整数nl=list(input().split()) #输入n个正整数max=int(l[0]) #最大数字设为第一个元素maxi=0#设置下标for i in range(0,len(l)): if int(l[i])>max: #将整个链表中逐个数字将与其最大值进行比较 max=int(l[i]) #如果后面一个比前面一个大,则将后面一个的值赋给最大值,再进行比较 maxi=iprint("%d,%d"%(ma...原创 2021-10-15 20:56:23 · 1537 阅读 · 0 评论 -
学生成绩排序
#include<stdio.h>struct student{//定义一个结构体分别放入学号姓名,三个成员的分数 int num; char name[10]; int s[3]; double ave;};int main(){ struct student a[1000];//建议将空空间定义的大一些,以免造成空间储存不足 int n,i,j;int sum=0;scanf("%d",&n);for(i=0;i<n;i+...原创 2021-10-16 11:53:58 · 2968 阅读 · 2 评论 -
两个常用排序
键盘随机输入 6 个整数,将这些数据保存到数组中,使用冒泡排序对数组中的元素进行从小到大顺序排序,输出排序后数组中的元素(元素之间使用空格隔开)。输入描述:键盘随机输入 6 个整数输出描述:输出排序后数组中的元素(元素之间使用空格隔开)示例1输入:246980571316输出:13 16 24 57 69 80选择排序算法:先找到一个最小的,然后将其与后面的数字逐个比较,如果后面的数字比最小值要小,就将这个值赋给最小值,依次不断循环,直至到最小的一个数为止...原创 2021-10-25 22:03:27 · 176 阅读 · 0 评论 -
类型转换@
import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner scanner =new Scanner(System.in); double d=scanner.nextDouble(); System.out.println(Main.typeConversion(d)); } public static in.转载 2021-10-19 00:18:33 · 194 阅读 · 0 评论 -
计算一个数的阶乘
前提说一下,我这边用了int类型之后一直出现报错,后来查了一下,改用了long类型,代码如下欢迎大家可以留言,大家一起交流#include<stdio.h>int main(){ int n; scanf("%d",&n); long long t=1; for(int i=n;i>=1;i--) { t=t*i; } printf("%ld\n",t); return 0;原创 2021-10-22 20:40:50 · 226 阅读 · 0 评论 -
判断一个数是不是质数
#include<stdio.h>#include<stdbool.h>int main(){ int n; scanf("%d",&n); int i; bool flag=true; for(i=2;i*i<=n;i++) { if(n%i==0){ flag=false; break; } } if(flag) .原创 2021-10-24 19:17:30 · 237 阅读 · 0 评论 -
不死神兔问题(斐波拉契数列的运用)
有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问第 n 个月的兔子对数为多少?输入描述:键盘输入任意一个正整数 n,n 的范围为 [1, 20]输出描述:输出第 n 个月兔子的对数示例1输入:1输出:1示例2输入:2输出:1示例3输入:3输出:2示例4输入:4输出:3示例5输入:5输出:5示例6输入:6输出:8#includ.原创 2021-10-24 19:34:32 · 281 阅读 · 0 评论 -
键盘录入三个整数 a、b、c,获取这三个整数中的最大值,并输出
#include<stdio.h>int main(){ int a,b,c,max; scanf("%d%d%d",&a,&b,&c); if(a>=b)//先比较两个数,然后和第三个数字比较 { if(c>=a) max=c; else max=a; } else { if(c>=b) .原创 2021-10-21 19:33:57 · 3942 阅读 · 0 评论 -
编写函数实现两数交换(指针方式) 编写一个函数,实现两个整数的交换,要求采用指针的方式实现。输入描述:键盘输入2个整数 m 和 n输出描述:输出交换后m 和 n 的值,中间使用空格隔开
#include<stdio.h>#include<string.h>void fun(int *p,int *q){ int *t; t=p; p=q; q=t; printf("%d %d",*p,*q);}int main(){ int m,n; scanf("%d %d",&m,&n); fun(&m,&n);}这个交换指针虽然比价简单,但是在以后的数据结.原创 2021-10-23 20:20:50 · 5686 阅读 · 0 评论 -
数组元素反转(思维算法)
nt left = 0, right = 5; //定义左右指针 while(left < right){//开始交换 int temp = arr[left]; //交换指针元素 arr[left] = arr[right]; arr[right] = temp; left++; //左右不断靠近,直至中间两个数组完成交换 right--;第一次画图,有些丑,会慢慢加强画工的,还希望有人...原创 2021-10-23 19:53:35 · 178 阅读 · 0 评论 -
牛客网——利用指针遍历数组
键盘随机输入 6 个整数,将这些数据保存到数组中,利用指针遍历数组中的元素并打印。输入描述:键盘随机输入 6 个整数输出描述:输出数组中的所有元素,每个元素中间使用空格隔开例如:10 20 30 40 50 60示例1输入:102030 405060输出:10 20 30 40 50 60#include<stdio.h>int main(){ int a[6]={0}; int n=sizeof(a)/sizeof(int); .原创 2021-10-24 19:48:40 · 682 阅读 · 0 评论 -
将浮点数转换为整数类型,要求四舍五入。输入描述:随机输入的浮点数输出描述:四舍五入之后的整数示例1输入:14.99输出:15
#include <stdio.h>int main(){float val;scanf("%f",&val);printf("%.0f\n",val);//在输出位置上进行改变,将其不留小数位置,得到其整数部分 return 0;}原创 2021-10-17 16:32:58 · 1271 阅读 · 0 评论 -
创建动态数组键盘输入一个正整数 n,创建大小为 n 的数组(采用动态数组的方式),将数组中的元素初始化为 n、n+1、...、2n - 1。并输出数组中的元素。输入描述:键盘输入一个正整数 n输
#include<stdio.h>#include<malloc.h>int main(){ int len,i; int *array; scanf("%d",&len); array=(int*)malloc(sizeof(int*)*len); for(i=0;i<len;i++) { array[i]=len+i; } for(i=0;i<len;i++) {.原创 2021-10-19 12:40:41 · 3129 阅读 · 0 评论 -
键盘随机输入 6 个整数,将这些数据保存到数组中,使用冒泡排序对数组中的元素进行从小到大顺序排序,输出排序后数组中的元素(元素之间使用空格隔开)。输入描述:键盘随机输入 6 个整数输出描述
#include<stdio.h>int main(){ int i,j; int a[6]={0};//随机输入的6个整数 int len = sizeof(a) / sizeof(int); //siziof(a):表示a这个变量占了多少个字节。// sizeof(int):表示int型的变量占了多少个字节。// 整个表达式的意思是将上述两者相除的结果赋值给n。 int t; for(i=0;i<len;i++) { .原创 2021-10-21 20:22:20 · 7703 阅读 · 2 评论 -
规律数列求和
有数列为:9,99,999,...,9999999999(10个9)。要求编写程序计算此数列的和,并在控制台输出结果。#include<stdio.h>int main(){ long long t=9; int i; long long sum=0; for(i=0;i<10;i++) { sum=sum+t; t=t*10+9; } printf("%ld",sum);原创 2021-10-22 20:51:16 · 693 阅读 · 0 评论 -
九九乘法表
#include<stdio.h>int main(){int n;int i,j;scanf("%d",&n); for(i=1;i<=n;i++) { for(j=1;j<=i;j++) printf("%d * %d = %-4d ",j,i,j*i); printf("\n"); } return 0;}.原创 2021-10-24 19:06:44 · 142 阅读 · 0 评论 -
输出水仙花数
#include<stdio.h>int main(){ int n,a,b,c;for(n=100;n<=999;n++){a=n/100;b=n%100/10;c=n%10; if(a*a*a+b*b*b+c*c*c==n) printf("%d\n",n);} return 0;}原创 2021-10-20 08:19:21 · 550 阅读 · 0 评论 -
判断身材状态
体重指数(BMI)是世界卫生组织(WHO)推荐的国际统一使用的肥胖分型标准,即BMI=体重(千克)/身高2(米)。小于 18.5 属于"偏瘦",大于等于 18.5 小于 20.9 属于"苗条",大于等于 20.9 小于等于 24.9 属于"适中",超过 24.9 属于"偏胖"。下面由你来编写一段逻辑,输入用户的身高和体重,计算出对应的体重指数,并返回他们的身材状态。#include<stdio.h>int main(){ double height,high; doubl...原创 2021-10-18 22:52:44 · 810 阅读 · 0 评论 -
合并顺序表 (25 分)假设有两个由小到大有序的有序顺序表A和B,现要求将表A和表B并入表C中,且表C仍保持由小到大的有序性。若合并后的顺序表表长超过总容量20,则输出“not enough”。
#include<stdio.h>int main(){ int n,i,p,q; int a[10000],b[10000]; int k,j; while(scanf("%d",&n)!=EOF){ while(n--) { int t=0; scanf("%d",&p); for(i=0;i<p;i++) scanf("%d",&a[i]); scanf("%d",&q); f.原创 2021-10-23 18:57:29 · 256 阅读 · 0 评论 -
函数实现计算一个数的阶乘
编写一个函数 long long factorial(int n),用于计算 n 的阶乘。(要求使用递归实现)输入描述:键盘输入任意一个整数 n ,范围为 1 - 20输出描述:输出 n 的阶乘示例1输入:5输出:120#include<stdio.h> long long factorial(int n) { if(n==1) return 1; return factorial(n-1) * n; }int main(.原创 2021-10-24 18:09:37 · 4129 阅读 · 0 评论 -
7-2 素数判断(循环python)
7-2 素数判断输入一个正整数m,判断该数是否为素数。输入格式:首先输入测试组数T,然后输入T组测试数据。每组测试输入一个正整数m。输出格式:对于每组测试,若m为素数则输出“yes”;反之输出“no”。注意:引号不必输出。输入样例:3937输出样例:noyesyes日常写法import mathT=int(input())for i in range(0,T): m = int (input()) k = int (math.sqr..原创 2021-10-30 17:38:47 · 4308 阅读 · 3 评论 -
电费(简单的判断)
7-1 电费某电价规定:月用电量在150千瓦时及以下部分按每千瓦时0.4463元收费,月用电量在151~400千瓦时的部分按每千瓦时0.4663元收费,月用电量在401千瓦时及以上部分按每千瓦时0.5663元收费。 请编写一个程序,根据输入的月用电量(单位以千瓦时计),按该电价规定计算出应缴的电费(单位以元计)。输入格式:首先输入一个正整数T,表示测试数据的组数,然后是T组测试数据。对于每组测试,输入一个整数n(0≤n≤10000),表示月用电量。输出格式:对于每组测试,输出一行,包含一个.原创 2021-10-30 17:41:36 · 2890 阅读 · 0 评论 -
PTA-7-3 合并顺序表 (25 分)
7-3 合并顺序表 (25 分)假设有两个由小到大有序的有序顺序表A和B,现要求将表A和表B并入表C中,且表C仍保持由小到大的有序性。若合并后的顺序表表长超过总容量20,则输出“not enough”。输入格式:第一行为一个数字n,表示下面有n组数据,每组数据包括4行;每组数据中的第一行表示表A的表长,第二行表示表A的数据元素,第三行表示表B的表长,第四行表示表B的数据元素。输出格式:若合并成功,输出两行信息,第一行表示合并后表C的表长,第二行表示合并后表C的数据元素,每两个元素之间用一个.原创 2021-11-06 14:53:44 · 1317 阅读 · 0 评论 -
PTA 7-21 构建矩阵 (12 分)
输入整数n(2≤n≤10),构建一个n×n的方阵,其外环元素为1,内部元素为0,主对角线和次对角线元素为2。输出构建好的矩阵。输入格式:输入n。输出格式:n×n的矩阵。每个数后面有一个空格,共n行。输入样例1:6结尾无空行输出样例1:2 1 1 1 1 2 1 2 0 0 2 1 1 0 2 2 0 1 1 0 2 2 0 1 1 2 0 0 2 1 2 1 1 1 1 2 结尾无空行#include<stdio.h>int main(){.原创 2021-10-28 16:54:14 · 751 阅读 · 0 评论 -
PTA-凯撒密码(c语言)
7-23 凯撒密码 (20 分)为了防止信息被别人轻易窃取,需要把电码明文通过加密方式变换成为密文。输入一个以回车符为结束标志的字符串(少于80个字符),再输入一个整数offset,用凯撒密码将其加密后输出。恺撒密码是一种简单的替换加密技术,将明文中的所有字母都在字母表上偏移offset位后被替换成密文,当offset大于零时,表示向后偏移;当offset小于零时,表示向前偏移。输入格式:输入第一行给出一个以回车结束的非空字符串(少于80个字符);第二行输入一个整数offset。输出格式:.原创 2021-11-06 16:01:51 · 20561 阅读 · 5 评论
分享