有趣的C语言小程序

本文解析了一个C语言程序中嵌套使用printf函数的输出结果,并提供了一个趣味性的关机程序实例,演示如何通过用户输入来控制系统的关机行为。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        判断下面程序输出的内容:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
int main() 
{
     int i=43; 
      printf("%d\n",printf("%d",printf("%d",i)));
      system("pause");
      return 0;
 }

        这是一个很简单的程序,其中主要使用到C语言的printf输出,程序先执行最内部的printf,即就是以整数形式输出i的值,输出内容为43,然后执行外面紧挨着的printf,即就是输出43的位数2,同理再执行最外面的printf,输出2的位数为1,所以程序输出的最终结果为4321.


《逗你玩》

要求:

执行程序:

..倒数60秒关机.. 
显示"快说你是猪!不然就关机".. 
如果输入的是"我是猪"..那么就取消关机.. 

如果输入的不是"我是猪"..那么就不取消..

下面为具体的程序:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
         char write[100];
 
        system( "shutdown -s -t 60");      //关机命令,这个60是秒数,可根据情况设定.
 gt:
        printf( "快说你是猪!不然就关机!\n" );
        scanf( "%s", write);                
         if (strcmp(write, "我是猪" ) == 0)     //strcmp是字符串比较函数
        {
                printf( "哈哈,你是猪~\n" );
                system( "shutdown -a");
        }
        else
        {
                printf( "还不说是吧?不说就等关机!\n" );
                goto gt;         //goto语句,程序会跳转到带有gt标志的地方进行执行
        }
        return 0;
}



本文出自 “无心的执着” 博客,请务必保留此出处http://10740590.blog.51cto.com/10730590/1706033

### 一些有趣的 C语言 小程序 示例 以下是几个经典的、有趣的 C语言小程序示例,这些程序不仅能够帮助初学者理解 C语言 的基础知识,还能激发编程兴趣。 #### 示例一:打印 ASCII 表 此程序通过循环遍历并打印出所有的 ASCII 字符及其对应的数值。 ```c #include <stdio.h> int main() { int i; for (i = 0; i < 128; i++) { printf("%d: %c\n", i, i); } return 0; } ``` 这个程序展示了如何利用 `for` 循环以及字符和整型之间的转换来实现功能[^1]。 --- #### 示例二:判断输入的数字是奇数还是偶数 该程序允许用户输入一个整数,并判断其是否为偶数或奇数。 ```c #include <stdio.h> int main() { int num; printf("Enter a number: "); scanf("%d", &num); if (num % 2 == 0) { printf("%d is even.\n", num); } else { printf("%d is odd.\n", num); } return 0; } ``` 这段代码使用了条件语句 (`if...else`) 和模运算符 `%` 来完成逻辑判断[^2]。 --- #### 示例三:计算圆周率 π 的近似值 这是一个稍微复杂的例子,它通过级数展开的方式逐步逼近圆周率 π 的值。 ```c #include <stdio.h> int main() { double pi; float x; int n = 1; double t, s; printf("input x: "); scanf("%f", &x); s = 0; t = 1; while (t > 1e-6) { s += t; t = t * n / (2 * n + 1); n++; } pi = 2 * s; printf("Pi=%lf\n", pi); return 0; } ``` 这里运用了迭代法和浮点数精度控制技术,体现了 C语言 处理复杂算法的能力[^3]。 --- #### 示例四:猜数字游戏 在这个游戏中,计算机随机生成一个介于 1 到 100 之间的整数,玩家尝试猜测正确答案。每次猜测后,程序会提示用户的猜测偏大还是偏小。 ```c #include <stdio.h> #include <stdlib.h> #include <time.h> int main() { int secretNumber, guess, numberOfGuesses = 0; srand(time(0)); // 初始化随机种子 secretNumber = rand() % 100 + 1; // 随机生成 1 至 100 的整数 printf("Welcome to the Guessing Game!\n"); do { printf("Enter your guess: "); scanf("%d", &guess); numberOfGuesses++; if (guess > secretNumber) { printf("Too high! Try again.\n"); } else if (guess < secretNumber) { printf("Too low! Try again.\n"); } else { printf("Congratulations! You guessed it in %d attempts.\n", numberOfGuesses); } } while (guess != secretNumber); return 0; } ``` --- #### 示例五:斐波那契数列前 N 项 以下是一个简单的程序,用于输出指定数量的斐波那契数列项。 ```c #include <stdio.h> void fibonacci(int count) { long int first = 0, second = 1, next; printf("Fibonacci Series up to %d terms:\n", count); for (int i = 0; i < count; ++i) { if (i <= 1) next = i; else { next = first + second; first = second; second = next; } printf("%ld ", next); } } int main() { int n; printf("Enter how many Fibonacci numbers you want: "); scanf("%d", &n); fibonacci(n); return 0; } ``` ---
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值