![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言编程题
PTA编程题
JYAyyyyyyy
这个作者很懒,什么都没留下…
展开
-
习题9-5 通讯录排序 (20分)
习题9-5 通讯录排序 (20分)代码:#include <stdio.h>#include <stdlib.h>struct friends { char name[11]; int birth; char number[18];} Friends[10];int main(){ int i = 0, j = 0, z = 0, n = 0; scanf("%d", &n); for (i = 0; i < n; i++) scanf("%原创 2020-08-02 10:07:53 · 376 阅读 · 0 评论 -
习题9-4 查找书籍 (20分)
习题9-4 查找书籍 (20分)代码:#include <stdio.h>#include <string.h>int main(){ int n = 0, i = 0; double min = 0, max = 0; char minName[31], maxName[31]; scanf("%d\n", &n); for (i = 0; i < n; i++) { char name[31]; double price = 0;原创 2020-08-02 09:22:11 · 1155 阅读 · 3 评论 -
习题9-3 平面向量加法 (15分)
习题9-3 平面向量加法 (15分)代码:#include <stdio.h>#include <math.h>int main(){ double x1 = 0, y1 = 0, x2 = 0, y2 = 0; scanf("%lf %lf %lf %lf", &x1, &y1, &x2, &y2); double x = x1 + x2; double y = y1 + y2; if (fabs(x) < 0.05) x原创 2020-08-02 09:08:12 · 265 阅读 · 0 评论 -
习题9-1 时间换算 (15分)
习题9-1 时间换算 (15分)代码:#include <stdio.h>int main(){ char time[9]; int i = 0, hh = 0, mm = 0, ss = 0, n = 0; gets(time); scanf("%d", &n); for (i = 0; i < 2; i++) hh = hh * 10 + (time[i] - '0'); for (i = 3; i < 5; i++) mm = mm * 10 +原创 2020-08-02 08:53:58 · 250 阅读 · 0 评论 -
习题8-10 输出学生成绩 (20分)
习题8-10 输出学生成绩 (20分)代码:#include <stdio.h>int main(){ int n = 0, i = 0; double score = 0, min = 0, max = 0, sum = 0; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%lf", &score); if (i == 0) { min = score; max = score;原创 2020-08-02 08:44:42 · 354 阅读 · 0 评论 -
习题7-8 字符串转换成十进制整数 (15分)
习题7-8 字符串转换成十进制整数 (15分)代码:#include <stdio.h>int main(){ int sum = 0, sign = 1, flag = 0; char cha; cha = getchar(); while (cha != '#') { if (cha >= '0' && cha <= '9') { sum = sum * 16 + (cha - '0'); flag = 1; } else原创 2020-08-01 10:13:39 · 342 阅读 · 0 评论 -
习题7-7 字符串替换 (15分)
习题7-7 字符串替换 (15分)代码:#include <stdio.h>int main(){ char reg[26] = {'Z', 'Y', 'X', 'W', 'V', 'U', 'T', 'S', 'R', 'Q', 'P', 'O', 'N', 'M', 'L', 'K', 'J', 'I', 'H', 'G', 'F', 'E', 'D', 'C', 'B', 'A'}; char str[81]; int i = 0; gets(str); for (i原创 2020-08-01 09:48:52 · 380 阅读 · 0 评论 -
习题7-6 统计大写辅音字母 (15分)
习题7-6 统计大写辅音字母 (15分)代码:#include <stdio.h>int main(){ char str[81]; int i = 0, count = 0; gets(str); for (i = 0; str[i] != '\0'; i++) { if (str[i] >= 'A' && str[i] <= 'Z') { if (str[i] != 'A' && str[i] != 'E' &原创 2020-08-01 09:37:09 · 314 阅读 · 0 评论 -
习题7-5 找鞍点 (20分)
习题7-5 找鞍点 (20分)代码:#include <stdio.h>int main(){ int n = 0, i = 0, j = 0; scanf("%d", &n); int nums[n][n]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) scanf("%d", &nums[i][j]); } for (i = 0; i < n; i++) { for (原创 2020-08-01 09:30:58 · 138 阅读 · 0 评论 -
习题7-4 求矩阵各行元素之和 (15分)
习题7-4 求矩阵各行元素之和 (15分)代码:#include <stdio.h>int main(){ int m = 0, n = 0, i = 0, j = 0; scanf("%d %d", &m, &n); int nums[m][n]; for (i = 0; i < m; i++) { int sum = 0; for (j = 0; j < n; j++) { scanf("%d", &nums[i][j原创 2020-08-01 09:16:54 · 153 阅读 · 0 评论 -
习题7-3 判断上三角矩阵 (15分)
习题7-3 判断上三角矩阵 (15分)代码:#include <stdio.h>int main(){ int t = 0, n = 0, i = 0, j = 0, z = 0, flag = 0; scanf("%d\n", &t); for (i = 0; i < t; i++) { scanf("%d", &n); int nums[n][n]; flag = 0; for (j = 0; j < n;原创 2020-08-01 09:11:37 · 174 阅读 · 0 评论 -
习题7-2 求一批整数中出现最多的个位数字 (20分)
习题7-2 求一批整数中出现最多的个位数字 (20分)代码:#include <stdio.h>int main(){ int count[10], n = 0, num = 0, i = 0; scanf("%d", &n); for (i = 0; i < 10; i++) count[i] = 0; for(i = 0; i < n; i++) { scanf("%d", &num); while (num > 0) {原创 2020-07-31 17:15:14 · 186 阅读 · 0 评论 -
习题7-1 选择法排序 (20分)
习题7-1 选择法排序 (20分)代码:#include <stdio.h>int main(){ int n = 0; scanf("%d", &n); int nums[n], i = 0, j = 0; for (i = 0; i < n; i++) scanf("%d", &nums[i]); for (i = 0; i < n - 1; i++) { for (j = i + 1; j < n; j++) { if原创 2020-07-31 17:03:01 · 153 阅读 · 0 评论 -
练习7-10 查找指定字符 (15分)
练习7-10 查找指定字符 (15分)代码:#include <stdio.h>#include <string.h>int main(){ char c, str[81]; scanf("%c", &c); getchar(); gets(str); int i = 0, index = -1, length = strlen(str); for (i = 0; i < length; i++) { if (str[i] == c) in原创 2020-07-31 16:56:27 · 120 阅读 · 0 评论 -
练习7-11 字符串逆序 (15分)
练习7-11 字符串逆序 (15分)代码:#include <stdio.h>int main(){ char string[81]; gets(string); int i = 0, length = 0; while (string[i] != '\0') { length++; i++; } for (i = length - 1; i >= 0; i--) printf("%c", string[i]); return 0;}...原创 2020-07-31 16:54:59 · 219 阅读 · 0 评论 -
练习7-9 计算天数 (15分)
练习7-9 计算天数 (15分)代码:#include <stdio.h>int main(){ char date[10]; scanf("%s", &date); int totalDay = 0; int i = 0, year = 0, month = 0, day = 0; for (i = 0; i < 4; i++) year = year * 10 + (date[i] - '0'); for (i = 5; i < 7; i++) mo原创 2020-07-31 16:15:37 · 228 阅读 · 0 评论 -
练习7-8 方阵循环右移 (20分)
练习7-8 方阵循环右移 (20分)代码:#include <stdio.h>#include <math.h>int main(){ int m = 0, n = 0; scanf("%d %d", &m, &n); int nums[n][n], i = 0, j = 0; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) scanf("%d", &nums[i][j]原创 2020-07-30 10:39:47 · 452 阅读 · 1 评论 -
练习7-7 矩阵运算 (20分)
练习7-7 矩阵运算 (20分)代码:#include <stdio.h>int main(){ int n = 0, i = 0, j = 0; scanf("%d", &n); int nums[n][n]; for (i = 0; i < n; i++) { for (j = 0; j < n; j++) scanf("%d", &nums[i][j]); } int sum = 0; for (i = 0; i < n -1原创 2020-07-30 10:14:12 · 142 阅读 · 0 评论 -
练习7-4 找出不是两个数组共有的元素 (20分)
练习7-4 找出不是两个数组共有的元素 (20分)代码:#include <stdio.h>int main(){ int n = 0, m = 0; scanf("%d", &n); int nums1[n], i = 0; for (i = 0; i < n; i++) scanf("%d", &nums1[i]); scanf("%d", &m); int nums2[m], j = 0; for (i = 0; i < m; i原创 2020-07-30 09:48:27 · 243 阅读 · 0 评论 -
练习7-3 将数组中的数逆序存放 (20分)
练习7-3 将数组中的数逆序存放 (20分)代码:#include <stdio.h>int main(){ int n = 0; scanf("%d", &n); int nums[n], i = 0; for (i = 0; i < n; i++) scanf("%d", &nums[i]); for (i = n - 1; i > 0; i--) printf("%d ", nums[i]); printf("%d", nums[0]);原创 2020-07-30 09:30:26 · 1008 阅读 · 0 评论 -
练习7-2 求最大值及其下标 (20分)
练习7-2 求最大值及其下标 (20分)代码:#include <stdio.h>int main(){ int n = 0, i = 0, max = 0, index = 0, a; scanf("%d", &n); for (i = 0; i < n; i++) { scanf("%d", &a); if (i == 0) max = a; if (max < a) { max = a; index = i; }原创 2020-07-30 09:25:38 · 178 阅读 · 0 评论 -
习题6-7 简单计算器 (20分)
习题6-7 简单计算器 (20分)代码:#include <stdio.h>int main(){ char regular[1024]; scanf("%s", ®ular); int i = 0, sum = 0, num = 0; char reg; while (regular[i] >= '0' && regular[i] <= '9') { sum = sum * 10 + (regular[i] - '0');原创 2020-07-29 17:13:39 · 107 阅读 · 0 评论 -
习题6-8 统计一行文本的单词个数 (15分)
习题6-8 统计一行文本的单词个数 (15分)代码:#include <stdio.h>int main(){ char s[1024]; gets(s); int i = 0, count = 0; while (s[i] == ' ') i++; for (; s[i] != '\0';i++) { if (s[i] == ' ' && s[i - 1] != ' ') count++; } if (s[i - 1] != ' ') count+原创 2020-07-29 11:46:57 · 105 阅读 · 0 评论 -
习题4-10 猴子吃桃问题 (15分)
习题4-10 猴子吃桃问题 (15分)代码:#include <stdio.h>int main(){ int sum = 1, i = 0, n = 0; scanf("%d", &n); for (i = 1; i < n; i++) { sum = (sum + 1) * 2; } printf("%d", sum); return 0;}原创 2020-07-29 11:11:25 · 183 阅读 · 0 评论 -
习题4-9 打印菱形图案 (15分)
习题4-9 打印菱形图案 (15分)代码:#include <stdio.h>#include <math.h>int main(){ int n = 0, i = 0, j = 0; scanf("%d", &n); for (i = 0; i < n; i++) { for (j = 0; j < fabs(n / 2 - i); j++) printf(" "); if (i < n / 2 + 1){ for (j原创 2020-07-29 11:07:03 · 269 阅读 · 0 评论 -
习题4-8 高空坠球 (20分)
习题4-8 高空坠球 (20分)代码:#include <stdio.h>#include <math.h>int main(){ int n = 0, i = 0; double height = 0; scanf("%lf %d", &height, &n); double heightTotal = height; if (n == 0) { heightTotal = 0; height = 0; } for (i = 1;原创 2020-07-29 10:39:09 · 464 阅读 · 0 评论 -
习题4-7 最大公约数和最小公倍数 (15分)
习题4-7 最大公约数和最小公倍数 (15分)代码:#include <stdio.h>int main(){ int m = 0, n = 0; scanf("%d %d", &m, &n); int min = m, i = 0, max = 0; if (min > n) min = n; for (i = min; i >= 0; i--) { if (m % i == 0 && n % i == 0) { max原创 2020-07-28 20:22:45 · 110 阅读 · 0 评论 -
习题4-6 水仙花数 (20分)
习题4-6 水仙花数 (20分)代码:#include <stdio.h>#include <math.h>int main(){ int n = 0, i = 0; scanf("%d", &n); for (i = pow(10, n-1); i < pow(10, n); i++) { int sum = 0, num = i; while (num > 0) { int number = 1, j = 0; for原创 2020-07-28 20:16:28 · 171 阅读 · 0 评论 -
习题4-5 换硬币 (20分)
习题4-5 换硬币 (20分)代码:#include <stdio.h>int main(){ int money = 0, i = 0, j = 0, count = 0; scanf("%d", &money); for (i = money / 5; i >= 1; i--) { for (j = (money - 5 * i) / 2; j >= 1; j--) { if ( money - 5 * i - 2 * j >= 1)原创 2020-07-28 19:46:40 · 140 阅读 · 0 评论 -
习题4-4 特殊a串数列求和 (20分)
习题4-4 特殊a串数列求和 (20分)代码:#include <stdio.h>int main(){ int a = 0, n = 0, i = 0, num = 0, sum = 0; scanf("%d %d", &a, &n); for (i = 0; i < n; i++) { num = num*10 + a; sum += num; } printf("s = %d", sum); return 0;}...原创 2020-07-28 19:33:46 · 162 阅读 · 0 评论 -
习题4-3 求分数序列前N项和 (15分)
习题4-3 求分数序列前N项和 (15分)代码:#include <stdio.h>int main(){ int n = 0, i = 0; double sum = 0, up = 2, down = 1; scanf("%d", &n); for (i = 0; i < n; i++) { sum += up / down; double mid = up; up += down; down = mid; } printf("%.2lf"原创 2020-07-28 19:29:20 · 243 阅读 · 0 评论 -
习题4-2 求幂级数展开的部分和 (20分)
习题4-2 求幂级数展开的部分和 (20分)已知函数ex可以展开为幂级数1+x+x2/2!+x3/3!+⋯+xk/k!+⋯。现给定一个实数x,要求利用此幂级数部分和求ex的近似值,求和一直继续到最后一项的绝对值小于0.00001。输入格式:输入在一行中给出一个实数x∈[0,5]。输出格式:在一行中输出满足条件的幂级数部分和,保留小数点后四位。输入样例:1.2输出样例:3.3201代码:#include <stdio.h>#includ原创 2020-07-27 16:23:17 · 207 阅读 · 0 评论 -
习题4-1 求奇数和 (15分)
习题4-1 求奇数和 (15分)本题要求计算给定的一系列正整数中奇数的和。输入格式:输入在一行中给出一系列正整数,其间以空格分隔。当读到零或负整数时,表示输入结束,该数字不要处理。输出格式:在一行中输出正整数序列中奇数的和。输入样例:8 7 4 3 70 5 6 101 -1输出样例:116代码:#include <stdio.h>int main(){ int n = 0, sum = 0; scanf("%d", &n); while (n &原创 2020-07-27 11:50:45 · 208 阅读 · 1 评论 -
练习4-11 统计素数并求和 (20分)
练习4-11 统计素数并求和 (20分)本题要求统计给定整数M和N区间内素数的个数并对它们求和。输入格式:输入在一行中给出两个正整数M和N(1≤M≤N≤500)。输出格式:在一行中顺序输出M和N区间内素数的个数以及它们的和,数字间以空格分隔。输入样例:10 31输出样例:7 143代码:#include <stdio.h>int main(){ int m = 0, n = 0, i = 0, count = 0, sum = 0; scanf("%d %d原创 2020-07-27 11:46:55 · 86 阅读 · 0 评论 -
练习4-10 找出最小值 (20分)
练习4-10 找出最小值 (20分)本题要求编写程序,找出给定一系列整数中的最小值。输入格式:输入在一行中首先给出一个正整数n,之后是n个整数,其间以空格分隔。输出格式:在一行中按照“min = 最小值”的格式输出n个整数中的最小值。输入样例:4 -2 -123 100 0输出样例:min = -123代码:#include <stdio.h>int main(){ int n = 0; scanf("%d", &n); int nums[n],原创 2020-07-27 11:26:57 · 202 阅读 · 0 评论 -
练习4-7 求e的近似值 (15分)
练习4-7 求e的近似值 (15分)自然常数 e 可以用级数 1+1/1!+1/2!+⋯+1/n!+⋯ 来近似计算。本题要求对给定的非负整数 n,求该级数的前 n+1 项和。输入格式:输入第一行中给出非负整数 n(≤1000)。输出格式:在一行中输出部分和的值,保留小数点后八位。输入样例:10输出样例:2.71828180代码:#include <stdio.h>int main(){ int n = 0, i = 0; scanf("%d", &n原创 2020-07-27 11:22:20 · 147 阅读 · 0 评论 -
练习4-6 猜数字游戏 (15分)
练习4-6 猜数字游戏 (15分)猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到原创 2020-07-27 11:13:38 · 267 阅读 · 0 评论 -
练习4-3 求给定精度的简单交错序列部分和 (15分)
练习4-3 求给定精度的简单交错序列部分和 (15分)本题要求编写程序,计算序列部分和 1 - 1/4 + 1/7 - 1/10 + … 直到最后一项的绝对值不大于给定精度eps。输入格式:输入在一行中给出一个正实数eps。输出格式:在一行中按照“sum = S”的格式输出部分和的值S,精确到小数点后六位。题目保证计算结果不超过双精度范围。输入样例1:4E-2输出样例1:sum = 0.854457输入样例2:0.02输出样例2:sum = 0.826310代码:#in原创 2020-07-27 10:57:54 · 250 阅读 · 0 评论 -
习题3-5 三角形判断 (15分)
习题3-5 三角形判断 (15分)给定平面上任意三个点的坐标(x1,y1)、(x2,y2)、(x3,y3),检验它们能否构成三角形。输入格式:输入在一行中顺序给出六个[−100,100][-100,100][−100,100]范围内的数字,即三个点的坐标 x1、y1、x2、y2、x3、y3。输出格式:若这3个点不能构成三角形,则在一行中输出“Impossible”;若可以,则在一行中输出该三角形的周长和面积,格式为“L = 周长, A =面积”,输出到小数点后2位原创 2020-07-27 10:31:44 · 281 阅读 · 0 评论 -
习题3-4 统计学生成绩 (15分)
习题3-4 统计学生成绩 (15分)本题要求编写程序读入N个学生的百分制成绩,统计五分制成绩的分布。百分制成绩到五分制成绩的转换规则:大于等于90分为A;小于90且大于等于80为B;小于80且大于等于70为C;小于70且大于等于60为D;小于60为E。输入格式:输入在第一行中给出一个正整数N(≤1000),即学生人数;第二行中给出N个学生的百分制成绩,其间以空格分隔。输出格式:在一行中输出A、B、C、D、E对应的五分制成绩的人数分布,数字间以空格分隔,行末不得有多余空格。输入样原创 2020-07-27 10:09:02 · 345 阅读 · 0 评论