c语言趣味编程实例
- 格式:docx
- 大小:23.84 KB
- 文档页数:5
C语言趣味程序百例(1):绘制余弦曲线public class test1{public static void main(String args[]){double y;double x, m;for (y=1;y>-1;y-=0.1) {m= Math.acos(y) * 10;for (x = 1; x < m; x++)System.out.print(" ");System.out.print("*");for (; x < 62 - m; x++)System.out.print(" ");System.out.println("*");}}}C语言趣味程序百例(3):绘制圆public class test3{public static void main(String args[]) {double y;double x, m;for(y=10;y>=-10;y--){m=2*Math.sqrt(100-y*y);for(x=1;x<30-m;x++)System.out.print(" ");System.out.print("*");for(;x<30+m;x++)System.out.print(" ");System.out.println("*");}}}import java.util.*;public class test4{public static void main(String args[]){int max=0;int min=100;double sum=0;for(int i=1;i<=10;i++){System.out.printf("请输入第"+i+"个分数:\n");Scanner reader=new Scanner(System.in);int x=reader.nextInt();sum+=x;if(x> max) max=x;if(x< min) min=x;}System.out.println("无效的最高分和最低分:"+max+" , "+min);System.out.println("最后选手的得分是:"+(sum-max-min)/8.0);}}public class test5{public static void main(String args[]){for (int i=999;i>99;i--) {if (555555%i==0) {System.out.println("最大约数="+i);return;}}}}C语言趣味程序百例(12):抓交通肇事犯public class test12{public static void main(String args[]){int k;for(int i=1;i<=9;i++){for(int j=0;j<=9;j++){if(i!=j){k=i*1000+i*100+j*10+j;for(int c=31;c< 100;c++){if(c*c==k)System.out.println("肇事车牌号是"+k);}}}}}}public class test38{public static void main(String args[]){int count = 0;for (int i = 0; i <= 100; i++)for (int j = 0; j <= 50; j++)for (int k = 0; k <= 20; k++) {if (i + j * 2 + k * 5 == 100) {System.out.println(count++ + ":" + i + "-" + j + "-" + k);}}}}public class test40{public static void main(String args[]){for (int i = 0; i <= 3; i++)for (int j = 0; j <= 3; j++) {if (8 - i - j <= 6)System.out.println("Res=" + i + " White=" + j + " Black="+ (8 - i - j));}}}C语言趣味程序百例(54):博士的难题2public class test54{public static void main(String args[]){for (int a = 1; a <= 3; a++)for (int b = 1; b <= 3; b++)for (int c = 1; c <= 3; c++)if ((a != b && b != c && a != c)&& (a == 1 && b == 1 || a == 2 && b != 1 || a == 3)&& (b == 1 && b == 3 || b == 2 && b != 3 || b == 3)&& (c == 1 && b == 2 || c == 2 && b != 2 || c == 3)) {System.out.println("1表示诚实族,2表示说谎族,3表示两面族");System.out.println("a=" + a);System.out.println("b=" + b);System.out.println("c=" + c);}}}C语言趣味程序百例(62):奇特立方体public class test62{public static void main(String args[]){int x[]=new int[8];for(int i=0;i<8;i++){x[i]=Integer.parseInt(args[i]);}new test62().cube62(x);}public void cube62(int x[]) {int n = 8;boolean success=false;for (int a = 0; a < n; a++)for (int b = 0; b < n; b++)for (int c = 0; c < n; c++)for (int d =0; d < n; d++)for (int e = 0; e < n; e++)for (int f = 0; f < n; f++)for (int g = 0; g < n; g++)for (int h =0; h < n; h++) {if (notEquls(new int[] { x[a],x[b], x[c],x[d],x[e],x[f],x[g],x[h]})) {if(cube62(x[a],x[b], x[c], x[d], x[e], x[f], x[g], x[h])) return;}}if(success!=true) System.out.println("不能构成奇妙立方体");;}public boolean cube62(int a, int b, int c, int d, int e, int f, int g, int h) {boolean success=false;int s = a + b + c + d;if (s == e + f + g + h)if (s == a + b + e + f)if (s == c + d + g + h)if (s == a + c + e + g)if (s == b + d + f + h) {System.out.println("能构成奇特立方体");System.out.print(" a=" + a);System.out.print(" b=" + b);System.out.print(" c=" + c);System.out.print(" d=" + d);System.out.print(" e=" + e);System.out.print(" f=" + f);System.out.print(" g=" + g);System.out.println(" h=" + h);System.out.println("构成的奇特立方体如下图:");System.out.println(" e/----------/f");System.out.println(" a/----------/b|");System.out.println(" | | | |");System.out.println(" | | | |");System.out.println(" | | | |");System.out.println(" |g/--------|-/h");System.out.println(" c/----------/d");return true;}return success;}public boolean notEquls(int[] a) {if (a == null || a.length == 0 || a.length == 1)return true;for (int i = 0; i < a.length; i++) {for (int j = 0; j < a.length; j++) {if (a[i] == a[j] && i != j) {return false;}}}return true;}}public class test49{public static void main(String args[]){for (int a = 0; a <= 1; a++)for (int b = 0; b <= 1; b++)for (int c = 0; c <= 1; c++)for (int d = 0; d <= 1; d++)for (int e = 0; e <= 1; e++)for (int f = 0; f <= 1; f++) {if (a + b >= 1&& a + d <= 1&& a + e + f == 2&& (b + c == 0 || b + c == 2)&& (c + d == 1)&& ((d == 0 && e == 0) || (d == 1 ))) {System.out.println("0是不去,1是去");System.out.println("a="+a);System.out.println("b="+b);System.out.println("c="+c);System.out.println("d="+d);System.out.println("e="+e);System.out.println("f="+f);}}}}import java.io.*;public class test10{public static void main(String[] args) throws IOException{BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("input int:");String s=br.readLine();int val=Integer.parseInt(s);System.out.println(getBits(val));}public static String getBits(int value){int displayMask=1<<31;StringBuffer buf=new StringBuffer(35);for(int c=1;c<=32;c++){buf.append((value & displayMask)==0? '0':'1');value<<=1;if(c%8==0)buf.append(' ');}return buf.toString();}}public class test9{public static void main(String args[]){int n=Integer.parseInt(args[0]);System.out.println("N="+n);for(int i=0;i<=n;i++){for(int j=0;j< 12-i;j++) System.out.printf(" ");for(int j=1;j< i+2;j++) System.out.printf("%6d",c(i,j));System.out.println();}}public static int c(int x,int y){int z;if((y==1)||(y==x+1)) return 1;z=c(x-1,y-1)+c(x-1,y);return z;}}C语言趣味程序百例(79):随机数求圆周率public class test79{public static void main(String args[]){double all=10000000;double l=1000000;double pai=0;double in=0;double x=0,y=0;for (int i=0;i<all;i++) {x=(Math.random()*l);y=(Math.random()*l);if(x*x+y*y<l*l)in++;}pai=(in/all*4);System.out.println("Times/All="+in+"/"+all+" "+"π~="+pai);}}。
经典C语言程序设计100例1.数字排列2.奖金分配问题3.已知条件求解整数4.输入日期判断第几天5.输入整数进行排序6.用*号显示字母C的图案7.显示特殊图案8.打印九九口诀9.输出国际象棋棋盘10.打印楼梯并按条件打印笑脸11.经典兔子问题12.判断素数13.水仙花数问题14.正整数分解质因数15.学习成绩划分16.正整数求其最大公约数和最小公倍数17.统计英文字母/空格/数字个数18.求s=a+aa+aaa+aa...a的值19.求解"完数"20.球体自由落下物理问题21.猴子吃桃问题22.乒乓球比赛抽签问题23.打印菱形图案24.分数数列求和25.求1+2!+3!+...+20!的和26.利用递归方法求5!27.将输入字符以相反顺序打印28.岁数问题29.求解正整数位数30.判断回文数31.星期几猜测游戏32.改变文本颜色33.学习gotoxy()与clrscr()函数34.练习函数调用35.设置文本颜色36.求100之内的素数37.对10个数进行排序38.求3*3矩阵对角线元素之和39.数字插入数组重新排序40.将一个数组逆序输出41.static定义静态变量用法42.使用auto定义变量用法43.使用static的另一用法44.使用external的用法45.使用register定义变量方法46.宏#define命令练习(1)47.宏#define命令练习(2)48.宏#define命令练习(3)49.#if #ifdef和#ifndef的综合应用50.#include 的应用练习51.学习使用按位与 &52.学习使用按位或 |53.学习使用按位异或 ^54.取一个整数从右端开始的4~7位。
55.学习使用按位取反~56.用circle画圆形57.学用line画直线58.用rectangle画方形59.画图综合例子160.画图综合例子261.打印杨辉三角形62.学习putpixel画点63.画椭圆ellipse64.利用ellipse and rectangle画图65.画个最优美的图案66.输入3个数字按大小顺序输出67.输入数组交换元素重新输出68.多个整数后移位置问题69.圆圈报数问题70.计算一个字符串长度71.编写输入/输出函数72.创建链表73.反向输出链表74.连接两个链表75.算一道简单题目76.调用函数求1/2+1/4+...+1/n77.填空练习(指向指针的指针)78.找到年龄最大的人79.字符串排序80.海滩猴子分桃81.已知公式条件求数字82.八进制转换为十进制83.求0-7所能组成的奇数个数84.由两个素数之和表示的偶数85.判断一个素数能被几个9整除86.两个字符串连接程序87.结构体变量传递88.读取数字的整数值并打印出该值个数的*89.数据加密90.专升本一题91.时间函数举例192.时间函数举例293.时间函数举例394.一个猜数游戏95.家庭财务管理小程序96.计算字符串中子串出现的次数97.输入字符并保存到磁盘98.字符串转换成大写字母并输出保存99.文件操作应用1100.文件操作应用2--------------------------------------------------------------------------------c语言经典100题【实用】【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
c语言趣味编程例题
以下是一些有趣的C语言编程例题,供您参考:
1. 猜数字游戏
编写一个猜数字的小游戏,让用户从0到100之间随机生成一个数字,用户可以多次猜测,每次猜测后程序会提示用户猜大还是猜小,直到猜中为止。
2. 反转字符串
编写一个函数,接受两个参数,分别为字符串和字符串长度,返回一个新的字符串,该字符串是原字符串的反转。
3. 计算阶乘
编写一个函数,接受一个整数n作为参数,返回n的阶乘。
4. 编写一个简单的计算器
编写一个简单的计算器,可以进行加、减、乘、除四则运算,支持整数和浮点数运算。
5. 编写一个简单的图形界面应用程序
使用C语言编写一个简单的图形界面应用程序,实现一个窗口,其中
包含一个按钮和一个标签。
当用户点击按钮时,标签的文本将更改为“Hello, World!”。
6. 编写一个简单的文本编辑器
编写一个简单的文本编辑器,支持打开、保存和删除文件,并能够在文本中进行插入、删除和替换操作。
7. 编写一个简单的游戏
编写一个简单的游戏,例如俄罗斯方块、扫雷或贪吃蛇等,可以使用C语言编写游戏引擎,然后使用图形库来创建游戏界面。
这些例题可以帮助您练习C语言编程技能,并提高您的编程能力。
有趣的c语言代码例子
1.猜数字游戏:编写程序生成一个介于1到100之间的随机数,用户输入猜测的数字直到猜对为止,程序会给出猜测数字相对于答案的大小关系提示(例如“猜测数字太大”或“猜测数字太小”)。
2. 打地鼠游戏:在屏幕上生成随机的地鼠图案,用户用鼠标点击击打地鼠以获得分数,随着时间的推移地鼠速度逐渐加快。
3. 贪吃蛇游戏:编写程序生成一个贪吃蛇,蛇头可以用键盘控制移动,当蛇吃到食物时身体长度增加,当蛇头碰到墙壁或自己的身体时游戏结束。
4. 数独游戏:生成一个数独谜题,用户通过键盘输入数字来填充空白格子,当谜题填写完整且符合数独规则时游戏结束。
5. 神经网络:使用C语言实现一个简单的神经网络,可以用来识别手写数字或其他模式识别任务。
6. 数据结构:实现一个栈或队列数据结构,可以用来解决各种实际问题。
7. 图像处理:使用C语言读取图像文件并进行简单的处理,例如灰度化、边缘检测或图像滤波等。
8. 加密解密:实现一个简单的加密解密算法,例如Caesar密码或RSA加密算法。
9. 排序算法:实现常见的排序算法,例如冒泡排序、插入排序或快速排序等。
10. 计算机模拟:使用C语言模拟各种实际问题,例如天气预报、
股票交易或人口统计等。
Contest - 2011级C语言课程大作业Start Time: 2012-02-19 16:25:00 End Time: 2012-03-01 22:00:00 Current Time: 2012-2-23 15:51:18 Status:Running Public写在最前:本文档中的题目;在不不同的编译器中可能会有提示错误,呵呵,小小的动动手改下变量的定义就可以运行了………………..由于能力不足..有题目未解决的…或者有错误的我会…认真听取大家的..意见的….呵呵……..有一两个….偷了下懒哦………提供原题目还有本人自己的解答的源代码。
感谢大家的。
建议…………….问题A: 趣味程序设计_狼追兔子时间限制: 1 Sec 内存限制: 128 MB提交: 341 解决: 63[提交][状态][讨论版]题目描述一只兔子躲进了n个环形分布的洞的某一个中。
狼在第一个洞没有找到兔子,就隔一个洞,到第三个洞去找;也没有找到,就隔两个洞,到第六个洞去找。
以后每次多一个洞去找兔子……这样下去,如果一直找不到兔子,请问兔子可能在哪个洞中?输入有多组测试数据,读取到文件结尾符为止。
每组测试数据输入n(2≤n≤100),即洞穴个数。
输入到文件结尾符为止。
输出兔子可能藏匿的洞。
如果不止一个,按从小到大的顺序输出。
如果不存在,输出空行。
样例输入10815样例输出2 4 7 92 4 5 7 8 9 11 12 14提示用一个数组a[10],对应的元素a[0],a[1],a[2]……a[9]对应表示10个洞,初值均置1。
通过一个循环用“穷举法”找兔子,第n次查找对应第(n-1)%10个洞,如果在第(n-1)%10个洞中没有找到兔子,因此将数组元素a[(n-1)%10]置0值。
循环完成后,检查a数组各元素(各个洞)的值,若其值仍为1,则兔子可能藏身该洞中。
#include<stdio.h>#include<string.h>int ok[110];int main(){int n,s,i,find;while(scanf("%d",&n)!=EOF){memset(ok,0,sizeof(ok));for(i=1;i<=200;i++)if(!ok[find=(i*(i+1)/2)%n])if(find==0)ok[n]=1;elseok[find]=1;for(s=0,i=1;i<=n;i++)s+=ok[i];for(i=1,find=0;i<=n;i++)if(!ok[i]){if(find!=(n-s-1)){printf("%d ",i);find++;}elseprintf("%d",i);}printf("\n");}return 0;}问题B: 趣味程序设计_巧夺偶数时间限制: 1 Sec 内存限制: 128 MB提交: 174 解决: 73[提交][状态][讨论版]题目描述桌子上有25颗棋子。
【c语⾔趣味编程100例】爱因斯坦数学题问题:爱因斯坦出了⼀个数学题:有⼀个长阶梯若每步跨2阶则最后剩余⼀阶
若每步跨3阶最后剩余2阶若每跨5阶最后剩下4阶若每步跨6阶最后剩余5阶
只有每次跨7阶最后才正好⼀阶不剩。
请问在1-N内有多少个数能满⾜
编程思路:解决该类问题,我们可以⽤穷举法进⾏求解,通过⼀个while循环可以作为⾮法字符的判断因此,使⽤if判断当条件都成⽴的成⽴的时候输出结果
#include<stdio.h>
void main(){
/*
问题:爱因斯坦出了⼀个数学题:有⼀个长阶梯若每步跨2阶则最后剩余⼀阶
若每步跨3阶最后剩余2阶若每跨5阶最后剩下4阶若每步跨6阶最后剩余5阶
只有每次跨7阶最后才正好⼀阶不剩。
请问在1-N内有多少个数能满⾜
编程思路:解决该类问题,我们可以⽤穷举法进⾏求解,通过⼀个while循环可以作为⾮法字符的判断
因此,使⽤if判断当条件都成⽴的成⽴的时候输出结果
**/
long n,sum,i;
while(scanf("%ld",&n)!=EOF)
{
printf("在1-%ld之间的阶梯数为:\n",n);
sum = 0;
for(i=7;i<=n;i++){
if(i%7==0)
if(i%6==5)
if(i%5==4)
if(i%3==2)
{
sum++;
printf("%ld,\n",i);
}
}
printf("在1-%ld之间,有%ld个数可以满⾜爱因斯坦阶梯的要求",n,sum);
}
}。
100个经典C语言编程例子(答案另附)1:计算 A+B 的问题时间限制:1000MS 内存限制:10000K总提交数:1347 正确数:655问题描述输入两个整数 a 和 b ,计算 a+b 的结果并输出。
输入两个整数输出一个整数输入样例1 2输出样例32:Hello World!时间限制:1000MS 内存限制:65536K总提交数:848 正确数:693问题描述编写第一个C语言程序。
在屏幕上输出:Hello World!输入程序没有输入输出Hello World!输入样例输出样例Hello World!提示1、输出的内容要与题目的要求完全一样,不能多字符也不能少字符。
3:两个整数的值互换时间限制:1000MS 内存限制:65536K总提交数:1235 正确数:530问题描述输入两个整数a,b ,将 a 和 b 的值互换,并输出。
例如:输入: 2 5输出: 5 2输入两个整数输出两个整数输入样例2 5输出样例5 2提示注意输入和输出的格式,两个数据之间用一个空格隔开。
问题来源4:计算三门课程总分和平均分时间限制:1000MS 内存限制:65536K总提交数:1190 正确数:482问题描述输入三门课程的成绩,输出总分和平均分。
要求:(1)输入三个数,用空格隔开。
输入的数可以是小数。
(2)输出两个数,用空格隔开。
输出的数保留两位小数。
例如:输入: 75 80 90输出: 245.00 81.67 输入输入三个数,用空格隔开。
输入的数可以是小数。
输出输出两个数,用空格隔开。
输出的数保留两位小数。
输入样例75 80 90输出样例245.00 81.67问题来源5:鸡兔同笼问题时间限制:1000MS 内存限制:65536K总提交数:872 正确数:443问题描述这个问题,是我国古代著名趣题之一。
大约在1500年前,《孙子算经》中就记载了这个有趣的问题。
书中是这样叙述的:“今有鸡兔同笼,上有三十五头,下有九十四足,问鸡兔各几何?这四句话的意思是:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。
趣味c语言编程100例趣味 c 语言编程100 例【程序 1】题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、 2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) / *以下为三重循环 */for( j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /* 确保 i 、 j、 k 三位互不相同 */printf("%d,%d,%d\n",i,j,k);}}程序 2】题目:企业发放的奖金根据利润提成。
利润 (I) 低于或等于 10 万元时,奖金可提 10% ;利润高于 10 万元,低于 20 万元时,低于 10 万元的部分按 10% 提成,高于 10 万元的部分,可可提成 7.5% ; 20 万到 40 万之间时,高于 20 万元的部分,可提成 5% ; 40 万到 60 万之间时高于40 万元的部分,可提成 3% ;60 万到 100 万之间时,高于 60 万元的部分,可提成 1.5% ,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1. 程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2. 程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;。
有趣的c语言代码在计算机编程领域中,C语言无疑是居于重要地位的一种语言。
它简洁明了,具有高度的灵活性,其语法规范和基本结构也有着非常强的适用性,依旧是很多应用领域的首选语言。
但是,除了作为一门实用的编程语言外,C语言也具备着不少有趣的面向场景和实现思路。
有时候我们不妨放开心态,花一点时间去探索一些优美、神奇或者古怪的代码,或许不仅可以带来好玩的游戏体验,还可以深刻领略计算机编程这一领域的魅力所在。
以下是几个有趣的C语言代码:1. Hello World!这是许多人接触编程时会碰到的第一行代码,既简单又经典。
用C 语言实现只需一行:include <stdio.h>int main(){printf("Hello, World!");return 0;}这段代码的功能很简单,输出 "Hello, World!"。
2. 回文字检测给定一个字符串,判断其是否为回文字符串。
这也是许多入门程序员接触的练手题。
bool isPalindrome(char *s){int len = strlen(s);for (int i = 0; i < len / 2; ++i)if (s[i] != s[len - 1 - i])return false;return true;}这段代码通过比较字符串中左右两端字符是否相同,完成回文检测。
3. 汉诺塔游戏汉诺塔是一个经典的数学谜题,至今仍是计算机课程和聚会游戏的热门选择之一。
在C语言中实现汉诺塔游戏的代码不仅具备实用价值,同时也挑战了程序设计师的算法思考能力。
void hanoi(int n, char A, char B, char C){if (n == 1)printf("%c -> %c\n", A, C);else{hanoi(n - 1, A, C, B);hanoi(1, A, B, C);hanoi(n - 1, B, A, C);}}这段代码通过递归实现了汉诺塔游戏的具体操作,将汉诺塔复杂的问题转化为简单的递归关系。
【c语⾔趣味编程100例】舍罕王的失算问题:相传现在流⾏的国际象棋是古印度舍罕王(Shirham)的宰相达依尔(Dahir)发明的舍罕王⼗分喜爱国际象棋,决定让达依尔⾃⼰要求得到什么赏赐。
这位聪明的宰相指着8×8共64格的象棋盘说:”陛下,请你赏给我⼀些麦⼦吧,就在棋盘的第1格中放1粒,第2格中放2粒,第3格中放4粒,以后每⼀格都⽐前⼀格增加⼀倍,⼀次放完棋盘上的64格,我就感恩不尽了。
“编程思路:这其实就是⼀个求和的问题第⼀格 1 1第⼆个 2 2第三格 3 4第四格 4 8------------第64格 64 2的63次⽅因此可以发现规律就是从1开始到64 相当于求和 2的0次幂到 2的63次幂#include<stdio.h>#include<math.h>void main(){/*问题:相传现在流⾏的国际象棋是古印度舍罕王(Shirham)的宰相达依尔(Dahir)发明的舍罕王⼗分喜爱国际象棋,决定让达依尔⾃⼰要求得到什么赏赐。
这位聪明的宰相指着8×8共64格的象棋盘说:”陛下,请你赏给我⼀些麦⼦吧,就在棋盘的第1格中放1粒,第2格中放2粒,第3格中放4粒,以后每⼀格都⽐前⼀格增加⼀倍,⼀次放完棋盘上的64格,我就感恩不尽了。
“编程思路:这其实就是⼀个求和的问题第⼀格 1 1第⼆个 2 2第三格 3 4第四格 4 8------------第64格 64 2的63次⽅因此可以发现规律就是从1开始到64 相当于求和 2的0次幂到 2的63次幂**/double sum = 0;int i;for(i=1;i<=64;i++)sum = sum+pow(2,i-1);printf("国王总共需要赏赐给宰相的麦⼦数为:%lf\n",sum);}。
有趣的c语言代码例子以下是一些有趣的C语言代码示例:1. Hello World 。
这是经典的第一步,向世界打招呼。
```C。
#include <stdio.h>。
int main() 。
printf("Hello, World!");。
return 0;。
}。
```。
2.猜数字游戏。
让玩家猜一个随机数字,直到猜对为止。
```C。
#include <stdio.h>。
#include <stdlib.h>。
#include <time.h>。
int main() 。
int num, guess, tries = 0;。
srand(time(0)); //随机数种子。
num = rand() % 100 + 1; //生成1-100之间的随机数。
do 。
printf("Enter a guess between 1 and 100: ");。
scanf("%d", &guess);。
tries++;。
if (guess > num) 。
printf("Too high! Try again.\n\n");。
} else if (guess < num) 。
printf("Too low! Try again.\n\n");。
} else 。
printf("\nCongratulations! You guessed the number in %d attempts.\n", tries);。
}。
} while (guess != num);。
return 0;。
}。
```。
3.逆转字符串。
将输入的字符串逆转。
```C。
#include <stdio.h>。
#include <string.h>。
有趣的跳跃c语言题目
有趣的跳跃c语言题目如下:
一个问题:编写一个C程序,实现一个有趣的跳跃游戏。
游戏规则如下:
1. 玩家输入一个整数,表示跳跃的起始位置(1-100)。
2. 玩家输入一个整数,表示每次跳跃的步长(1-10)。
3. 程序会显示玩家从起始位置开始,按照给定的步长进行跳跃的结果。
例如,如果起始位置是5,步长是3,程序会显示跳跃过程如下:
1. 从5跳到8
2. 从8跳到11
3. 从11跳到14
4. 以此类推,直到跳跃到97(跳过98和99)
4. 程序需要处理以下异常情况:
a. 如果起始位置或步长不在有效范围内(1-100或1-10),提示玩家重新输入。
b. 如果跳跃过程中出现负数或超过100,提示玩家重新输入。
请给出C代码实现。
几个简单有趣的c语言代码C语言是一门广泛使用的计算机编程语言,具有高效、易用等优点。
下面介绍几个简单有趣的C语言代码:1. 输出“Hello World!”```c#include <stdio.h> // 头文件int main() { // 主函数printf("Hello World!\n"); // 输出语句return 0; // 返回值}```这是一个常见的C语言入门代码,它将输出“Hello World!”这个字符串。
其中,`#include <stdio.h>`表示引入标准输入输出库,`printf`是一个函数,可以把字符串输出到控制台,`\n`表示换行,`return 0;`表示程序正常退出。
2. 计算圆的面积```c#include <stdio.h>int main() {float pi = 3.14, r, area;printf("请输入圆的半径:");scanf("%f", &r); // 输入半径area = pi * r * r; // 计算面积printf("圆的面积为:%.2f\n", area); // 输出面积return 0;}```这个程序可以计算出输入的圆的半径对应的圆的面积。
其中,`float`表示浮点数类型,`pi`为常量,`scanf`函数用于从键盘上读入数据,`&r`表示将输入的半径存储到变量`r`中,`%.2f`表示输出浮点数,保留2位小数。
3. 判断一个数是否是素数```c#include <stdio.h>int main() {int num, i, flag = 0;printf("请输入一个整数:");scanf("%d", &num); // 输入待判断的数for (i = 2; i <= num / 2; ++i) {if (num % i == 0) { // 判断是否能被整除flag = 1;break;}}if (num == 1) {printf("1不是素数也不是合数\n"); // 特判1}else {if (flag == 0)printf("%d是素数\n", num);elseprintf("%d不是素数\n", num);}return 0;}```这个程序可以判断输入的数是否是素数。
C语言简单有趣例子总结zwf#include"stdio.h"int main(){printf(" \n");printf(" \n");printf(" \n");return 0;}2正方形求面积#include"stdio.h"int main(){float a,area;printf("请输入边长a=\n");scanf("%f",&a);area=a*a;printf("area=%f\n",area);}3 三数比较大小并输出大的#include"stdio.h"int main(){int a,b,c,max;printf("请输入三个数字(并用逗号隔开)\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if(b>max)max=b;if(c>max)max=c;printf("max=%d\n",max);return 0;}4 三个数求和#include"stdio.h"int main(){int a,b,c,sum;printf("请输入三个数字(用逗号隔开)\n"); scanf("%d,%d,%d",&a,&b,&c);sum=a+b+c;printf("sum=%d\n",sum);}5 两数字比较大小并输出大的#include<stdio.h>int main(){int x,t,max;printf("请输入两个数字(用逗号隔开):\n\n");scanf("%d,%d,%d",&x,&t,&max);if(x>t) max=x;else max=t;printf("max=%d\n",max);return 0;}6 密码输入及提示#include <stdio.h>int main(){int number1=1234,name1=678,x,y;printf("请输入用户名:");scanf("%d",&x);printf("请输入密码:");scanf("%d",&y);if (x==name1&&y==number1) printf("Welcome!\n"); elseprintf("number Wrong!\n");return 0;}6(2)#include<stdio.h>void main(){int m,n,x=123,y=345;printf("请输入用户帐号:");scanf("%d",&m);if(m!=x){printf("用户名错误!\n(请重新输入)\n");}else {printf("请输入密码:");}scanf("%d",&n);if (n==y){printf("欢迎进入!\n");}else {printf("密码错误!\n(请重新输入)\n");}}7 注意接口(1)#include <stdio.h>main(){int number1=1234,name1=678,x,y;printf("请输入用户名:");scanf("%d",&x);printf("请输入密码:");scanf("%d",&y);if (x==number1,y==name1) {printf("欢迎进入数学运算程序!\n");int a,b,c,sum;printf("请输入三个数字(用逗号隔开)\n");scanf("%d,%d,%d",&a,&b,&c);sum=a+b+c;printf("sum=%d\n",sum); }else printf("number Wrong!\n");}(2)#include <stdio.h>main(){int number1=1234,name1=678,x,y;printf("请输入用户名:");scanf("%d",&x);if(x!=number1){printf("输入错误!\n");return 0;}printf("请输入密码:");scanf("%d",&y);if(y==name1){printf("欢迎进入数学运算程序!\n");int a,b,c,sum;printf("请输入三个数字(用逗号隔开)\n");scanf("%d,%d,%d",&a,&b,&c);sum=a+b+c;printf("sum=%d\n",sum);}else printf("number Wrong!\n");}8 小写字母换成大写字母(1)#include<stdio.h>int main(){char x,y,z;printf("请输入三个小写字母(用逗号隔开):");scanf("%c,%c,%c",&x,&y,&z);if(97<=x&&x<=122){x=x-32;printf("%c\n",x);}else printf("输入错误!\n");if(97<=y&&y<=122){y=y-32;printf("%c\n",y);}else printf("输入错误!\n");if(97<=z&&z<=122){z=z-32;printf("%c\n\n",z);}else printf("输入错误!\n");return 0;}(2)#include<stdio.h>int main(){char x,y,z;printf("请输入三个小写字母(用逗号隔开):");scanf("%c,%c,%c",&x,&y,&z);x=x-32,y=y-32,z=z-32;printf("%c,%c,%c\n\n",x,y,z);return 0;}9 大写字母换成小写字母#include<stdio.h>int main(){char ch;printf("大写字母转换成小写字母,请输入一个大写字母:\n");scanf("%c",&ch);if(ch<65) {printf("输入错误!请输入一个大写字母!\n\n");return(0);}else ch=(ch>='A'&&ch<='Z')?(ch+32):ch;printf("%c\n",ch);return 0;}10 求解方程组#include<stdio.h>int main(){int x,y=5;printf("请输入x=");scanf("%d",&x);if(x<0){y=x+1;}if(x>0){y=x*x-2;}printf("y=%d\n",y);return 0;}待定#include <stdio.h>void putnumber(){int y,number1=123;printf("请输入密码:");scanf("%d",&y);if (y==number1) {printf("Welcome!\n");} else {printf("Input number error!\n");}}int main(){char name[3],x[3];name[3]='xxx';printf("请输入用户名:");x[3]=getchar();if (x[3]==name[3]){putnumber();}else {printf("Input name error!\n");} return 0;}11 查码#include<stdio.h>void main(){char c1,c2;c1='0';c2='w';printf("%c,%c\n",c1,c2);printf("%d,%d\n\n",c1,c2);}12 从小到大#include<stdio.h>int main(){int x,y,z,t;printf("请输入三个数字(用逗号隔开):");scanf("%d,%d,%d",&x,&y,&z);if (x>y){t=x;x=y;y=t;} /*交换x,y的值*/if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/printf("small to big: %d %d %d\n",x,y,z);return 0;}二、13 switch分数等级#include<stdio.h>int main(){int score,n;char a;do{printf("请正确输入分数: ");scanf("%d",&score);}while(score<0||score>100);n=score/10;switch(n){case 9:case 10: a='A';break;case 8: a='B';break;case 7: a='C';break;case 6: a='D';break;default: a='E';break;}printf("分数为%d分\n等级为%c\n",score,a);return 0;}if 等级优化#include<stdio.h>int main(){int result;char grade;printf("请输入分数:");scanf("%d",&result);do{ printf("输入错误,请重新输入:");scanf("%d",&result);} while(result<0||result>100);if (result>=90&&result<=100)grade='A';if (result>=80&&result<90)grade='B';if (result>=70&&result<80)grade='C';if (result>=60&&result<70)grade='D';if (result>=0&&result<60)grade='E';printf("Grade=%c\n\n",grade);return 0;}14 方程解#include<stdio.h>int main(){int x,y;printf("请输入x的值为:");scanf("%d",&x);if(x<1) y=x;if(x>=1&&x<10) y=2*x-1;if(x>=10) y=3*x-11;printf("y=%d\n\n",y);return 0;}15 if分数等级#include<stdio.h>int main(){int result;char grade;printf("请输入分数:");scanf("%d",&result);if(result<0||result>100) {printf("input Error!\n");return 0;}else if(result<60) grade='E';else if(result<70) grade='D';else if(result<80) grade='C';else if(result<90) grade='B';else grade='A';printf("Grade=%c\n\n",grade);return 0;}16 字符判断#include<stdio.h>int main(){char c1;printf("请输入一个字符:");c1=getchar();if(c1>='a'&&c1<='z'||c1>='A'&&c1<='Z')printf("is a letter!\n");else if(c1>=48&&c1<=57) printf("is a number!\n");else printf("is a other!\n");return 0;}17 输入中文(指针)#include<stdio.h>int main(){char str1[]="呵呵";printf("%s\n\n",str1);return 0;}18 棱形*双重循环#include<stdio.h>void main(){ int i,j;for(i=1;i<=4;i++){for(j=1;j<40-i;j++)printf(" ");for(j=1;j<=2*i-1;j++)printf("*");printf("\n"); }for(i=3;i>=1;i--){ for(j=1;j<40-i;j++)printf(" ");for(j=1;j<=2*i-1;j++)printf("*");printf("\n"); }}19#include<stdio.h>int main(){ int i, a[3],sum=0;float p; for(i=0;i<=2;i++){a[i]=(i+1);printf("请输入分数:",i);scanf("%d",&a[i]);sum+=a[i];}p=(float)(sum)/i;printf("输出平均分为%f\n",p); printf("p=%f\n",p);return 0;}错#include<stdio.h>int main(){ int i,t, a[10],sum=0;float p; for(i=0;i<=9;i++){a[i]=(i+1);printf("请输入分数:",i);scanf("%d",&a[i]);}if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;}for(i=2;i<=8;) {sum+=a[i];}p=(float)(sum)/8;printf("输出平均分为:");printf("p=%f\n",p);return 0;}20简单求和(1+3+5···)#include<stdio.h>int main(){int i=1,sum=0;while(i<=3){sum+=i*2-1;i++;printf("%d\n",sum);}return 0;}[注意:1、(i=0时,sum+=2i,i++,n++)(0+2+4+···) 2、(i=0时,sum+=i++,n++;)(0+1+2+···)]21 用Do while限制正数do{printf("请重新输入两个正数(用逗号隔开):");scanf("%d,%d",&a,&b);}while(a<0||b<0);22 同学和统计平均分#include<stdio.h>int main(){int a=0,b,f,s=0;float ave;do{printf("请正确输入同学人数:");scanf("%d",&a);}while(a<1);//前提控制符合条件for(b=0;b<a;b++)//次数限制{scanf("%d",&f);s+=f;}ave=(float)s/a;printf("ave=%f\n",ave);return 0;}23 猜数游戏#include<stdio.h>#include<time.h>#include<stdlib.h>int main(){int k,r,n=1,m,a,b;srand(time(NULL));r=rand()%100+1;printf("欢迎进入猜数游戏\n");printf("想猜几次:");scanf("%d",&m);do{printf("猜一猜(请输入数字(1~100):");scanf("%d",&k);n++;if(k==r){b=n-1; printf("恭喜你第%d次猜对了\n",b);return 0;} if(k>r){printf("太大!\n");}if(k<r){printf("太小!\n");}}while(n<=m);a=n-1;printf("呵呵,猜了%d次没猜着,继续加油~!\n",a);return 0;}1for(i=0;i<5;i++){ printf("%d ",*(a+i));}2for(i=0;i<5;i++){ printf("%d\n",a[i]);}24.i,j,k 123====>312#include<stdio.h>int main(){int i,j,k;int *p1,*p2,*p3,*p4;printf("输入i,j,k的值分别为(逗号隔开):");scanf("%d,%d,%d",&i,&j,&k);p1=&i;p2=&j;p3=&k;p4=p2;p2=p1,p1=p3;p3=p4;printf("变换后i,j,k的值分别为:");printf("%d,%d,%d",*p1,*p2,*p3);return 0;}25.下标、地址、指针法访问#include<stdio.h>int main(){int i,a[5]={1,3,5,7,9};int *p=a;for(i=0;i<5;i++)printf("%d",a[i]);getchar();for(i=0;i<5;i++)printf("%d",*(a+i));getchar();for(i=0;i<5;i++)printf("%d",*p++);getchar();return 0;}26.消除空格#include<stdio.h>int main(){char a[]="chin a";char *p=a;printf("%s\n",a);for(;*p!='\0';p++){if(*p==' ')continue;else printf("%c",*p);}printf("\n");return 0;}27.消除指定数#include<stdio.h>int main(){char a[]="china";char c;char *p=a;printf("%s\n",a);scanf("%c",&c);for(;*p!='\0';p++){if(*p==c)continue;else printf("%c",*p);}printf("\n");return 0;}28./*1*1+2*2+3*3```+n*n<=1000求n?*/ #include<stdio.h>int main(){int n=0,sum=0;while(sum<=1000){n++;sum+=n*n;}printf("n=%d\n",n-1);return 0;}29./*修改*/#include<stdio.h>int main(){int s[30],num[6]={0};int i=0,n,j;float sum=0,ave;do{ printf("请正确输入一个班学生人数:");/*n为人数*/scanf("%d",&n);}while(n<=0||n>30);printf("逐个输入学生的同学成绩:\n");/*输到s[i]中*/for(;i<n;i++){ scanf("%d",&s[i]);sum+=s[i]; ave=sum/n;if(s[i]<0) break;if(s[i]>=0&&s[i]<60) num[0]+=1;if(s[i]>=60&&s[i]<70) num[1]+=1;if(s[i]>=70&&s[i]<80) num[2]+=1;if(s[i]>=80&&s[i]<90) num[3]+=1;if(s[i]>=90) num[4]+=1;}printf("分数段学生人数图形\n");printf("====================\n");printf("<60 %d(%.f%%)\t",num[0],num[0]/(float)n*100);for(j=1;j<=num[0];j++)printf("*");printf("\n");printf("60-69 %d(%.f%%)\t",num[1],num[1]/(float)n*100);for(j=1;j<=num[1];j++)printf("*");printf("\n");printf("70-79 %d(%.f%%)\t",num[2],num[2]/(float)n*100);for(j=1;j<=num[2];j++)printf("*");printf("\n");printf("80-89 %d(%.f%%)\t",num[3],num[3]/(float)n*100);for(j=1;j<=num[3];j++)printf("*");printf("\n");printf(">=90 %d(%.f%%)\t",num[4],num[4]/(float)n*100);for(j=1;j<=num[4];j++)printf("*");printf("\n");printf("====================\n");printf("平均分%.2f\n",ave);for(i=0;i<n;i++){ if(s[i]>=ave) num[5]++; }printf("成绩在(全班平均分及平均分之上)的学生人数:");printf("%d个\n",num[5]);printf("不及格人数:");printf("%d个\n",num[0]);printf("不及格的同学有:");for(i=0;i<n;i++){ if(s[i]<60) printf("第%d号",i+1);}printf("\n");return 0;}30#include<stdio.h>int main(){int i,j,n;int a[6]={12,88,100,92,1,75};printf("对下列数进行排序:\n");for(i=0;i<6;i++)printf("%d ",a[i]);for(j=0;j<5;j++){for(i=0;i<5-j;i++)if(a[i]>a[i+1]) { n=a[i];a[i]=a[i+1];a[i+1]=n;}printf("\n");printf("第%d趟结果:",(j+1));for(i=0;i<6;i++)printf("%d ",a[i]);}return 0;}31./*struct应用格式*/#include<stdio.h>int main(){struct z{int a,b,c;}t;scanf("%d",&t.a);printf("%d",t.a);return 0;}32./*调用函数*/#include<stdio.h>void t(int a, int b){int m,c,d;c=1;d=2;m=a>b?c:d;printf("%d\n",m);}int main(){int x,y;printf("输入:");scanf("%d,%d",&x,&y);t(x,y);return 0;}33、分科排名#include<stdio.h>int main(){float str[30][7];int i, j, n , pm=1;float sum=0, ave, findks;do{printf("请正确输入参加考生人数: ");scanf("%d",&n);}while(n<=0);for(i=0;i<n;i++){printf("输入考生学号:");scanf("%f",&str[i][0]);printf("分别输入该学号的考生的:数学成绩、英语成绩和物理成绩:\n",str[i][0]);for(j=1;j<4;j++){scanf("%f",&str[i][j]);}}for(i=0;i<n;i++){for(j=1;j<4;j++){sum+=str[i][j];}str[i][j]=sum;ave=sum/3;str[i][5]=ave;sum=0;}for(i=0;i<n;i++){for(j=0;j<n;j++){if(str[i][4]<str[j][4]){pm+=1;}}str[i][6]=pm;pm=1;}printf("\n考号MT EN PH 总分平均分排名\n");for(i=0;i<n;i++){for(j=0;j<7;j++){printf("%-8g",str[i][j]);}printf("\n");}printf("\n输入要查找的考生的考号: ");scanf("%f",&findks);for(i=0;i<n;i++){if(str[i][0]==findks){printf("\n考号MT EN PH 总分平均分排名\n");for(j=0;j<7;j++){printf("%-8g",str[i][j]);} break;}}if(i==n)printf("error!没有该考生的信息!!!\n");printf("\n");return 0;}34、/*掷骰子*/#include "stdio.h"#include "stdlib.h"#include "conio.h"#include "time.h"enum {CONTINUE,WON,LOST};int main(){int status=CONTINUE;int i=0,j=0,add,k;srand((unsigned)time(NULL));printf("第1场投掷骰子\n");while(i==0)i=rand()%6;printf("1:%d\n",i);while(j==0)j=rand()&6;printf("2:%d\n",j);add=i+j;if(add==11||add==7)status=WON;if(add==2||add==3||add==12)status=LOST;if(status==WON)printf("You Win!\n");else if(status==LOST)printf("YOU LOST!\n");else{for(k=1;k<=7;k++){i=0;j=0;printf("第%d场投掷骰子\n",k+1);while(i==0)i=rand()%6;printf("1:%d\n",i);while(j==0)j=rand()%6;printf("2:%d\n",j);if((i+j)==add){status=WON; break;}}if(status==WON)printf("YOU WIN!\n");elseprintf("YOU LOST!\n");}getch();return 0;}/* 34、********************************Press any key to continue*/#include<stdio.h>int main(){int i,j,k;for(i=0;i<4;i++){for(k=0;k<8-i;k++)printf(" ");for(k=0;k<8-i;k++)printf("*");for(j=1;j<=i;j++)printf("*");printf("\n");}return 0;}/* 35、**********Press any key to continue*/ #include<stdio.h>int main(){int i,j,k;for(i=0;i<5;i++){for(k=0;k<10-i;k++)printf(" ");for(j=0;j<i;j++)printf("*");printf("\n");}return 0;}/* 36、****************Press any key to continue*/ #include<stdio.h>int main(){int i,j,k;for(i=0;i<5;i++){for(k=0;k<10-i;k++)printf(" ");for(j=0;j<i;j++)printf("*");for(j=1;j<i;j++)printf("*");printf("\n");}return 0;}#include<stdio.h>#include<time.h>#include<stdlib.h>int sz(){ int x1, x2,sum;x1=rand()%6+1;/*1~6*/x2=rand()%6+1;printf(" %d, %d\n",x1,x2);sum=x1+x2;printf("点数和为: %d\n",sum);if(sum==7||sum==11){printf(" you win!\n");}if(sum==2||sum==3||sum==12){printf(" you lost!\n");}return sum;}int tt(){int x1,x2,sum1;x1=rand()%6+1;/*1~6*/x2=rand()%6+1;printf(" %d, %d\n",x1,x2);sum1=x1+x2;printf("点数和为: %d\n",sum1);return sum1;}int main(){int sz();int tt();int n,m,i;srand(time(NULL));printf("欢迎进入投骰子游戏\n\n");printf("第1次投骰子\n");n=sz();if(n==4||n==5||n==6||n==8||n==9||n==10) for(i=1;i<7;i++){getchar();printf("第%d次投骰子\n",i+1);m=tt();if(m==n){printf(" you win!\n");break;}}if(i==7){printf("\n you lost!\n\n");}return 0;}/*欢迎进入投骰子游戏第1次投骰子3, 3点数和为: 6第2次投骰子5, 4点数和为: 9第3次投骰子3, 4点数和为: 7第4次投骰子4, 4点数和为: 8第5次投骰子4, 2点数和为: 6you win!Press any key to continue */。