当前位置: 首页 > news >正文

翁恺老师C语言基础教程代码学习

1、随机数

#include <time.h>
#include <stdio.h>
int main()
{srand(time(0));int a = rand();printf("%d\n",a%100);return 0;
}

2、时间差

#include <stdio,h>
int main(){int hour1, minute1;int hour2, minute2;scanf("%d %d",&hour1,&minute1);scanf("%d %d", &hour2, &minute2);int t1 = hour1 * 60 + minute1;int t2 = hour2 * 60 + minute2;int t = t1 - t2;printf("时间差是%d小时%d分", t / 60, t % 60);return 0;
}

3、素数

3.1

while (1) {int x;scanf("%d", &x);int isPrime = 1;for (int i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {if (x != 1 && x!=0)printf("是素数\n");elseprintf("不是素数\n");}else {printf("不是素数\n");}
}

3.2

	int x;//scanf("%d", &x);for (x = 1; x <= 100; x++) {int i;int isPrime = 1;	//	x是素数for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d ",x);}/*else {printf("不是素数\n");}*/}

3.3

int x;
int cnt = 0;x = 1;
while (cnt < 50) {int i;int isPrime = 1;	//	x是素数for (i = 2; i < x; i++) {if (x % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {cnt++;printf("%d\t", x);if (cnt % 5 == 0) {printf("\n");}}x++;
}

4、for和goto语句

4.1 简单的for和break语句

int x;
int one, two, five;
int exit = 0;
scanf("%d",&x);
for (one = 1; one < x * 10; one++) {for (two = 1; two < x * 10 / 2; two++) {//2for (five = 1; five < x * 10 / 5; five++) {if (one + two * 2 + five * 5 == x * 10) {printf("可以用%d个角+%d个2角+%d个5角得到%d元\n", one, two, five, x);exit = 1;break;}}if (exit == 1)break;}if (exit == 1)break;
}

4.2 goto语句

int x;
int one, two, five;
scanf("%d", &x);
for (one = 1; one < x * 10; one++) {for (two = 1; two < x * 10 / 2; two++) {//2for (five = 1; five < x * 10 / 5; five++) {if (one + two * 2 + five * 5 == x * 10) {printf("可以用%d个角+%d个2角+%d个5角得到%d元\n", one, two, five, x);goto out;}}}
}
out:

5、求和

5.1

f(n) = 1+1/2+1/3+...+1/n

int n;
int i;
double ret = 0.0;
scanf("%d",&n);
for (i = 1; i <= n; i++) {ret += 1.0 / i;
}
printf("%f\n",ret);

5.2

f(n)=1-1/2+1/3-1/4+...+1/n

int n;
int i;
double ret = 0.0;
int sign = 1;
scanf("%d",&n);
for (i = 1; i <= n; i++) {ret += sign * 1.0 / i;sign = -sign;
}
printf("%f\n",ret);

6、其它(待整理)

/*int n;
scanf("%d", &n);
int fact = 1;
for (; n>1; n--)
fact *= n;
printf("fact=%d\n",fact);*/

    /****~~素数~~****/
//int x;
//scanf("%d", &x);

    //int i;
//int isPrime = 1;    //    x是素数
//for (i = 2; i < x; i++) {
//    if (x % i == 0) {
//        isPrime = 0;
//        break;
//    }
//}
//if (isPrime == 1) {
//    printf("是素数\n");
//}
//else {
//    printf("不是素数\n");
//}
/****~~素数~~****/
//int x;
//int cnt = 0;

    //x = 1;
//while (cnt < 50) {
//    int i;
//    int isPrime = 1;    //    x是素数
//    for (i = 2; i < x; i++) {
//        if (x % i == 0) {
//            isPrime = 0;
//            break;
//        }
//    }
//    if (x == 1) {
//        isPrime = 0;
//    }
//    if (isPrime == 1) {
//        cnt++;
//        printf("%d\t", x);
//        if (cnt % 5 == 0) {
//            printf("\n");
//        }
//    }
//    x++;
//}
/****~~整数分解~~****/
//int x;
///*scanf("%d", &x);*/
//x = 7000;
//int mask = 1;
//int t = x;
//while (t > 9) {
//    t /= 10;//700 70 7
//    mask *= 10;//10 100 1000
//}
//printf("x=%d,mask=%d\n",x,mask);

    //do {
//    int d = x / mask;//7
//    printf("%d", d);
//    if (mask > 9) {
//        printf(" ");//7 
//    }
//    x %= mask;//0 0 0 
//    mask /= 10;//100 10 1 0
//} while (mask > 0);
//printf("\n");

    /****~~给定条件的整数集~~****/
//int a;
//scanf("%d", &a);//a=2
//int i, j, k;
//int cnt = 0;
//i = a;
//while (i <= a + 3) {
//    j = a;
//    while (j <= a + 3) {
//        k = a;
//        while (k <= a + 3) {
//            if (i != j) {
//                if (i != k) {
//                    if (j != k) {
//                        cnt++;
//                        printf("%d%d%d",i,j,k);
//                        if (cnt == 6) {
//                            printf("\n");
//                            cnt = 0;
//                        }
//                        else
//                            printf(" ");
//                    }
//                }
//            }
//            k++;
//        }
//        j++;
//    }
//    i++;
//}

    /****~~水仙花数~~****/
//int n;
////scanf("%d",&n);
//n = 3;
//int first = 1;
//int i = 1;
//while (i < n) {
//    first *= 10;
//    i++;
//}
//printf("first=%d\n",first);
////遍历100-999
//i = first;
//while (i < first * 10) {
//    int t = i;
//    int sum = 0;
//    do {
//        int d = t % 10;
//        t /= 10;
//        int p = d;
//        int j = 1;
//        while (j < n) {
//            p *= d;
//            j++;
//        }
//        sum += p;
//    } while ( t>0 );
//    if (sum == i) {
//        printf("%d\n",i);
//    }
//    i++;
//}

    /****~~九九乘法表~~****/
/*int n;
scanf("%d", &n);
n = 9;
int i, j;
i = 1;
while (i <= n) {
j = 1;
while (j <= i) {
printf("%d*%d=%d",j,i,i*j);
if (i*j < 10) {
printf("   ");
}
else {
printf("  ");
}
j++;
}
printf("\n");
i++;
}*/

    /****~~统计素数求和~~****/
int m, n;
int i;
int cnt = 0;
int sum = 0;
scanf("%d %d",&m,&n);
if (m == 1) {
m = 2;
}
for (i = m; i < n; i++) {
int isPrime = 1;
int k;
for (k = 2; k < i - 1; k++) {
if (i % k == 0) {
isPrime = 0;
break;
}
}
//判断i是否是素数
if (isPrime) {
cnt++;
sum += i;
}
}
printf("%d %d\n", cnt, sum);

    /****~~猜数游戏~~****/
/*int number, n;
int inp = 0;
int finished = 0;
int cnt = 0;
scanf("%d %d", &number, &n);
do {
scanf("%d", inp);
cnt++;
if (inp < 0) {
printf("Game Over\n");
finished = 1;
}
else if (inp > number) {
printf("Top big\n");
}
else if (inp < number) {
printf("Too small\n");
}
else {
if (cnt == 1) {
printf("Bingo!\n");
}
else if (cnt <= 3) {
printf("Lucky You!\n");
}
else {
printf("Good Guess!\n");
}
finished = 1;
}
if (cnt == n) {
if (!finished) {
printf("Game Over\n");
finished = 1;
}
}
} while (!finished);*/
/****~~n项求和~~****/
//int n;
//double dividend, divisor;
//double sum = 0.0;
//int i;
//double t;
//scanf("%d", &n);
////n = 2000;
//dividend = 2;
//divisor = 1;
//for (i = 1; i <= n; i++) {
//    sum += dividend / divisor;
//    t = dividend;
//    dividend = dividend + divisor;
//    divisor = t;
//}
//printf("%f %f\n", dividend, divisor);
//printf("%.2f\n", sum);
/****~~约分最简分式~~****/
//int dividend, divisor;
//scanf("%d/%d", &dividend, &divisor);
//int a = dividend;
//int b = divisor;
//int t;
//while (b > 0) {
//    t = a % b;
//    a = b;
//    b = t;
//}
//printf("%d/%d\n", dividend / a, divisor / a);
/****~~念数字~~****/
/*int x;
scanf("%d", &x);
if (x < 0) {
printf("fu ");
x = -x;
}

    int mask = 1;
int t = x;
while (t > 9) {
t /= 10;
mask *= 10;
}

    do {
int d = x / mask;
switch (d) {
case 0:printf("ling"); break;
case 1:printf("yi"); break;
case 2:printf("er"); break;
case 3:printf("san"); break;
case 4:printf("si"); break;
case 5:printf("wu"); break;
case 6:printf("liu"); break;
case 7:printf("qi"); break;
case 8:printf("ba"); break;
case 9:printf("jiu"); break;
}
if (mask > 9)printf(" ");
x %= mask;
mask /= 10;
} while (mask > 0);
printf("\n");*/
/****~~求a的连续和~~****/
//int a, n;
//scanf("%d %d", &a, &n);
//int sum = 0;
//int i;
//int t = 0;
////0*10+2 2*10+2 (2*10+2)*10+2
//for (i = 0; i < n; i++) {
//    t = t * 10 + a;
//    sum += t;
//}
//printf("%d\n", sum);

http://www.dtcms.com/a/410774.html

相关文章:

  • 天津建设网站的公司哪家好云南昆明网站建设价格
  • 网站开发需求书中山网络推广公司
  • RPC在分布式存储系统中的应用
  • 交互式手机网站网站建设功能
  • 07.容器监控
  • 学做网站哪里学郑州一网网站建设
  • react中redux的使用详细说明
  • 解码Android 系统蓝牙音频全流程
  • 做网站的文案wordpress 标签 修改
  • 疑难bug之正确处理InterruptedException
  • 【学习日记】[SSM]
  • 告别Print: Python调试入门,用PDB高效找Bug
  • 解决跨浏览器兼容性问题:CSS Flexbox布局在IE中的错位BUG
  • LeetCode 0611.有效三角形的个数:双指针
  • js 网站校验网络营销推广的优势
  • 好的响应式网站注册域名免费永久
  • 无人机图传模块——让飞行视界无界限
  • Redis有序集合:高效排行榜实现方案
  • 专门做化妆的招聘网站新手要如何让网站被收录
  • Gli appunti di scienza dei dati[5]
  • 【mdBook】1 安装
  • 唐山网站建设费用廊坊市做网站的公司有哪些
  • AI大模型学习(16)AI大模型在电商行业的一些应用(淘宝的以图搜图技术)
  • 【日常学习】UI自动化自定义异常类
  • 个人项目开发经验总结:从实践中提炼的宝贵心得
  • Linux条件变量:pthread_cond_init、pthread_cond_wait等函数详解
  • HashMap的api使用详解
  • IS-IS核心解析:驱动现代网络的隐形力量
  • Unity地面震动的效果
  • Unity Shader变体管理最佳实践