C语言
c语言的各种习题,知识,技能
xiucai_cs
这个作者很懒,什么都没留下…
展开
-
【c语言】航班订票系统
#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<conio.h> typedef struct flightnode //定义飞机航班链表{ char flight_num[10]; char start_time[10]; char end_time[10]; ch原创 2020-06-12 18:02:09 · 3669 阅读 · 9 评论 -
【c语言】输入不定长度的字符 并可以测量其长度(非常简单)
#include<stdio.h>int main() { int sum=0; char a[100]; printf("请您输入一行字符: "); gets_s(a); // 注意哈,gets_s函数弄的那个字符是char类型的数组(vs2019中使用gets_s来代替gets) for (int i = 0; a[i]!='\0'; i++) { sum = i + 1; } printf("输入的字符串长度为: %d", sum); return 0;原创 2020-09-27 20:52:54 · 2243 阅读 · 0 评论 -
【c语言】有n个整数,使前面各数顺序先后移m个单位,最后m个数变成最先面的m个数(指针实现)
// 习题8.4: 有n个整数,使前面各数顺序先后移m个单位,最后m个数变成最先面的m个数(指针实现)#include<stdio.h>void fun(int *a, int m, int n) { int b[100] = { 0 }, c[100] = {0}; // 初始化为{0}可以解决非常多的麻烦,要一直使用哦 int c_count = 0, b_count = 0; // 用来统计数组c和数组b有多少个数的问题 // 将n-m的部分存起来,存到数组b里面原创 2020-10-10 20:50:30 · 1544 阅读 · 0 评论 -
【c语言】简洁的数组统计各种字符c程序
#include <stdio.h>int main(){ int i, j, upp, low, dig, spa, oth; char text[3][80]; upp = low = dig = spa = oth = 0; for (i = 0; i < 3; i++) { printf("please input line %d:\n", i + 1); gets_s(text[i]); for (j = 0; j < 80 &&原创 2020-10-13 21:03:02 · 563 阅读 · 0 评论 -
【c语言】指针 指向二维数组(实例演示)
实例:# include <stdio.h>int main(void){ int a[3][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int i, j; int (*p)[4] = a; //记住这种定义格式 for (i=0; i<3; ++i) { for (j=0; j<4; ++j) { printf("%-2d ", *原创 2020-10-15 21:18:14 · 502 阅读 · 0 评论 -
【c语言】求出每位学生的三门课程的总分,然后按总分由高到低排序,并将排序结果按学号、姓名、数学成绩、语文成绩、英语成绩、总分和名次打印输出到屏幕和文件
Question:输入n个学生的学号、姓名、数学成绩、语文成绩和英语成绩,求出每位学生的三门课程的总分,然后按总分由高到低排序,并将排序结果按学号、姓名、数学成绩、语文成绩、英语成绩、总分和名次打印输出到屏幕和文件 student.dat中。要求用结构体描述学生信息,输出打印时每位学生信息占一行且上下列对齐,总分相同时名次相同,例如,假设有四个成绩为280、275、275、250,则对应的名次为1、2、2、4。Code:#include<stdio.h>#include<strin原创 2020-11-01 15:55:07 · 12281 阅读 · 5 评论 -
【c语言】 用指向指针的方法对5个字符串排序并输出
Code:// 习题8.20: (指针)用指向指针的方法对5个字符串排序并输出#include<stdio.h>#include<string.h>// 将字符串进行排序并输出void fun(char (*p)[100]) { char s[100]; for (int i = 0; i < 5; i++) { for (int j = i+1; j < 5; j++) { if (strcmp(*(p + i), *(p + j)) &原创 2020-10-16 20:51:51 · 6725 阅读 · 5 评论 -
【c语言】用递归算法求Hermite多项式的值
问题:Code:#include<stdio.h>float x;float fun(int n){ // 定义int fun()会返回int类型,所以这里定义的是float类型 if(n==0) return(1); else if(n==1) return(2*x); else if(n>1) return(2*x*fun(n-1) - 2*(n-1)*fun(n-2));}int main(){ int n; printf("请您输入n和x的值: ")原创 2020-10-27 20:26:38 · 3012 阅读 · 0 评论 -
【c语言】 指针 字符串赋值
前言: 通过指针的方式,实现字符串的赋值并输出Code:#include<stdio.h>int main(){ char *c; c="This is a string"; printf("%s", c);}结果:ps:1、这里的指针变量c存储的为字符串的首地址,输出的时候可以利用%s, 和指针c输出。2、不可以写成*c="string",字符串在c语言中默认按照数组来存储,而c存储的仅为地址。...原创 2020-11-14 14:40:03 · 6616 阅读 · 1 评论 -
【c语言】递归求n的阶乘
Code:#include<stdio.h>int fun(int n){ if(n==1) return 1; else return n*fun(n-1);}int main(){ int n; printf("输入几的阶乘: "); scanf("%d", &n); printf("%d的阶乘值为: %d", n, fun(n));}结果:原创 2020-12-10 21:04:02 · 428 阅读 · 0 评论 -
【c语言】设计递归函数,求x的n次幂
问题要求: 设计一个递归函数,求x的n次幂;主函数通过键盘输入x和n的值,并输出x^n的值。(假设x为实数,n为正整数)Code:#include<stdio.h>// 计算x^n的函数 float fun(float x, int n){ if(n==0) return 1; // 递归结束的中止条件 else return x*fun(x, n-1);}int main(){ float x; int n; printf("请您输入实数x和整数n的值: ");原创 2020-12-13 21:11:19 · 15860 阅读 · 6 评论 -
【c语言】三行代码判断回文数 (关键代码三行)
Code:#include<stdio.h>int main(){ int num, tem=0, result; // num是输入的数字,result为输入数字的载体 printf("请输入待判断的数: "); scanf("%d", &num); result=num; // 例: 121 while(num){ tem = tem*10 + num%10; // 0*10+121%10 = 1 1*10+12%10 = 12 1原创 2020-12-15 21:00:46 · 518 阅读 · 0 评论 -
【c语言】翻52张扑克牌问题
要求:有52张扑克牌,使它们全部正面朝上.从第2张牌开始,把凡是2的倍数位置上的牌翻成正面朝下;接着从第3张牌开始,把凡是3的倍数位置上的牌正面朝上的翻成正面朝下,正面朝下的翻成正面朝上;接着从第4张牌开始,把凡是4的倍数位置上的牌按此规律翻转;依次类推,直到第1张牌是52张为止。Code:#include<stdio.h>// 翻牌函数 int fun(int *a){ for(int i=2; i<=51; i++){ // 从第二张开始翻牌,翻到第一张牌是第52张为原创 2020-12-15 21:55:08 · 4508 阅读 · 3 评论 -
【c语言】双胞胎数
要求:两素数之差为2,则称该两素数为双胞胎数。求出[2,300]内:所有素数并保存到文件prime.txt中;有多少对双胞胎数;最大的一对双胞胎数。Code:#include<stdio.h>//统计多少对双胞胎数void fun_count(int *b, int t, int count) { for (int i = 0; i < t; i++) { if (b[i+1] - b[i] == 2) { count++; } } printf(原创 2020-12-16 21:27:51 · 5537 阅读 · 1 评论 -
【c语言】编写程序,将斐波那契数列前20项写入文件fab.txt中,并将斐波那契数列前20项之和输出到屏幕上。要求斐波那契数列第n项的计算用递归函数实现。
要求:编写程序,将斐波那契数列前20项写入文件fab.txt中,并将斐波那契数列前20项之和输出到屏幕上。要求斐波那契数列第n项的计算用递归函数实现。代码:#include<stdio.h>#include<stdlib.h>// 求斐波那契数列 int fun(int n){ int result; if(n==1) result=1; else if(n==2) result=1; else result = fun(n-1)+fun(n-2); ret原创 2020-12-23 20:43:24 · 2701 阅读 · 0 评论 -
【c语言】一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同
问题:一辆卡车违犯交通规则,撞人逃跑。现场三人目击事件,但都没记住车号,只记下车号的一些特征。甲说:牌照的前两位数字是相同的;乙说:牌照的后两位数字是相同的;丙是位数学家,他说:四位的车号刚好是一个整数的平方。请根据以上线索求出车号。#include<stdio.h>// 判断四位数的车牌是不是某个整数的平方 void fun(int id){ for(int i=1; i<=1000; i++){ if(i*i == id){ printf("车牌号为: %d",原创 2020-12-23 21:10:40 · 4137 阅读 · 0 评论