C语言例题
不定期更新,大学C语言专业经典例题
Turin_虞凛
要飞,要跑,要走,要爬。
To fly, to run, to walk, to crawl.
展开
-
#函数调用#任意输入三个实型数,在自定义函数fun中求它们的和值,在主函数中输出和值。
#include<stdio.h>void main(){ int a,b,c,s; int fun (int x,int y,int z); printf("ENTER a,b,c:"); scanf("%d,%d,%d",&a,&b,&c); s=fun(a,b,c); printf("\ns=%d\n",s);}int fun(int x,int y,int z){ return x+y+z;}原创 2020-05-08 17:31:52 · 2426 阅读 · 2 评论 -
#函数调用#输出如下图形
********** ********** hello ********** ********** #include<stdio.h>int string();int hello();void main(){ string(); hello(); string();}int string(){ prin...原创 2020-05-08 17:03:25 · 1380 阅读 · 0 评论 -
#函数调用#输入x,输出相应的y值。要求定义和调用函数fun,实现下面的分段函数。
#include<stdio.h>#include<math.h>void main(){ double x,y; double fun(double x); printf("ENTER x:"); scanf("%lf",&x); y=fun(x); printf("\ny=%lf",y);}double fun(x){ if(x...原创 2020-05-08 16:59:55 · 5111 阅读 · 0 评论 -
编写一个验证密码的程序。(假设正确密码为:abcd且密码不区分大小写) 若输入正确,显示“欢迎使用!” 若输入错误,显示“密码错误,请重新输入!”,让用户再次输入,当密码错误次数达到3次,则显
#include<stdio.h>#include<string.h>void main(){ char s1[5]="abcd"; char s2[5]; int n,i; for(n=1;n<4;n++)//输入次数 { printf("请输入密码:\n"); gets(s2); for(i=0;i<5;i++) { ...原创 2020-04-19 02:12:44 · 5023 阅读 · 5 评论 -
用一维字符数组方法输出下面的图形
#include<stdio.h>#include<string.h>void main(){ char s[10]=" *****"; int i,j; for(i=0;i<5;i++) { for(j=9-i;j>=0;j--) { printf("%c",s[9-j]); } printf("\n"); }}...原创 2020-04-19 01:50:54 · 4322 阅读 · 0 评论 -
输入一个字符串存放在数组a中,将其中的所有小写字母存放到字符数组b中并输出。
#include<stdio.h>#include<string.h>void main(){ char str1[10],str2[10]; int i,j=0; printf("请输入字符串,以回车键结束:"); gets(str1); for(i=0;i<10;i++) { if(str1[i]>='a'&&str1[...原创 2020-04-19 00:05:33 · 10002 阅读 · 2 评论 -
输出如下杨辉三角形
提示:各行除第一个数和最后一个数之外,其余各数等于上一行同列和前一列两个数的和,即:a[i][j]=a[i-1][j]+a[i-1][j-1]#include<stdio.h>void main(){ int a[10][10],i,j; for(i=0;i<10;i++) { a[i][0]=1; if(i==0) printf("%d",a[0][...原创 2020-04-18 22:52:37 · 609 阅读 · 0 评论 -
将一个数组中的值按逆序重新存放。例如:假设a[0]~a[4]的值分别为6,9,4,2,3按逆序重新存放后,a[0]~a[4]的值变为3,2,4,9,6
#include<stdio.h>void main(){ int a[5],i,j,t; printf("ENTER:"); for(i=0;i<5;i++) { scanf("%d",&a[i]); } for(i=0;i<4;i++) { for(j=0;j<4-i;j++) { t=a[j+1]; a[j+1]...原创 2020-04-18 20:08:13 · 1098 阅读 · 2 评论 -
计算两个3×4矩阵的和。
#include<stdio.h>void main(){ int a[3][4]={1,1,1,1,2,2,2,2,3,3,3,3}; int b[3][4]={1,1,1,1,2,2,2,2,3,3,3,3}; int c[3][4]; int i,j; for(i=0;i<3;i++) { for(j=0;j<4;j++) { c[i][...原创 2020-04-17 16:18:31 · 3853 阅读 · 0 评论 -
3.有一个已按升序排列的数列,现要将键盘输入的一个数插入到该数列中,要求按原来的排序规律插入。
#include<stdio.h>void main(){ int a[6],i,t; printf("ENTER 5 :"); for(i=0;i<5;i++) scanf("%d",&a[i]);//原数组 printf("ENTER a[5]:"); scanf("%d",&a[5]);//插入数 for(i=6;i>0;i--)...原创 2020-04-17 15:39:55 · 2991 阅读 · 0 评论 -
用“冒泡排序法”对10个整数按由小到大排序。
#数组##循环##if##include<stdio.h>void main(){ int a[10],i,j,t; printf("ENTER:"); for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(i=0;i<9;i++)//n-1次 { for(j=0;j<9-i...原创 2020-04-17 14:12:30 · 6978 阅读 · 2 评论 -
用“选择排序法”对10个整数按由小到大排序
#数组##循环##if##include<stdio.h>void main(){ int a[10],i,j,t; for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) for(j=i+1;j<10;j++) if(a[j]<a[i]) { t=a[i]...原创 2020-04-17 11:26:08 · 1844 阅读 · 0 评论 -
从键盘输入10个互不相同的整数,找出其中最小值,输出该最小值及其下标。
#数组##循环##if##include<stdio.h>void main(){ int a[10],i, k; for(i=0;i<10;i++) scanf("%d",&a[i]); printf("\n"); for(i=1;i<10;i++) if(a[i]<a[0]) k=i; printf("min=%d\nnu...原创 2020-04-17 11:16:08 · 6864 阅读 · 2 评论 -
数组:10个整数,用冒泡法从小到大排序并输出最小值
#include <stdio.h>void main(){ int a[10],i,j,temp; for (i = 0; i < 10; i++) scanf("%d", &a[i]); for (i = 0; i < 9; i++) { for (j = 0; j < 9 - i...原创 2020-04-10 11:09:22 · 2756 阅读 · 0 评论 -
Sn=1-1/3+1/5-1/7+…1/(2n-1) 求s(100)(保留4位小数)
#include<stdio.h>void main(){ int i; double s=0,f=1; for(i=1;i<=100;i++) { s=s+f/(2*i-1); f=-f; } printf("s=%.4lf\n",s);}原创 2020-04-09 22:04:50 · 2895 阅读 · 0 评论 -
数列 1,1,2,3,5,8…..有f(n)=f(n-1)+f(n-2),f(1)=1,f(2)=1,求f(40)
#include<stdio.h>void main(){ int x,y,a,b; a=b=y=1; for(x=3;x<=40;x++) { a=b; b=y;//y=f(x-1) y=a+b; } printf("y=%d\n",y);}原创 2020-04-09 21:52:09 · 809 阅读 · 0 评论 -
求s=1+1/3+(1*2)/(3*5)+…+(1*2*…*n)/(3*5*…*(2*n+1))当n=40时的值。(结果保留10位小数)
#include<stdio.h>void main(){ int a=1,b=1,i; double s=0; for(i=0;i<=40;i++) { if(i==0||i==1) a=1; else a=a*i; b=b*(2*i+1); s+=(double)a/b; } printf("s=%.10lf\n",s);}...原创 2020-04-09 20:32:03 · 10403 阅读 · 6 评论 -
1/1!+1/2!+….+1/10!(结果保留10位小数)
#include<stdio.h>void main(){ int i,a=1; double s=0; for(i=1;i<=10;i++) { a=a*i; s=s+(double)1/a; } printf("s=%.10lf\n",s);}原创 2020-04-09 20:15:49 · 1708 阅读 · 1 评论 -
a1=1 a2=1/(1+a1) an=1/(1+a(n-1)),求a25(结果保留10位小数)
#include<stdio.h>void main(){ int n; double a; for(n=1;n<=25;n++) { if(n==1) a=1; else a=1/(1+a); } printf("a25=%.10lf",a);}原创 2020-04-09 20:00:17 · 2283 阅读 · 0 评论 -
求出 1 到 1000 之内能被3 或7 整除 但不能同时被 3 和7同时整除的所有整数。要求输出结果 5 个一行
#include<stdio.h>void main(){ int i,n=0; for(i=1;i<=1000;i++) { if(i%3==0||i%7==0) { if(i%3==0&&i%7==0) continue; else { printf("%d\t",i); n++; if(n%...原创 2020-04-09 18:42:08 · 7393 阅读 · 2 评论 -
求1000以内最大的20个素数之和。
#include<stdio.h>void main(){ int x,i,n=0,s=0; for(x=1000;x>1;x--) { for(i=2;i<x;i++) { if(x%i==0) break; } if(i==x)//为素数 { printf("%d\t",x); i=2; n++; s...原创 2020-04-09 17:27:28 · 5137 阅读 · 0 评论 -
[200,1000]的双胞胎数的对数。双胞胎数:两素数差为2称为双胞胎数。
分析:用变量n统计以求得双胞胎数的对数,n初值为0。用变量a从200到998循环,如果a是素数,则令变量b=a+2,如果b也是素数,则n值增1。素数求法同前,用变量I 循环#include<stdio.h>void main(){ int x,a,b,n=0,i=2,j=2; for(x=201;x<=998;x++)//循环被除数筛选素数 { for(i=2;i...原创 2020-04-09 16:49:08 · 5700 阅读 · 2 评论 -
求[10,200]间可以被其因子的个数整除的整数的个数。
#include<stdio.h>void main(){ int i=10,a=1,m=0,n=0; //a除数 //m统计因子数 //n统计可被整除的个数 for(i=10;i<=200;i++)//循环被除数 { for(a=1;a<=i;a++)//循环除数 { if(i%a==0) m++; } if(i%m==0)...原创 2020-04-09 08:56:01 · 1999 阅读 · 0 评论 -
0小于a小于b,a与b乘积为2698,且a+b 最小,求b。
##分析:用变量a从1到sqrt(2698)-1循环。变量s初值为6000。若2698%a==0,则b=2698/a,若s>a+b,则s=a+b,并保存b的值在变量t.#include<stdio.h>void main(){ int a,b,t,s=6000; for(a=1;a<=2698;a++) { if(2698%a==0) { b=2...原创 2020-04-08 11:28:18 · 1442 阅读 · 1 评论 -
输出 ASCⅡ序列中从 33~127(十进制)的字符对照表。
#include<stdio.h>main(){ int i; for(i=33;i<=127;i++) { printf("%c\t%d\n",i,i); }}原创 2020-04-08 10:19:32 · 1247 阅读 · 0 评论 -
输入三个整数x,y,z,请把这三个数由小到大输出。
##输入三个整数x,y,z,请把这三个数由小到大输出。#include<stdio.h>void main(){ int x,y,z,t; printf("input there numbers:"); scanf("%d,%d,%d",&x,&y,&z); if(y<=x)//y<x或x<y { t=x; x=y...原创 2020-04-08 10:04:47 · 1244 阅读 · 2 评论 -
一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?
@C语言例题##一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?#include<stdio.h>#include<math.h>void main(){ long i=0,x,y; for(i=0;i<=100000;i++) { x=sqrt(i+100); y=sqrt(i+268); if(...原创 2020-04-08 09:23:45 · 225 阅读 · 0 评论