c语言的一些题目
Chauncey_Jheng
君子终日乾乾,反复道也。
展开
-
递归法在求级数中应用的例题
编程计算 a+aa+aaa+…+aa…a(n个a)的值,n和a的值由键盘输入。例如,当n=4,a=2,表示计算2+22+222+2222的值。#include<stdio.h>int fun(int a, int n);int main(){ int a, n; printf("Input a,n:\n"); scanf("%d,%d", &a, &n); printf("sum=%ld\n", fun(a , n)); return 0;}int f原创 2020-06-03 17:57:19 · 744 阅读 · 0 评论 -
控制输入合法数据的例题
下面代码的功能是将百分制成绩转换为5分制成绩,具体功能是:如果用户输入的是非法字符或者不在合理区间内的数据(例如输入的是a,或者102,或-45等),则程序输出 Input error!,并允许用户重新输入,直到输入合法数据为止,并将其转换为5分制输出。#include<stdio.h> int main() { int score=-1, flag; char grade; do{ flag = 0; pr原创 2020-06-03 17:36:56 · 377 阅读 · 0 评论 -
利用泰勒展开式实现sin(x),cos(x)函数
设计二个子函数分别计算sinX和cosX, 要求精度为10-6。在主函数中调用函数求(sin30O+ cos60O),输出结果。sin(x) = x - 1/3! * x^3 + 1/5! * x^5 +……cos(x) = 1 - 1/2! * x^2 + 1/4! * x^4 +……#include<stdio.h>#include<stdlib.h>#define Pi 3.1415926double mysin(double x);double mycos(原创 2020-05-31 11:11:48 · 6585 阅读 · 0 评论 -
利用指针实现两个字符串的连接
#include<stdio.h>#include<stdlib.h>//获取初始化的字符数组 char* initialize(int length);int main(void){ char *s1, *s2, s; int length, i=0, cnt=0; //输入字符串长度 printf("请输入这两串字符的最大长度:"); scanf("%d",&length); //初始化 s1 = initialize(leng原创 2020-05-31 10:59:02 · 10613 阅读 · 0 评论 -
利用指针对二维字符数组进行排序
对学生姓名进行排序。关键点:对字符串进行比较时,从左往右依次比较字符(比较字符对应的ascii码值),如果相等,就继续比较下一个字符,直到不相等。#include<stdio.h>#include<stdlib.h>#define number 10//交换姓名 void swap(char *p1, char *p2);int main(void){ char name[number][20]; int i, j, t, order=0; //输入原创 2020-05-31 10:57:14 · 1543 阅读 · 0 评论 -
利用指针进行冒泡排序
访问数组中的元素的方式:array[i] <==> *(array+i)#include<stdio.h>#include<stdlib.h>#define number 10//交换数值 void swap(double *p1, double *p2);int main(void){ double array[number]; int i, j, order=0; //输入 printf("请输入%d个实型数据:\n", numbe原创 2020-05-31 10:50:54 · 1608 阅读 · 0 评论 -
简单实现成绩排名系统
由键盘任意输入5个学生的姓名、学号、 以及每一个学生的4门功课的成绩,分别计算他们的总分和均分,并将此表按总分的高低排序。struct tab{ char name[30]; int id; double marks[4]; double sum; double evr;};int main(void){ struct tab form[number], swap; int i, j; //输入 printf("任意输入%d个学生的姓名、学号、" "以原创 2020-05-31 10:45:57 · 2632 阅读 · 2 评论 -
字符串中插入字符问题
由键盘任意输入一串字符,再输入一个字符和一个位置,将此字符插入在此串字符的这个位置上。如:原串为abcdef,插入字符为k,位置为2,新串为abkcdef。#include<stdio.h>#include<stdlib.h>int main(void){ int length, i, place, cnt=0; char* str; char ch; //为字符获得足够的内存空间 printf("请输入这串字符的最大长度:"); scanf("%d",原创 2020-05-31 10:41:26 · 5824 阅读 · 0 评论 -
判断字符串是否是回文的问题
由键盘任意输入一串字符,判断其是否为回文。 回文是首尾对称相等的字符串,如:abcdcba是回文。#include<stdio.h>#include<stdlib.h>int main(void){ int length, i, cnt=0; char* str; int flag = 0; //为字符获得足够的内存空间 printf("请输入这串字符的最大长度:"); scanf("%d", &length); str = (char*)m原创 2020-05-31 10:37:24 · 1923 阅读 · 0 评论 -
计算某年某月的天数问题
给定某年和某月的数据,输出此月的天数。如:2014年2月,其天数为28天 。#include<stdio.h>#include<stdbool.h>#include<stdlib.h>struct date{ int month; int year;}; bool isLeap(struct date d);int main(int argc, char const *argv[]){ struct date mydate; //输原创 2020-05-31 09:48:21 · 3128 阅读 · 0 评论 -
求解一元二次方程问题
计算一元二次方程的根(ax2+bx+c = 0)。 3个方程的系数为实型数据,由键盘任意输入。#include<stdio.h>#include<math.h>#include<stdlib.h>int main(int argc, char const *argv[]){ //初始化 double a = 0, b = 0, c = 0; double x1 = 0, x2 = 0; double delta = 0; //输入 printf原创 2020-05-31 09:43:21 · 2144 阅读 · 0 评论 -
分层票价问题
某航空公司规定:在旅游旺季(4、5、9、10月), 如果订票数量20张及以上,则优惠20%,20张以下,则优惠10%;在旅游淡季(1-3、6-8、11、12月),如果订票数量20张及以上,则优惠40%,20张以下,则优惠20%。编写程序,计算机票总价格。机票单价、订票时间、订票数量由键盘输入。#include<stdio.h>#include<stdlib.h>double amount (double unitPrice, int month, int number); /原创 2020-05-31 09:37:55 · 3384 阅读 · 0 评论 -
三角形形状问题
编写程序,由键盘任意输入3个实型数据,代表三角形的3条边,判断它们能否组成三角形,如果可以组成三角形,判它是等腰三角形、等边三角形、直角三角形(等腰直角三角形归结为等腰三角形)或一般三角形中的哪一种。#include<stdio.h>#include<stdlib.h>int form (double a, double b, double c);int main(int argc, char const *argv[]){ //初始化 double a=0, b原创 2020-05-31 09:34:45 · 1890 阅读 · 0 评论