#define _CRT_SECURE_NO_WARNINGS 1 #define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <stdlib.h> #include <time.h> 猜数字游戏代码//用户输入数字,根据产生的数来作比较; void menu()//菜单函数 { printf("****************************\n"); printf("***1->start 0->exit********\n"); printf("****************************\n"); } void game()//数字游戏的实现函数 { 首先要产生随机数 int ret = rand() % 100 + 1;//产生1-100的随机数 int guess = 0; while (guess != ret) { printf("请输入猜的数字"); scanf("%d", &guess); if (guess > ret) printf("猜大了!\n"); else if (guess < ret) printf("猜小了!\n"); else { printf("猜对了!\n"); break; } } } int main() { srand(time(NULL));//设置时间戳 先打印游戏菜单 int input = 0; do { menu(); 让用户选择是否进行游戏 printf("请选择0/1:"); scanf("%d", &input); switch (input) { case 1: game(); break; case 0: printf("再见"); break; default: printf("输入错误,重新输入"); break; } } while (input); return 0; } 求四个数的最大值 #include <stdio.h> int MAX(int arr[4], int n) { int max = arr[0]; int k; for (k = 0; k < 4; k++) { if (arr[k] > max) { max = arr[k]; } } return max; } int main() { int arr[4]; int i; for (i = 0; i < 4; i++) { scanf("%d", &arr[i]);//获取输入的四个数字 } int max = MAX(arr, 4); printf("%d", max); return 0; } #include <stdio.h> 判断是否是字字母 int main() { char input;//先定义一个字符 实现多组输入 while (scanf("%c", &input) == 1)//scanf返回的值是读取到的字符个数 { if (input >= 'A' && input <= 'z') { printf("%c is an alphabet.\n", input); } else { printf("%c is not an alphabet.\n", input); } while (getchar() != '\n');//多组输入时,要注意清空缓存区 } return 0; } 买衣服游戏 #include <stdio.h> int main() { 先定义所需要的变量 float price; int month, day; int ch; scanf("%f%d%d%d", &price, &month, &day, &ch); if (11 == day) { switch (ch) { case 1: price = (price * 0.7 - 50);//有优惠券打折-50; break;//switch 语句中,在每一条语句之后一定要添加break;若不添加,则会执行剩下的代码; case 0: price = price * 0.7;//无优惠券只打折 break; } } else if (12 == day) { switch (ch) { case 1: price = (price * 0.8 - 50); break; case 0: price = price * 0.8; break; } } if (0 >= price)//要考虑price 有可能为负数(但是不符合生活实际啊) printf("0.00"); else if (0 < price) printf("%.2f", price); return 0; } #include <stdio.h> 求和计算 int main() { int n; scanf("%d", &n);//获取要求和n 存放求和结果 long int sum = 0;//要定义一个长整型 int i; for (i = 1; i < n + 1; i++) { sum += i; } printf("%ld", sum); return 0; } 有容乃大 #include <stdio.h> int main() { int sz1 = sizeof(short); int sz2 = sizeof(int); int sz3 = sizeof(long); int sz4 = sizeof(long long); printf("The size of short is %d bytes.\n", sz1); printf("The size of int is %d bytes.\n", sz2); printf("The size of long is %d bytes.\n", sz3); printf("The size of long long is %d bytes.\n", sz4); return 0; } 十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。 #include <stdio.h> int main() { int i = 1234; printf("%#o %#X", i, i); return 0; } 十六进制整数ABCDEF对应的十进制整数,所占域宽为15。 int main() { printf("%15d\n", 0XABCDEF);//0X是十六进制的前导数 代表你输入的数字是16进制 //八进制前导0; printf("%#o",0xABCDEF);//将一个十六进制的数字转化为八进制 return 0; } int main() { int score1, score2, score3; scanf("%d %d %d", &score1, &score2, &score3); printf("score1=%d,", score1); printf("score2=%d,", score2); printf("score3=%d", score3); return 0; } 输入学号,三科成绩,成绩保留两位小数 其实也可以尝试用一下结构体来写。 #include <stdio.h> int main() { struct student { int num; float c_score; float m_score; float e_score; }stu; scanf("%d;%f,%f,%f", &stu.num, &stu.c_score, &stu.m_score, &stu.e_score); printf("The each subject score of No. %d is %.2f, %.2f, %.2f.", stu.num, stu.c_score, stu.m_score, stu.e_score); return 0;//.操作符访问结构体变量 }