
C
qslife
家里蹲
展开
-
8.8 输入一个4位数字,要求输出这4个数字字符,但每两个数字间插入一个输入的字符。如输入“1990”,插“W”,应输出“1W9W9W0"。”(改)
8.8 输入一个4位数字,要求输出这4个数字字符,但每两个数字间插入一个输入的字符。如输入“1990”,插“W”,应输出“1W9W9W0"。”(改)#include//8.8 输入一个4位数字,要求输出这4个数字字符,但每两个数字间插入一个输入的字符。如输入“1990”,插“W”,应输出“1W9W9W0"。”(改)int main(){ char s1[4],s2[7],c;原创 2016-08-10 23:35:39 · 2228 阅读 · 0 评论 -
8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改)
20160803/*8.9 编写一个函数,由实参传来一个字符串,统计此字符串中字母、数字、空格和其他字符的个数,并输出结果。(改) */ #includevoid TongJi(char s[]){ int ZiMu=0,KongGe=0,ShuZi=0,QiTa=0,i; for(i=0;s[i]!='\0';i++) { if(s[i]==32)KongGe++;原创 2016-08-03 22:42:09 · 38074 阅读 · 4 评论 -
8.8 写一个函数,输入一个4位数字, 要求输出这4个数字字符, 但每两个数字间有一个空格。 如输入1990,应输出“1 9 9 0”。
我的/*8.8 写一个函数,输入一个4位数字,要求输出这4个数字字符,但每两个数字间有一个空格。如输入1990,应输出“1 9 9 0”。 */#includevoid AddBlank(char s[]){ char sNew[7]; int i,j,flag=2; for(i=0,j=0;j<7;j++) { printf("这是第%d次循环,循环前flag=%d。原创 2016-08-03 09:33:19 · 17721 阅读 · 0 评论 -
8.4 写一函数,使给定的一个二维数组(3×3)转置,即行列互换。
连着3天值班,晚上都没有在家。今天发现第8章函数一个月之前看过,但是里边还是有很多东西忘记了,也不想再看了,直接做课后的习题吧。我是这样解8.4的。#include//8.4 写一函数,使给定的一个二维数组(3×3)转置,即行列互换。 void input(int a[3][3]){ int i,j; for(i=0;i<3;i++) { for(j=0;j<3;j++) {原创 2016-07-29 23:49:43 · 16811 阅读 · 2 评论 -
通过键盘把数据输入数组,只能越来越大
通过键盘把数据输入数组,只能越来越大 #include//通过键盘把数据输入数组,只能越来越大 #define N 15int main(){ int a[N],i; printf("请输入数据:"); scanf("%d",&a[0]); fflush(stdin); i=1; while(i<N) { scanf("%d",&a[i]); if(a[i]<a原创 2016-07-16 23:10:12 · 783 阅读 · 0 评论 -
Y/N退出选择训练
Y/N退出选择训练#include//Y/N退出选择训练int main(){ int flag=1; char c; while(flag) { printf("要继续吗?(Y/N)"); scanf("%c",&c); fflush(stdin); if(c=='N'||c=='n') { flag=0; } } printf("关闭系统5原创 2016-07-16 22:18:28 · 973 阅读 · 0 评论 -
查询一个数是否在数组中?
查询一个数是否在数组中?#include//查询一个数是否在数组中? int main(){ int a[10]={0,1,3,5,7,9,11,13,15,17},i; for(i=1;i<=9;i++) { printf("a[%d]=%d ",i,a[i]); } printf("\n"); int num; printf("请输入要查询的数:"); scan原创 2016-07-16 21:58:47 · 6457 阅读 · 0 评论 -
7.4 有一个已排好序的数组,令输入一个数,要求按照原来排序的规律将它插入数组中。
7.4 有一个已排好序的数组,令输入一个数,要求按照原来排序的规律将它插入数组中。#include//7.4 有一个已排好序的数组,令输入一个数,要求按照原来排序的规律将它插入数组中。 int main(){ int i,temp1,temp2,a[12]={0,1,4,6,9,13,16,19,28,40,100},num; for(i=1;i<=10;i++) { print原创 2016-07-16 00:48:14 · 1873 阅读 · 0 评论 -
6.10猴子吃桃问题。
6.10 猴子吃桃问题。有一堆桃子不知数目,猴子第一天吃掉一半,觉得不过瘾,又多吃了一只,第二天照此办法,吃掉剩下桃子的一半另加一只,天天如此,到第十天早上,猴子发现只剩一只桃子了,问这堆桃子原来有多少只?#includeint main(){ int jieguo=1,n,i; for(i=1;i<=9;i++) { n=2*(jieguo+1); jieguo=n;原创 2016-06-17 23:37:17 · 554 阅读 · 0 评论 -
6.15两个乒乓球对进行比赛,各出三人。
6.15 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。#includeint main(){ char i,j,k; for(i='x';i<='z';i++) { for(j='x';j<='z';j++) { if(i!=j原创 2016-06-19 18:39:19 · 687 阅读 · 0 评论 -
7.10 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。
7.10 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。#include//7.10 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。int main(){ char c[3][80]; int i,j,daxie=0,xiaoxie=0,shu原创 2016-07-21 00:03:55 · 43857 阅读 · 3 评论 -
7.11 打印以下图案
7.11 打印以下图案#include//7.11 打印以下图案int main(){ char a[]={"*****"},c=' '; int i,j; for(i=1;i<=5;i++) { printf("第%d行: ",i); for(j=1;j<=i-1;j++) { printf("%c",c); } puts(a); } retu原创 2016-07-21 20:58:34 · 2411 阅读 · 0 评论 -
7.12 有一行电文,已按下面规律译成密码……
7.12 有一行电文,已按下面规律译成密码…… #include//7.12 有一行电文,已按下面规律译成密码…… char changeDaXie(char c){ //printf("change()接收到的%c\n",c); int i; i=c-64; c=90-(i-1); //printf("change()改变后的%c\n\n",c); return c;原创 2016-07-21 23:17:20 · 9987 阅读 · 0 评论 -
9.2 输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。
9.2 输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。#include//9.2 输入两个整数,求它们相除的余数。用带参的宏来实现,编程序。#define Y(a,b) a%b int main(){ int a,b; printf("Input a:"); scanf("%d",&a); fflush(stdin); printf("Input b:"); sc原创 2016-08-22 21:13:00 · 10129 阅读 · 1 评论 -
9.1 定义一个带参数的宏,使两个参数互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。
9.1 定义一个带参数的宏,使两个参数互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。#include//9.1 定义一个带参数的宏,使两个参数互换,并写出程序,输入两个数作为使用宏时的实参。输出已交换后的两个值。 #define SWAP(a,b) t=a;a=b;b=t;int main(){ int a,b,t; printf("Input a:");原创 2016-08-22 20:22:55 · 9422 阅读 · 1 评论 -
计算出一个字符串中最长的字符的长度
#include//计算出一个字符串中最长的字符的长度int zimu(char c){ if(((c>='A')&&(c='a')&&(c='0')&&(c<='9'))) { return 1; } else { return 0; }}void longest(char s[]){ int i,n=0,longest=0; for(i=0;s[i]!='\原创 2016-08-10 00:53:00 · 4364 阅读 · 0 评论 -
求2个数的最大公约数和最小公倍数
求2个数的最大公约数和最小公倍数#include//求2个数的最大公约数和最小公倍数int gys(int a,int b);int gbs(int a,int b);int gys(int a,int b){ int temp,c=1; if(a<b) { temp=a; a=b; b=temp; } while(c!=0) { c=a%b; if原创 2016-08-17 22:41:41 · 1181 阅读 · 0 评论 -
8.10 写一函数,输入一行字符,将此字符串中最长的单词输出。(改)
写一个快一个月,这是我写过的最长的程序了。我认为比书上的好。最大的优势是我的如果出现重复的长度,是可输出的。#include//8.10 写一函数,输入一行字符,将此字符串中最长的单词输出。(改)int character(char c); //判断是否是字符 int word_head(int i,char s[]);//判断单词的开头 int word_bottom(int i,ch原创 2016-08-17 22:08:16 · 11025 阅读 · 3 评论 -
8.7 写一函数,将一个字符串中的元音字母复制到另一字符串,然后输出。
20160802#include//8.7 写一函数,将一个字符串中的元音字母复制到另一字符串,然后输出。 void TongJi(char s1[]){ int i,j,n=0; char s2[100]; for(i=0,j=0;s1[i]!='\0';i++) { if((s1[i]=='a')||(s1[i]=='e')||(s1[i]=='i')||(s1[i]=='原创 2016-08-02 22:08:58 · 19452 阅读 · 6 评论 -
8.6 写一函数,将两个字符串连接。
#include//8.6 写一函数,将两个字符串连接。 void add(char a[],char b[]){ int len_a,len_b; len_a=strlen(a); len_b=strlen(b); int sum; sum=len_a+len_b; int i,j; for(i=len_a,j=0;i<=sum;i++,j++) { a[i]=b[j];原创 2016-08-01 22:24:24 · 3360 阅读 · 0 评论 -
判断输入一个字符串中的单词数
判断输入一个字符串中的字母数,实现头部空格检测,现在的缺陷是不能识别标点。比如 I love c program.I love too. 结果是6,会把 program.I 识别成一个单词。#include void count(char s[]){ int i,num=0,head; i=0; while(s[i]!='\0') { if(s[i]!=' ')原创 2016-08-04 23:19:01 · 3814 阅读 · 1 评论 -
8.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。
8.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 #include//8.5 写一个函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串。 void input(char s[]){ gets(s);}void show(char s[]){ puts(s);}void FanXuCunFang(char s[])//反序存放函原创 2016-07-30 22:30:26 · 36785 阅读 · 6 评论 -
7.9 有15个数按大小的顺序存放在一个数组中,输入一个数,要求用拆半查找法找出该数是数组中第几个元素的值。(函数的方法)
#include#define N 15int input(int a[N]){ printf("\n……进入input()函数……\n"); int i,flag; printf("请输入数组元素,后输入的要比前一个大:a[0]="); scanf("%d",&a[0]); fflush(stdin); for(i=1;i<N;i++) { flag=1; p原创 2016-07-17 23:55:58 · 2437 阅读 · 0 评论 -
7.6 打印出以下杨辉三角形(要求打印10行)
7.6 打印出以下杨辉三角形(要求打印10行)#include//7.6 打印出以下杨辉三角形(要求打印10行)int main(){ int a[11][11],i,j,n,kongge; a[1][1]=1;a[2][1]=1;a[2][2]=1; for(i=3;i<=10;i++) { for(j=1;j<=i;j++) { a[i][1]=1;a[i][i]原创 2016-07-14 22:08:30 · 13058 阅读 · 1 评论 -
7.5 将一个数组中的值按逆序重新存放(改)
7.5 将一个数组中的值按逆序重新存放(改)我用的两个数组,数组a和数组b,数组b排序后可以赋值给数组a。#includeint main(){ int a[6],b[6]; int i,j,temp; for(i=1;i<=5;i++) { printf("a[%d]=",i); scanf("%d",&a[i]); fflush(stdin); } pr原创 2016-07-14 00:37:15 · 2273 阅读 · 1 评论 -
求1!+2!+3!+......+n!
求1!+2!+3!+......+n!谭浩强教授版《C程序设计》(第二版)P1206.4求∑n!(即求1!+2!+3!+......+20!)。我把它改为由键盘输入n。#includeint main(){ int i,j,n; printf("请输入n:"); scanf("%d",&n); fflush(stdin); float jiecheng原创 2016-06-10 13:31:21 · 3161 阅读 · 0 评论 -
计算圆周率
计算圆周率#includeint main(){ float jieguo=0,i=1; int fuhao=1; while((1/i)>1e-6) { jieguo=jieguo+fuhao*(1/i); fuhao=-1*fuhao; i=i+2; } jieguo=jieguo*4; printf("%f\n\n",jieguo); return 0;原创 2016-06-04 00:20:41 · 1068 阅读 · 0 评论 -
一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
谭浩强教授版《C程序设计》(第二版)P120 6.9 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?#includeint main(){ float h=100,s=0; int i; for(i=1;i<=10;i++) { s=s+h+h/2;printf("第%d次s=%f\n",i,s);原创 2016-06-07 21:15:30 · 57651 阅读 · 6 评论 -
用“辗转相除法”求最大公约数
用“辗转相除法”求最大公约数#include//辗转相除法求最大公约数 int main(){ int a,b,temp; printf("请输入a:"); scanf("%d",&a); fflush(stdin); printf("请输入b:"); scanf("%d",&b); fflush(stdin); printf("调整好顺序前:a=%d,b=%d\n",a,原创 2016-06-23 21:55:29 · 870 阅读 · 0 评论 -
谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(switch)
谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成。利润I低于或等于10万元的,奖金可提10%;200000高于20万元的部分5%提成;400000I>1000000时,超过100万元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。#includeint main(){ float I,jj,jj10w,jj20w,jj40w,jj60w,jj原创 2016-05-31 23:17:57 · 4379 阅读 · 0 评论 -
P105 5.9输入4个整数,要求按由小到大的顺序输出
P105 5.9输入4个整数,要求按由小到大的顺序输出#include<stdio.h>//P105 5.9输入4个整数,要求按由小到大的顺序输出 int main(){ int a,b,c,d,temp; printf("请输入a的值:"); scanf("%d",&a); fflush(stdin); printf("请输入b的值:"); sc原创 2016-05-29 21:00:30 · 847 阅读 · 0 评论 -
1绿5红的顺序 把千纸鹤串起来那么第25只什么颜色第 36只是什么颜色
百度上网友提问的一个问题:“1绿5红的顺序 把千纸鹤串起来那么第25只什么颜色第36只是什么颜色”原创 2016-05-08 00:20:51 · 1141 阅读 · 0 评论 -
不多于5位数的正整数1、求出它是几位数;2、按逆序打印出各位数字。
《C程序设计 第二版》P105 5.7 给一个不多于5位数的正整数,要求:1、求出它是几位数;2、分别打印出每一位数字;3、按逆序打印出各位数字,例如原数为321,应输出123.答:第2问和第3重复,没写第2问,直接第3问。#includeint main(){int x,w5,w4,w3,w2,w1;w5=w4=w3=w2=w1=0;printf("请输入一个不多于5原创 2016-05-27 22:37:46 · 2889 阅读 · 0 评论 -
解一元二次方程ax^2+bx+c=0
#include//解一元二次方程ax^2+bx+c=0#includeint main(){float a,b,c,disc,x1,x2,p,q;//输入部分 printf("请输入a=");scanf("%f",&a);fflush(stdin);printf("请输入b=");scanf("%f",&b);fflush(stdin);print原创 2016-05-27 00:06:26 · 5137 阅读 · 0 评论 -
求1000以内的所有水仙花数
求1000以内的所有水仙花数#include//打印1000以内所有的水仙花数int main(){ int i,baiwei=0,shiwei=0,gewei=0; for(i=1;i<1000;i++) { //printf("本次运算的是%d\n",i); baiwei=i/100; shiwei=(i-baiwei*100)/10; gewei=i-ba原创 2016-06-10 22:33:38 · 29102 阅读 · 3 评论 -
求Sn=a+aa+aaa+aaaa+……+aaa…aaa(n个a)
求Sn=a+aa+aaa+aaaa+……+aaa…aaa(n个a)#includeint main(){ int a,n,i=1,tn=0,sum=0; printf("请输入a:"); scanf("%d",&a); fflush(stdin); printf("请输入n:"); scanf("%d",&n); fflush(stdin); while(i<=n)原创 2016-06-08 05:23:45 · 3444 阅读 · 0 评论 -
6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。
6.2输入一行字符,分别统计出其中英文字母、空格、数字和其他字符的个数。#include//输入一个字符串,判断有多少个字母,多少空格,多少个数字,多少个其它字符int main(){ char c; int zimu=0,kongge=0,shuzi=0,qita=0; while((c=getchar())!='\n') { if((c>='a'&&c='A'&&c<='Z原创 2016-06-11 20:28:10 · 2141 阅读 · 1 评论 -
7.5
7.5#includeint main(){ int a[3][4]={{1,2,3,4},{9,8,7,6},{-10,10,-5,2}}; int temp=a[0][0]; int i,j; int max_i,max_j; for(i=0;i<3;i++) { for(j=0;j<4;j++) { if(a[i][j]>temp) { tem原创 2016-07-01 22:56:50 · 343 阅读 · 0 评论 -
7.4将一个二维数组行和列元素互换,存到另一个二维数组中。
7.4将一个二维数组行和列元素互换,存到另一个二维数组中。#includeint main(){ int a[2][3]={{1,2,3},{4,5,6}},b[3][2],i,j; for(i=0;i<2;i++) { for(j=0;j<3;j++) { b[j][i]=a[i][j]; } } for(i=0;i<3;i++) { for(j=0原创 2016-07-01 21:21:57 · 10587 阅读 · 0 评论 -
7.3 用选择法对10个整数排序(从小到大)。
7.3(改)用选择法对10个整数排序(从大到小)原题是从小到大,由于题目看错,写成从大到小了。#include//7.3(改)用选择法对10个整数排序(从大到小) int main(){ int i,j,a[11],temp; for(i=1;i<=10;i++) { printf("请输入a[%d]:",i); scanf("%d",&a[i]); fflush原创 2016-07-11 02:10:01 · 5084 阅读 · 0 评论