![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言基于基础的深入学习 经典案例(程序开发)
stormwangw
这个作者很懒,什么都没留下…
展开
-
多重循环打印图形————15.绘制余弦曲线
要求说明:编程实现用“#”绘制余弦曲线。解:本题用到了反余弦曲线函数acos(),我本身编译器无此函数,所以添加为c++编译(前两句代码,如果环境兼容可去除);通过纵坐标求横坐标值,对称位置由2π*10的近似值62 减去横坐标值来确定//绘制余弦曲线#include <iostream>using namespace std;#include <stdio.h>#inclu...原创 2018-04-08 08:29:55 · 174 阅读 · 0 评论 -
进制转换 ————1.十进制转十六进制
//十进制转换为十六进制//通过系统内部的开发环境直接转换#include <stdio.h>int main(int argc, char **argv){ int n; scanf("%d",&n); // 输入十进制整数n printf("the hex number is %x\n...原创 2018-04-03 11:05:07 · 989 阅读 · 0 评论 -
栈与队列————100.用栈设置密码
要求说明:用栈设置一个密码,当输入错误时,系统提示密码错误,输入错误三次退出。输入正确密码后显示密码正确。程序密码为“13579”//用栈设置密码#include <stdio.h>#include <string.h>#include <stdlib.h>#define STACK_SIZE 100 //设定栈空间最多100个...原创 2018-04-10 19:30:12 · 372 阅读 · 0 评论 -
进制转换————2.十进制转换为二进制
//十进制转换为二进制//通过代数关系,十进制转化二进制通过高位取余#include <stdio.h>int a[16] = {0};int main(int argc, char **argv){ int i = 0; int n; printf("Input the number:\n"); //输入待转换的整数 scanf("%d",&n); ...原创 2018-04-03 17:49:55 · 413 阅读 · 0 评论 -
进制转换————3. n进制转换为十进制
要求说明:编程实现任意输入一个数并输入其进制,即可将该数转换为十进制输出。//n进制转换为十进制//主要解决字符的判断和进制的判断就能有效解决此题#include <stdio.h>#include <string.h>int main(int argc, char **argv){ int t1; // 长整形 ...原创 2018-04-03 19:02:53 · 755 阅读 · 0 评论 -
进制转换————4.二进制转换为十进制 ——IP地址输出
要求说明:编程实现任意输入一个数并输入其进制,即可将该数转换为十进制输出。//以IP地址形式输出//此题意在分位转换,每八位为一段#include <stdio.h>int bin_to_dec(int i) //将位置二进制字符转换为十进制数{ int sum = 1; int j; for(j = 0; j < i; j ++) { ...原创 2018-04-03 19:50:22 · 800 阅读 · 0 评论 -
条件判断————5.三个数由小到大排序
要求说明:输入任意三个整数,编程实现对着三个数进行由小到大排序并排序后输出。//三个数由小到大排序#include <stdio.h>int main(int argc, char **argv){ int a,b,c; int tmp; printf("please input the number(a,b,c):\n"); scanf("%d%d%d",&a...原创 2018-04-04 08:50:43 · 390 阅读 · 0 评论 -
条件判断————6.a^2+b^2
要求说明:编程要求输入整数a和b,若a^2+b^2的结果大于100,则输出a^2+b^2的值,否则输出a+b结果。// a^2+b^2#include <stdio.h>int main(int argc, char **argv){ int a,b; printf("please input a and b:\n"); scanf("%d%d",&a,&a...原创 2018-04-04 08:53:57 · 580 阅读 · 0 评论 -
条件判断————7.整倍数
要求说明:编程判断输入的数是否既是5又是7的整倍数,如果是输出yes,否则输出no。//整倍数#include <stdio.h>int main(int argc, char **argv){ int x; printf("please input a number:\n"); scanf("%d",&x); if(x%5 == 0 &&...原创 2018-04-04 08:56:48 · 2706 阅读 · 0 评论 -
条件判断————8.判断闰年
要求说明:从键盘上输入一个表示年份的整数,判断该年份是否是闰年,判断后的结果显示在屏幕上。//判断闰年#include <stdio.h>int main(int argc, char **argv){ int year; printf("please input the year:\n"); scanf("%d",&year); ...原创 2018-04-04 13:49:11 · 5197 阅读 · 0 评论 -
条件判断————9.阶梯问题
要求说明:在你面前有一条长长的阶梯,如果你每步跨2阶,那么最后剩1阶;如果你每步跨3阶,那么最后剩2阶;如果你每步跨5阶,那么最后剩4阶;如果你每步跨6阶,那么最后剩5阶;只有当你每步跨7阶是,最后才正好走完,一阶也不剩。请问这条阶梯至少有多少阶?(求所有三位数)// 阶梯问题#include <stdio.h>int main(int argc, char **argv){ i...原创 2018-04-04 13:57:00 · 533 阅读 · 0 评论 -
条件判断————10.评定成绩
要求说明:编程对输入的百分制分数给出相应的等级,分数大于等于90位‘A’,80~89为‘B’,70~79为‘C’,60~69为‘D’,60分以下为‘E’。//评定成绩#include <stdio.h>int main(int argc, char **argv){ int score; printf("please enter score (score <= 100...原创 2018-04-04 14:04:28 · 776 阅读 · 0 评论 -
条件判断————11.整数加减法练习
要求说明:练习者自己选择是进行加法还是减法运算,之后输入进行多少以内的加法或减法运算,具体数值会由计算机随机产生,输入答案,计算机会根据输入的数据判断是否正确。//整数加减法练习#include <stdio.h>int main(int argc, char **argv){ int a,b,c,sign,max; char sign1; printf("pl...原创 2018-04-04 14:19:55 · 983 阅读 · 0 评论 -
多重循环打印图形————13.用#打印三角形
要求说明:用#打印如下所示三角形, # ### ##### ####### #########//用#打印三角形#include <stdio.h>int main(int argc, char **argv){ int i,j,k; for(i = 1;i <= 5; i ++) //控制行数 {...原创 2018-04-04 16:26:54 · 940 阅读 · 0 评论 -
多重循环打印图形————14.用*打印图形
要求说明:用*打印图形如下,***** ***** ***** ***** *****//用*打印图形#include <stdio.h>int main(int argc, char **argv){ char *a = "*****"; //定义一个字符串“"*****" int i,j; for(i = 0; i <...原创 2018-04-04 16:37:22 · 757 阅读 · 0 评论 -
链表————92.约瑟夫环
要求说明:使用循环链表实现约瑟夫环。给定一组编号分别是4,7,5,9,3,2,6,1,8.初始值由用户输入,打印输出队列。解:约瑟夫环算法是指;n个人围城一圈,每个人都有一个互不相同的密码,该密码是一个整数值,选择一个人作为起点,然后顺时针从1到k(k为起点人手中的密码值)数数。数到k的人退出圈子。然后从下一个人开始继续从1到j(j为刚退出圈子的人的密码)数数,数到j的人退出圈子。重复直到剩下最后...原创 2018-04-10 15:18:08 · 190 阅读 · 0 评论 -
链表————90.双向链表的逆置
要求说明:实现创建一个双向链表,将双向链表的节点逆置,即将尾节点放到第一个节点的位置,倒数第二个放到第二个节点的位置。依次类推,,并将结果输出。ps:相对应的双向链表的逆序输出,只要用一个指针遍历到最后一个节点,然后,通过前驱的移位遍历,即可输出,这里就不加入代码了//双链表逆置#include <stdio.h>#include <stdlib.h>#define N 1...原创 2018-04-10 13:57:53 · 1099 阅读 · 0 评论 -
结构体————86.计算机开机时间
要求说明:编程实现计算机开机时间,要求每次开始计算时间时都能接着上次记录的结果接着向下记录//计算开机时间#include <stdio.h>#include <unistd.h>#include <conio.h>struct time //定义时间结构体 { int hour; int minute; int second; }t...原创 2018-04-10 11:13:19 · 177 阅读 · 0 评论 -
多重循环打印图形————16.打印乘法口诀表
要求说明:打印乘法口诀表//打印乘法口诀表#include <stdio.h>int main(int argc, char **argv){ int i,j; for (i = 1; i <= 9; i++) { for(j = 1; j <= i; j++) printf("%d*%d=%d ",i,...原创 2018-04-08 08:48:03 · 418 阅读 · 0 评论 -
多重循环打印图形————17.杨辉三角
要求说明:打印出杨辉三角,行数可自行输入。解:首先找出杨辉三角的规律:1,每一行第一列为1; 2,对角线上数字也为1; 3,其余数字都等于它上一行同位置与前一项的和此题,我给出两种方式解决。1,完全输入数据后,遍历输出; 2,边输入边输出1.**************************************************************#include<stdi...原创 2018-04-08 09:33:32 · 334 阅读 · 0 评论 -
循环的数学应用————18.序列求和
要求说明:用while循环做一个简单计算 s = 1+1/2+1/3+...+1/n。//序列求和#include <stdio.h>int main(int argc, char **argv){ int i = 1; //设i初值为1 int n; printf("Input n:\n"); scanf("%d",&n...原创 2018-04-08 10:12:02 · 274 阅读 · 0 评论 -
循环的数学应用————19.简单的级数运算
要求说明:有一分数列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列前20项之和//简单的级数运算#include <stdio.h>int main(int argc, char **argv){ int n,t; float a = 2,b = 1,sum = 0; //定义变量a, b,sum 单精度型并分别赋初值 for( n = 1...原创 2018-04-08 10:22:57 · 428 阅读 · 0 评论 -
循环的数学应用————20.while语句求阶乘n!
要求说明:3!= 3*2*1,5!=5*4*3*2*1,依次类推 n!= n*(n-1)*(n-2)*...*2*1,使用while语句求n!//用while语句求阶乘n!#include <stdio.h>int main(int argc, char **argv){ int n ; int i = 1; printf("Input n:\n"); scan...原创 2018-04-08 10:37:22 · 15099 阅读 · 0 评论 -
循环的数学应用————21.特殊等式 xyz+yzz =532
要求说明:有这样一个等式 xyz + yzz = 532,编程求x,y,z值(xyz和yzz分别表示一个三位数)。//特殊等式xyz+yzz = 532#include <stdio.h>int main(int argc, char **argv){ int x,y,z,t; for(x = 1; x < 10; x ++) // 对x穷举 ...原创 2018-04-08 10:47:45 · 8022 阅读 · 0 评论 -
循环的数学应用————22.求一个正整数的所有因子
要求说明:从键盘输入一个正整数并求出它的所有因子。//求一个正整数的所有因子#include <stdio.h>int main(int argc, char **argv){ int n; printf("Input n:\n"); scanf("%d",&n); //输入一个正整数 int i; for( i = 1; i &l...原创 2018-04-08 11:00:50 · 7499 阅读 · 1 评论 -
循环的数学应用————23.一元钱兑换方案
要求说明:如果整钱换成零钱,一元钱可兑换成一角、两角或五角,问有多少种兑换方案。//一元钱兑换方案#include <stdio.h>int main(int argc, char **argv){ int i,j,k; for(i = 0; i <= 10; i ++) //最多有十个1角 for(j = 0; j <= 5; j +...原创 2018-04-08 11:30:30 · 1601 阅读 · 0 评论 -
循环的数学应用————24.对调数问题
要求说明:一个两位正整数,将他的个位和十位对调,得到另一个两位正整数,我们称这两个正整数互为对调数。现给定一个两位正整数,问能否找出另一个对调后不同的两位正整数,使得这两个正整数之和等于他们各自对调数之和?例如:63+47=36+74,。编写程序为输入的一个两位数这哦到满足如上要求的数或输出“不存在”。//对掉数问题#include <stdio.h>int main(int argc...原创 2018-04-09 09:18:26 · 1024 阅读 · 0 评论 -
循环的数学应用————25.数平方和运算的问题
要求说明:任意给一个自然数k,数k不为0,计算其各位数字平方和k1,在计算k1的各位数字的平方和k2.....重复此过程,最终将得到1或145,此时再做数的平方和运算最终结果将始终是1或145.编写程序验证此过程。//数平方和运算的问题#include <stdio.h>int main(int argc, char **argv){ long a[10]; int n,i...原创 2018-04-09 09:54:54 · 1248 阅读 · 2 评论 -
数组————26.逆序存放数据
要求说明:任意存放五个数据,编程实现将这五个数据逆序存放,并将最终结果显示。//逆序存放数据#include <stdio.h>int main(int argc, char **argv){ int a[5]; int i,temp; printf("please input array a:\n"); //输入数据 for(i = 0;...原创 2018-04-09 10:09:53 · 1620 阅读 · 0 评论 -
数组————33.打印五阶幻方
要求说明:打印五阶幻方即他的每一行、每一列和对角线之和相等。解:(1)将1(第一个数)放在第一行中间一列 (2)从2(第二个数开始)直到25(第二十五个数)各数依次按下列规则存放:每个数存放的行比前一个数的行数减1,列数加1. (3)如果上一行的数的行数为1,则下一个数的行数为5,列数加1. (4)当上一个数的列数为5时,下一个数的列数应为1,行数减1. ...原创 2018-04-09 15:16:07 · 1351 阅读 · 0 评论 -
字符和字符串操作————35.字符串倒置
要求说明:输入字符串,要求将该字符串倒置输出。例如:输入abcdef,输出fedcba。//字符串倒置#include <stdio.h>#include <string.h>#define N 100void convert(char s[]) //转换函数{ int i,j; char temp; for(i = 0; i &...原创 2018-04-09 15:51:32 · 750 阅读 · 0 评论 -
字符和字符串操作————45.分数计算器程序
要求说明:在实际应用有很多时候我们希望计算机给出的结果是分数而不是小数,本程序就是在这个前提产生的,具体要求如下:如果用户输入形式是1,2,+,1,3则代表1/2+1/3,要求运算结果以分数形式体现。//分数计算器#include <stdio.h>int gys(int x,int y) //求最大公约数{ return y?gys(y,x...原创 2018-04-09 20:11:29 · 811 阅读 · 0 评论 -
位运算————57.普通的位运算
要求说明:当 a=2,b=4,c=6,d=8时编程求a&c , b|d , a^d , ~a的值。解:单目运算符 &,|,^,~.都是对对应整数转化成二进制数后按位比较计算&:两个相应二进位中,都为1,该位为1,否则为0|:两个相应二进位中,有一个1,该位为1,否则为0^:两个相应二进位,相同为0,不同为1;~:单目运算符,作用对二进制数按位取反,0反为1,1反为0;//普...原创 2018-04-10 09:12:57 · 183 阅读 · 0 评论 -
perror函数————C语言Linux下
头文件#include <stdio.h> perror函数void perror(const char *s);例如:perror("helloworld")perror是用来将上一个函数的错误原因输出到标准设备stderr。参数s所指的字符串先打印然后加上错误原因字符串。#include <stdio.h> int main(){ FILE *fp; if((fp =...原创 2018-04-20 09:38:36 · 672 阅读 · 0 评论