- 博客(50)
- 收藏
- 关注
原创 找出10000以内的自然数中的所有完数,并统计找到的完数个数。所谓完数个数,指它恰好等于除它本身之外的因子之和
#include <stdio.h>int main(){ int i, j, count = 0, sum; for (i = 1; i <= 10000; i++) //穷举10000以内的每一个自然数 { sum = 0; //给求和累加器变量sum赋初值 for (j = 1; j < i; j++) //穷举i的所有可能因子...
2019-08-27 22:18:53
4136
原创 编写一个程序,输出所有水仙花数,并统计共有多少个水仙花数。所谓水仙花数是指一个3位数,其各位数字立方和等于该数本身。例如,153=1^3+5^3+3^3
#include <stdio.h>int main(){ int i, j, k, count = 0; //声明计数器变量 printf("找到的水仙花数有:\n"); //输出提示信息 for (i = 1; i <= 9; i++) //百位从1~9中枚举 for (j = 0; j <= 9; j++) //十位从0~9中...
2019-08-27 21:18:30
23863
原创 有0、1、2、3、4共5个数字,能组成多少个互不相同且无重复数字的3位数?并输出所有这些3位数(枚举法)
#include <stdio.h>int main(){ int i, j, k, count = 0; for (i = 1; i <= 4; i++) //百位从1`4枚举 for (j = 0; j <= 4; j++) //十位从0~4枚举 for (k = 0; k <= 4; k++) //个位从0~4枚举 ...
2019-08-27 20:14:43
3548
原创 输入20个学生的成绩,求平均成绩。要求控制成绩输入的正确性,即控制输入的成绩必须为0~100分
#include <stdio.h>#define N 20int main(){ int i, score, sum = 0, loop; for (i = 1; i <= 20; i++) //控制输入20个成绩 { printf("请输入第%d个学生的成绩:\n", i); loop = 1; while (loop) //通过循环...
2019-08-26 21:01:55
2480
原创 (数组法)输入一行字符,统计其中有多少个单词,单词之间用空格符分隔开(假设输入的一行字符中只有单词和空格)
#include <stdio.h>int main(){ char ch[81]; int i = 0, count = 0; printf("请输入一行字符:\n"); gets(ch); while (ch[i] != '\0') { if (ch[i] == ' ') for (i++; ch[i] == ' '; i++) //跳过所有空...
2019-08-25 21:52:42
2376
原创 输入一行字符,统计其中有多少个单词,单词之间用空格符分隔开(假设输入的一行字符中只有单词和空格)
解法:引进一个状态标志变量lastchar表示上一次处理字符的类型,1代表空格,0代表非空格(由于本题假设输入的一行字符中只有单词和空格,因此0即代表字母)。如果上一次处理的字符是空格,而本次处理的字符是字母,则该字母就是一个新单词的首字母。状态标志变量lastchar的赋值规则:如果遇到空格,则置lastchar = 1;如果遇到字母,则置lastchar = 0。#inc...
2019-08-25 21:19:34
4776
原创 (引用状态变量)输入两个正整数,用辗转相除法求出它们的最大公约数
#include <stdio.h>int main(){ int m, n, p, loop = 1; printf("请输入两个正整数:\n"); scanf("%d%d", &m, &n); while (loop) { p = m % n; if (p == 0) { loop = 0; } else { ...
2019-08-25 20:23:22
866
原创 输入两个正整数,用辗转相除法求出它们的最大公约数
分析:辗转相除法的思想是:设两个正整数m、n,求m除以n的余数,若余数p == 0,则最大公约数就是n;若余数p != 0,则将之前的分母也就是n作为分子,且将余数p作为分母,再次相除,直到p == 0。#include <stdio.h>int main(){ int x, y, p = 1; //p的初值只要是一个非0值即可,目的是先进入循...
2019-08-25 20:06:29
16599
1
原创 求1+(1+2)+(1+2+3)+...+(1+2+3+...+100
#include <stdio.h>int main(){ int i, k; //声明循环计数器变量 long sum = 0, sn; //声明两个求和累加器变量 for (i = 1; i <= 100; i++) //控制循环100次 { sn = 0; //...
2019-08-24 19:11:23
4362
5
原创 用if语句和goto语句构成循环来编写求1~100的自然数之和的程序
#include <stdio.h>int main(){ int i = 1, sum = 0;loop:if (i <= 100){ sum += i; i++; goto loop; //转向到语句标号为loop的语句继续执行,构成循环} printf("1~100的自然数之和为:%d\n", sum); return 0;}...
2019-08-24 17:48:55
3067
1
原创 (用continue)把大于100且小于150的不能被3整除的整数输出
#include <stdio.h>int main(){ int n, i = 0; printf("大于100且小于150的不能被3整除的整数有:\n"); for (n = 101; n < 150; n++) //穷举n的所有可能取值 { if (n % 3 == 0) //n被3整除,结束...
2019-08-23 21:32:00
613
原创 输入一个正整数,判断它是否为素数。要求使用break语句
分析:对于一个正整数m,可以采用试探法,判断每一个大于等于2且不大于sqrt(m)的自然数是否是m的一个因子,一旦找到了m的一个因子,则m就不是素数#include <stdio.h>#include <math.h>int main(){ int m, i, k; printf("请输入一个正整数:"); scanf("%d", &m);...
2019-08-23 21:00:26
14139
1
原创 用牛顿迭代法求方程2x^3-4x^2+3x-6=0在1.5附近的解,要求误差小于1e-5
分析:迭代法,先任意给定一个接近真实解的近似解x,并求出f(x),再过点(x,f(x))作f(x)的切线,交x轴于x1,它作为再一次的近似解,再算x1的函数值,再过点做切线交于x轴得x2...........以此类推,知道足够接近真实解(或两次近似解之间的误差足够小)为止。#include <stdio.h>#include <math.h>int ma...
2019-08-22 22:19:47
11117
原创 输入一个自然数,判断他是一个几位数,并要求逆序输出构成它的各位数字
#include <stdio.h>int main(){ int num; int count = 0; printf("请输入一个自然数:"); scanf("%d", &num); do { //从低位向高位,每循环一次分离整数num中的一位数字 printf...
2019-08-22 21:12:01
2730
原创 在美国NBA中,评价球员的实力通过两个指标:平均每场得分p,平均每场篮板球数r
//NBA球星评分#include <stdio.h>int main(){ double p, r; printf("请输入一个中锋球员平均每场得分p:\n"); scanf("%lf", &p); printf("请输入一个中锋球员平均每场篮板球数:\n"); scanf("%lf", &r); if (p >= 20 &&am...
2019-08-18 18:26:31
708
原创 (getchar)接上
#include <stdio.h>int main(){ char c; int count1 = 0, count2 = 0, count3 = 0; int i = 0; printf("请输入一行字符:\n"); while (i < 81) { scanf("%c", &c); i++; if (c > '0' &&...
2019-08-18 12:52:45
170
原创 (数组法)输入一行字符,分别统计其中包含的数字、字母和其他字符的个数
#include <stdio.h>int main(){ char ch[81]; int i, count1 = 0, count2 = 0, count3 = 0; printf("请输入一行字符:\n"); fgets(ch, 81, stdin); for (i = 0; i < 81; i++) { if (ch[i] == '\0' || ...
2019-08-17 22:35:47
6933
1
原创 输入20个学生的成绩,统计各分数段的人数。分数段为:90及90分以上,80~89分,70~79分,60~69分,60分以下
#include <stdio.h>int main(){ int stu[20]; //也可以不用数组 int i; int count1 = 0, count2 = 0, count3 = 0, count4 = 0, count5 = 0; printf("请输入20位学生的成绩:\n"); for (i = 0; i <...
2019-08-17 21:32:44
18922
9
原创 由键盘任意输入3个数,实现按降序输出此3个数
//由键盘任意输入3个数,实现按降序输出此3个数#include <stdio.h>int main(){ int x, y, z; int t; printf("请任意输入3个数:"); scanf("%1d%1d%1d", &x, &y, &z);//在%d之间加入1可以连续输入三个数字 if (x < y) { t = x...
2019-08-17 21:06:49
11883
原创 有一个函数,输入x的值,根据该函数计算y的值
#include <stdio.h>int main(){ int x, y; printf("请输入x的值:\n"); scanf("%d", &x); if (x < -5) y = -3 * x + 10; else if (x < 0) y = x; else if (x == 0) y = 0; else if (x &...
2019-08-17 00:21:09
8955
2
原创 判断从键盘输入字符c的种类
#include <stdio.h>int main(){ char c; printf("请输入一个字符:"); c = getchar(); if (c < 32) printf("控制字符\n"); else if (c >= 48 && c <= 57) printf("数字字符\n"); else if (c &...
2019-08-16 23:24:11
3643
原创 计算1~10所有数的平方和
//计算1~10所有数的平方和#include <stdio.h>int main(){ int i; int sum = 0; for (i = 1; i < 11; i++) sum += i * i; printf("%d\n", sum); return 0;}
2019-08-14 22:45:48
9438
原创 编写程序,根据用户输入的两位数,反向显示出该数中的数字。例如,用户输入48,那么程序输出84
//编写程序,根据用户输入的两位数,反向显示出该数中的数字。例如,用户输入48,那么程序输出84#include <stdio.h>int main(){ int a[2]; int i; int x; printf("请输入两位数:"); for (i = 0; i < 2; i++) scanf("%1d", &a[i]); ...
2019-08-14 22:13:08
2575
原创 输入天数,将其转换为周数和天数。 //例如,输入17,转换为2周3天,并输出。
//输入天数,将其转换为周数和天数。//例如,输入17,转换为2周3天,并输出。#include <stdio.h>int main(){ int sumDay, week, day; printf("请输入天数:"); scanf("%d", &sumDay); week = sumDay / 7; day = sumDay % 7; print...
2019-08-14 21:49:22
3056
原创 写一个程序,输入一个字符串,然后将其输出到一个文本文件中,格式是每个字符占一行
#include <stdio.h>#include <stdlib.h>int main(){ FILE * outfile; char ch[81]; int i; outfile = fopen("newChar.txt", "w"); if (outfile == NULL) { printf("无法创建文件!"); exit(0);...
2019-08-12 21:39:04
10916
原创 编写程序,读取文件的内容并在屏幕上显示出来
#include <stdio.h>#include <stdlib.h> //包含了库函数exit的声明int main(){ FILE * outfile; //创建一个文件指针 * outfile char ch; ...
2019-08-12 21:11:04
10143
1
原创 编写程序,输入一个字符串,如果不是空串,则照原样输出;如果是空串,则输出“空串” 例如,如果输入“hello”(不含引号),则输出“你输入的是:hello”;如果什么都没有输入,则输出空串
/*编写程序,输入一个字符串,如果不是空串,则照原样输出;如果是空串,则输出“空串” 例如,如果输入“hello”(不含引号),则输出“你输入的是:hello”;如果什么都没有输入,则输出“你输入的是空串!”*/#include <stdio.h>int main(){ char ch[81]; printf("请输入一个字符串:\n"); fgets(ch, 81...
2019-08-12 20:13:05
1803
1
原创 编写一个程序,输入一个字符串,分别统计并输出其中大写字母(A~Z)和小写字母(a~z)出现的次数
#include <stdio.h>int main(){ char ch[81]; int upperCount = 0, lowerCount = 0; int i; printf("请输入一个字符串:\n"); fgets(ch, 81, stdin); for (i = 0; ch[i] != '\0'; i++) { if (ch[i] >=...
2019-08-12 19:41:10
24591
原创 编写一个程序,输入一个字符串,输出其中ASCII码中最大的字符
#include <stdio.h>int main(){ char ch[81]; char max; int i; printf("请输入一个字符串:\n"); fgets(ch, 81, stdin); max = ch[0]; for (i = 1; ch[i] != '\0'; i++) if (ch[i] > max) max = c...
2019-08-12 19:26:06
15712
原创 编写程序,输入一个数字序列,输出相邻两个数之间的差值
#include <stdio.h>int main(){ int a[5]; int b[5]; int i, j = 0; for (i = 0; i < 5 ; i++) scanf("%d", &a[i]); for (i = 1; i < 5; i++) { { b[j] = a[i] - a[i - 1]; p...
2019-08-10 23:24:36
2881
1
原创 写一个程序,首先向数组中输入10个得分,然后去掉一个最高分,去掉一个最低分,计算剩下的平均分,并输出
#include <stdio.h>int main(){ float score[10]; float maxScore, minScore, avgScore, sumScore; int i; sumScore = 0; printf("请依次输入十个分数:\n"); for (i = 0; i < 10; i++) scanf("%f", &...
2019-08-10 21:18:51
8526
原创 输入学生成绩信息,保存到文件
#include <stdio.h>#include <stdlib.h> //包含了库函数 exit 的声明#define N 5int main(){ char stuid[10], name[20]; float score; FILE * outfile; int i; outfile ...
2019-08-06 18:02:19
3481
原创 输入多行字符,统计输入的行数
//输入多行字符,统计输入的行数#include <stdio.h>int main(){ char s[81]; int count = 0; //输入的每一行字符的长度(含回车符)不能超过80个字符 while (fgets(s, 81, stdin) != NULL) //按下 CTRL + Z 组合键借宿...
2019-08-05 21:39:34
1442
原创 求一行字符串的长度
//求一行字符串的长度#include <stdio.h>int main(){ int i = 0; char s[81]; gets(s); while (s[i] != '\0') i++; printf("字符串长度为:%d\n", i); return 0;}
2019-08-02 20:33:50
545
1
原创 某次考试有10个学生的成绩,利用数组找出其中的最高成绩和最低成绩
//某次考试有10个学生的成绩,找出其中的最高成绩和最低成绩#include <stdio.h>#define N 10int main(){ float scores[N]; int i; float maxs, mins; for (i = 0; i < N; i++) //通过一个循环给所有的数组元素输入值 scan...
2019-08-02 19:44:58
5635
1
原创 将输入的一行字符中的大写字符改为小写字符
//将输入的一行字符中的大写字符改为小写字符#include <stdio.h>int main(){ char c; while ((c = getchar()) != '/n') { if (c >= 'A' && c <= 'Z') c += 32; putchar(c); } return 0;}...
2019-07-28 23:17:49
3453
原创 统计输入的若干行字符中包含的字符(不包括结束输入的控制符ctrl+z)、大写字母和小写字母个数
//统计输入的若干行字符中包含的字符(不包括结束输入的控制符ctrl+z)、大写字母和小写字母个数#include <stdio.h>int main(){ char c; int count = 0, lower = 0, upper = 0; while ((c = getchar()) != EOF) { count++; if (c >= 'A' ...
2019-07-28 23:04:07
979
原创 连续输入一行字符和连续输入多行字符
#include <stdio.h>int main(){ char c; c = getchar();// printf("%c", c); while (c != EOF) //可输入多行字符 且输入完毕后按ctrl+z结束// while (c != '\n') 输入单行字符 { printf("%c", c); c = getchar();...
2019-07-28 22:23:08
1878
原创 字符输入问题
/*在输入一个字符时要特别注意;从输入缓冲区中读到的任何字符,包括回车符,都会被接受 但在标准输入设备(键盘)输入数据时,只有按下回车键后用户的输入才能够进入输入缓冲区 因此这个回车键需要利用getchar()函数将它吸收*/#include <stdio.h>int main(){ char c1, c2; printf("请输入一个字母:"); c1 = ...
2019-07-28 21:08:47
252
原创 //用getchar()和scanf()函数实现字符的输入
//用getchar()和scanf()函数实现字符的输入#include <stdio.h>int main(){ char c1, c2; c1 = getchar(); scanf("%c", &c2); putchar(c1); putchar(c2); return 0;
2019-07-28 18:47:09
302
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人