1. # 判断数是否为质数
-
int main() { int m = 0; scanf("%d",&m); int Q = 0; for (Q = 2; Q < m; Q++) { if (m % Q == 0) break; } if(m%Q != 0) printf("%d是质数\n",m); return 0; }
一些小的需要注意的点
第一个
int main()
{
int a = 0,b = 0;
scanf("%d %d" ,&a,&b);
printf("%d",2.0*a*b);//这里强制转换不了,其他情况要实践了才知道(所以这里a输入1,b输入2,得出结果是0)
return 0 ;
}
第二个
switch语句的巧用
case1:
case3:
a=b;
再break的话 case2和case3的情况都是a=b
while(i<100);这里这个分号是错的,这样语句不会结束,会一直进行,把这个分号去了就行
i++;
int count_bit_one(unsigned int n)//这样可以让n比如等于负1时也可以输出他的二进制位中有多少个1
{
int count =0;
while(n)
{
if ((n%2) ==1)
count++
n = n/2;
}
return count;
}
#include<stdio.h>
int main()
{
int num = 0;
scanf("%d",&num);
int ret = count_bit_one(num);
printf("%d\n",ret);
return 0;
}
for (i = 1; i<5;i++) M
{ scanf("%d",&n);
if(n<0)
continue; 这里只会跳一次循环,跳到M(不会重新初始化i)去
printf("n = %d\n",n);
}
if()
break;//这也算一条语句
//递归函数定义举例
double Fact(int n)
int F(int h)
{ F(1) = 1; F(2) = 1;
if (h >= 3)
F(h) = F(h - 1) + F(h - 2);
return F(h);}(自定义函数定义举例)
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
void DrawTriangle(int n, char c);
int main()
{
int N = 0;
char C = 0;
DrawTriangle(5, '*');
printf("\n");
DrawTriangle(10, '#');\\注意这里要打‘’
return 0;
}
void DrawTriangle(int n, char c)
{
int k = n;
do
{
int i = 0;
for (i =1; i <=n ; i++)
{
printf(" ");
}
for (i = n; i <= k; i++)
{
printf("%c ",c);
}
n--;
printf("\n");
} while (n >= 1);
}
float sum =0,average;//对sum初始化为0,对average定义
打碎花瓶题
编写程序exp5_6.c,请判断花瓶是谁打碎的。教师花瓶碎了,班级只有四个小同学,老师询问小同学,已知是其中1人打碎的,还知道4人中每个人要么是诚实的,要么总是说谎的。 小同学回答老师的问题是: 甲说:“乙没有打碎,是丁打碎的。” 乙说:“我没有打碎,是丙打碎的。” 丙说:“甲没有打碎,是乙打碎的。” 丁说:“我没有打碎。” 根据四人回答判断谁打碎了花瓶。
#include <stdio.h>
int main() {
int a, b, c, d; // 四个小朋友是否说谎(1表示说谎,0表示诚实)
int A = 0, B = 0, C = 0, D = 0; // 四个小朋友是否打碎花瓶(1表示打碎,0表示没打碎)
for (a = 0; a < 2; a++) {
for (b = 0; b < 2; b++) {
for (c = 0; c < 2; c++) {
for (d = 0; d < 2; d++) {
// 根据小朋友的诚实情况,确定谁打碎了花瓶
if (d == 0) {
D = 0;
}
else {
D = 1;
}
if (c == 0) {
A = 0;
B = 1;
}
else {
A = 1;
B = 0;
}
if (b == 0) { //但是这个程序没有检查ABCD被重复赋值问题,自己写时要加上
B = 0;
C = 1;
}
else {
B = 1;
C = 0;
}
if (a == 0) {
B = 0;
D = 1;
}
else {
B = 1;
D = 0;
}
// 如果没有矛盾,检查是否只有一个人打碎了花瓶
if (A + B + C + D == 1) {
printf("打碎花瓶的是:");
if (A == 1)
printf("甲\n");
else if (B == 1)
printf("乙\n");
else if (C == 1)
printf("丙\n");
else if (D == 1)
printf("丁\n");
}
}
}
}
}
printf("无正确答案\n");
return 0;
}