c语言趣味编程实例

合集下载

C语言趣味程序百例

C语言趣味程序百例

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语言趣味编程实例

c语言趣味编程实例
}
//以下代码打印菱形的下半部
for(inti = lay + 1; i <= 2 * lay - 1; i++)
{
for(intk = 1; k <= i - lay; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * lay - 2 * (i - lay) - 1; j++)
开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。
要求:初始化时按字母表顺序赋值。
#include <stdio.h>
int main()
{
char x[] = "ABCDEFGHIJKLMNPQRST";
int k;
int n = 0;Biblioteka while (x[n]){
n++;
if (x[n] == 'M')
while(1)
{
if(staff_num % 3 == 2 && staff_num % 5 == 3 && staff_num % 7 == 0)
{
printf("该单位至少有%d人。", staff_num);
break;
}
staff_num++;
}
printf("\n");
return0;
}
4、将一个6×6数组的第一行、第六行、主对角线和副对角线上的元素都存入1,其余的元素都存入0。请编程序实现。要求:1)不许对数组初始化。2)尽量少用循环。

C语言程序设计100个简单的经典例子

C语言程序设计100个简单的经典例子

经典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语言趣味编程例题

c语言趣味编程例题
以下是一些有趣的C语言编程例题,供您参考:
1. 猜数字游戏
编写一个猜数字的小游戏,让用户从0到100之间随机生成一个数字,用户可以多次猜测,每次猜测后程序会提示用户猜大还是猜小,直到猜中为止。

2. 反转字符串
编写一个函数,接受两个参数,分别为字符串和字符串长度,返回一个新的字符串,该字符串是原字符串的反转。

3. 计算阶乘
编写一个函数,接受一个整数n作为参数,返回n的阶乘。

4. 编写一个简单的计算器
编写一个简单的计算器,可以进行加、减、乘、除四则运算,支持整数和浮点数运算。

5. 编写一个简单的图形界面应用程序
使用C语言编写一个简单的图形界面应用程序,实现一个窗口,其中
包含一个按钮和一个标签。

当用户点击按钮时,标签的文本将更改为“Hello, World!”。

6. 编写一个简单的文本编辑器
编写一个简单的文本编辑器,支持打开、保存和删除文件,并能够在文本中进行插入、删除和替换操作。

7. 编写一个简单的游戏
编写一个简单的游戏,例如俄罗斯方块、扫雷或贪吃蛇等,可以使用C语言编写游戏引擎,然后使用图形库来创建游戏界面。

这些例题可以帮助您练习C语言编程技能,并提高您的编程能力。

有趣的c语言代码例子

有趣的c语言代码例子

有趣的c语言代码例子
1.猜数字游戏:编写程序生成一个介于1到100之间的随机数,用户输入猜测的数字直到猜对为止,程序会给出猜测数字相对于答案的大小关系提示(例如“猜测数字太大”或“猜测数字太小”)。

2. 打地鼠游戏:在屏幕上生成随机的地鼠图案,用户用鼠标点击击打地鼠以获得分数,随着时间的推移地鼠速度逐渐加快。

3. 贪吃蛇游戏:编写程序生成一个贪吃蛇,蛇头可以用键盘控制移动,当蛇吃到食物时身体长度增加,当蛇头碰到墙壁或自己的身体时游戏结束。

4. 数独游戏:生成一个数独谜题,用户通过键盘输入数字来填充空白格子,当谜题填写完整且符合数独规则时游戏结束。

5. 神经网络:使用C语言实现一个简单的神经网络,可以用来识别手写数字或其他模式识别任务。

6. 数据结构:实现一个栈或队列数据结构,可以用来解决各种实际问题。

7. 图像处理:使用C语言读取图像文件并进行简单的处理,例如灰度化、边缘检测或图像滤波等。

8. 加密解密:实现一个简单的加密解密算法,例如Caesar密码或RSA加密算法。

9. 排序算法:实现常见的排序算法,例如冒泡排序、插入排序或快速排序等。

10. 计算机模拟:使用C语言模拟各种实际问题,例如天气预报、
股票交易或人口统计等。

C语言趣味程序设计——题目百例

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例(含答案)

c趣味编程100例(含答案)
}
}
*思考题
实现函数y=x2的图形与圆的图形叠加显示
4.歌星大奖赛
在歌星大奖赛中,有10个评委为参赛的选手打分,分数为1~100分。选手最后得分为:去掉一个最高分和一个最低分后其余8个分数的平均值。请编写一个程序实现。
*问题分析与算法实现
这个问题的算法十分简单,但是要注意在程序中判断最大、最小值的变量是如何赋值的。
44.分数之和 61
45.将真分数分解为埃及分数 63
46.列出真分数序列 65
47.计算分数的精确值 66
48.新娘和新郞 68
49.委派任务 70
50.谁在说谎 73
51.谁是窃贼 74
52.黑与白 76
53.迷语博士的难题(1) 79
54.迷语博士的难题(2) 81
55.哪个大夫哪天值班 84
87.黑白子交换 164
88.常胜将军 168
89.抢 30 169
90.搬山游戏 172
91.人机猜数游戏 176
92.人机猜数游戏(2) 179
93.汉诺塔 183
94.兎子产子 187
95.将阿拉伯数字转换为罗马数字 189
96.选美比赛 191
97.满足特异条件的数列 193
66.除式还原(1) 117
67.除式还原(2) 120
68.九位累进可除数 124
69.魔术师的猜牌术(1) 128
70.魔术师的猜牌术(2) 129
71.约瑟夫问题 131
72.邮票组合 134
73 和数能表示1~23的5个正整数 135
74.可称1~40磅的4块砝码 137

【c语言趣味编程100例】爱因斯坦数学题

【c语言趣味编程100例】爱因斯坦数学题

【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语言编程例子(答案另附)

100个经典C语言编程例子(答案另附)

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例

趣味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语言趣味编程演示

例如按下列方法移动棋子:
0
1
2 △
3
4 两个●连在一起产生阻塞
或4 两个○连在一起产生阻塞
“阻塞”现象就是:
在移动棋子的过程中,两个尚未到位的同 色棋子连接在一起,使棋盘中的其它棋子 无法继续移动。
产生阻塞的现象的原因是在第2步(△状态) 时,棋子○不能向右移动,只能将●向左 移动。
总结产生阻塞的原因,当棋盘出现“黑、 白、空、黑”或“白、空、黑、白”状态 时,不能向左或向右移动中间的棋子,只 移动两边的棋子。
按照上述规则,可以保证在移动棋子的过 程中,不会出现棋子无法移动的现象,且 可以用最少的步数完成白子和黑子的位置 交换
计算机解决胜这类问题的要害是要找出问题 的规律,或者说是要制定一套计算机行动的 规则。分析本题,先用人来解决问题,可总 结出以下规则: (1) 黑子向左跳过白子落入空格,转(5) (2) 白子向右跳过黑子落入空格,转(5) (3) 黑子向左移动一格落入空格(但不应产生棋 子阻塞现象),转(5) (4) 白子向右移动一格落入空格(但不应产生棋 子阻塞现萌),转(5) (5) 判定游戏是否结束,若没有结束,则转(1) 继续。
*程序与程序注释
#include<stdio.h> int number; void print(int a[ ]); void change(int *n,int *m); void main() { int t[7]={1,1,1,0,2,2,2}; /*初始化数组1:白子 2:黑子 0: 空格*/ int i,flag; print(t); while(t[0]+t[1]+t[2]!=6||t[4]+t[5]+t[6]!=3) /*判断游戏是否 结束若还没有完成棋子的交换则继续进行循环*/

C语言趣味程序设计编程百例精解

C语言趣味程序设计编程百例精解
*程序说明与注释 #include<stdio.h> #include<math.h> int main() { double y; int x,m; for(y=1;y>=-1;y-=0.1) /*y 为列方向,值从 1 到-1,步长为 0.1*/ { m=acos(y)*10; /*计算出 y 对应的弧度 m,乘以 10 为图形放大倍数*/ for(x=1;x<m;x++) printf(" "); printf("*"); /*控制打印左侧的 * 号*/ for(;x<62-m;x++)printf(" "); printf("*\n"); /*控制打印同一行中对称的右侧*号*/ }
*问题分析与算法设计 可以设想:先求出 100!的值,然后数一下末尾有多少个零。事实上,与上题一样,由于计
算机所能表示的整数范围有限,这是不可能的。 为了解决这个问题,必须首先从数学上分析在 100!结果值的末尾产生零的条件。不难看
出:一个整数若含有一个因子 5,则必然会在求 100!时产生一个零。因此问题转化为求 1 到 100 这 100 个整数中包含了多少个因子 5。若整数 N 能被 25 整除,则 N 包含 2 个因子 5;若整数 N 能被 5 整除,则 N 包含 1 个因子 5。 *程序说明与注释 #include<stdio.h> int main() { int a,count =0; for(a=5;a<=100;a+=5) //循环从 5 开始,以 5 的倍数为步长,考察整数 { ++count; //若为 5 的倍数,计数器加 1 if(!(a%25)) ++count; //若为 25 的倍数,计数器再加 1 } printf("The number of 0 in the end of 100! is: %d.\n",count); //打印结果 return 0; }

有趣的c语言代码

有趣的c语言代码

有趣的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例】舍罕王的失算

【c语言趣味编程100例】舍罕王的失算

【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语言代码例子

有趣的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语言题目
有趣的跳跃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语言代码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

C语言简单有趣例子总结zwf

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 */。

相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else
a[i][j] = 0;
printf("a[%d][%d]=%d ", i, j, a[i][j]);
if(count % 6 == 0)
printf("\n\n\n");
}
return0;
}
5.打印空心菱形,图形如下:
其中行数可以从控制台输入,可变的,可以打印(1-n)层。
#include<stdio.h>
{
for(intk = 1; k <= lay - i; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * i - 1; j++)
{
if(j == 1 || j == 2 * i - 1)
printf("*");
else
printf(" ");
}
//打印换行
pHale Waihona Puke intf("\n");
return 0;
}
3、某单位排队形,开始排成3路纵队,末尾多出了2人。后改成5路纵队,末尾又多出了3人,最后改成7路纵队,正好没有余数。编程序求出该单位至少有多少人。
#include<stdio.h>
intmain()
{
intstaff_num= 7;//该单位至少有7人。
{
if(j == 1 || j == (2 * lay - 2 * (i - lay) - 1))
printf("*");
else
printf(" ");
}
//打印换行
printf("\n");
}
}
6.打印实心菱形,与5题类似,如下图例
#include<stdio.h>
voidmain(){
intlay;
#include<stdio.h>
intmain(void)
{
inta[6][6];
intcount = 0;
for(inti = 0; i < 6;i++)
for(intj = 0; j < 6; j++)
{
count++;
if(i == j || i == 0 || i == 5)
a[i][j] = 1;
{
k =n;break;
}
}
printf("%c,",x[k]);
for (inti = 1; i <= 12; i++)
if (i <= 11)
printf("%c,%c,", (x[k] - i), (x[k] + i));
else
printf("%c,%c。", (x[k] - i), (x[k] + i));
while(1)
{
if(staff_num% 3 == 2 &&staff_num% 5 == 3 &&staff_num% 7 == 0)
{
printf("该单位至少有%d人。",staff_num);
break;
}
staff_num++;
}
printf("\n");
return0;
}
4、将一个6×6数组的第一行、第六行、主对角线和副对角线上的元素都存入1,其余的元素都存入0。请编程序实现。要求:1)不许对数组初始化。2)尽量少用循环。
1、编程序求5X+2Y+Z=50的所有非负整数解。
#include <stdio.h>
intmain()
{
intx, y, z;
intcount = 0;
for(x = 0; 5 * x <= 50;x++)
for(y = 0; 2 * y <= 50; y++)
for(z = 0; z <= 50; z++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * i - 1; j++)
{
printf("*");
}
//打印换行
printf("\n");
}
//以下代码打印菱形的下半部
for(inti = lay + 1; i <= 2 * lay - 1; i++)
{
for(intk = 1; k <= i - lay; k++)
{
printf(" ");
}
//每行星号个数
for(intj = 1; j <= 2 * lay - 2 * (i - lay) - 1; j++)
{
printf("*");
}
//打印换行
printf("\n");
}
}
开始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O,...。
要求:初始化时按字母表顺序赋值。
#include <stdio.h>
intmain()
{
char x[] = "ABCDEFGHIJKLMNPQRST";
intk;
intn = 0;
while (x[n])
{
n++;
if (x[n] == 'M')
printf("请输入要打印的层数(菱形的半边):");
//表示有多少层
scanf_s("%d", &lay);//vs2010以后版本scanf安全问题会报错。
//以下代码打印菱形的上半部
for(inti = 1; i <= lay; i++)
{
for(intk = 1; k <= lay - i; k++)
printf("\n");
}
//以下代码打印菱形的下半部
for(inti =lay + 1; i <= 2 * lay - 1; i++)
{
for(intk = 1; k <= i - lay; k++)
{
printf(" ");
}
for(intj = 1; j <= 2 * lay - 2 * (i - lay) - 1; j++)
{
if(5 * x + 2 * y + z == 50)
{
count++;
printf("%d :", count);
printf("x=%d,y=%d,z=%d", x, y, z);
printf("\n");
}
}
return 0;
}
2、把25个字母A、B、C、···、X、Y按如下要求打印出来:从最中间的字母M
voidmain(){
intlay;
printf("请输入要打印的层数(菱形的半边):");
//表示有多少层,层数由用户输入,图例中lay=4
scanf_s("%d", &lay);//vs2010以后版本scanf安全问题会报错。
//以下代码打印菱形的上半部
for(inti = 1; i <= lay; i++)
相关文档
最新文档