编程小程序100例,C语言小程序

1,C语言小程序首先看看if里面的 。++a 是先把a进行自加然后再比较所以++a > 0 为真 , 执行后 a = 1b++ 是先进行比较,然后b进行自加 所以 b++ > 0 为假,执行后 b = 1由于if条件不满足,所以 ++c 没有被执行 。所以结果为 1 1 0解释:碰到if(),执行++a,先加后比较a++ = 1,后执行b++,先比较后加b=0 , 因为是&&所有不执行++c;但比较之后b还自加了1.所以是1 1 0.楼上的解释得没错,++i 和 i++ 的区别在于:++i 是先使 i 的值自加 , 再使用它;i++ 是先使用 i,再进行自加【编程小程序100例,C语言小程序】
2,C语言小程序#include< stdio.h >main() int i, j; double t, sum = 0;//使用double类型,防止阶乘结果太大,导致数据溢出. for( i = 1; i <= 20; i++ )//外循环累加1~20的阶乘t = 1;for( j = 1; j <= i; j++ )//内循环求阶乘t *= j;}sum += t;} printf("sum = %.0lf\n", sum );}其实用一个循环就可以了 。#include<stdio.h>main()int i,j;double lRet=0;double lSig=1;for(i=1;i<=20;i++)lSig*=i;lRet+=lSig;}printf("%lf\n",lRet);}因为 n!=(n-1)!*n 。所以不需要对每个数都从一开始乘起来,记录下前一个阶乘值就好了 。如果一定要两个循环的话,那楼上的算法就可以了 。
3,C语言小程序#include"stdio.h"#include"math.h"void main() int n, i, j; scanf("%d", &n); for( i = 1; i <= n; i++ )for( j = 1; j <=n-i; j++ ) printf(" "); for( j = 1; j <= 2*i-1; j++ )if( j%2 == 1 ) printf("*"); else printf(" "); } /* for( j = 1; j <=n-i; j++ ) printf(" "); */ printf("\n"); }}你就一楼的就行,#include <stdio.h>#include <string.h>void main()int i,j,s; for(j=1;j<=20;j++) for(i=1;i<=20-j;i++) printf(" "); for(s=1;s<=j*2-1;s++) printf("#"); printf("\n"); }}#includemain() {printf("* * * * * *");}
4 , C语言小程序#include"stdio.h"int main(void)int i,leap=0;int year,mon,days;scanf("%d%d%d",&year,&mon,&days);if(year%4==0&&year%100!=0||year%400==0)leap=1;}for(i=1;i<mon;i++)switch(i)case 1:days+=31;break;case 2:if(leap=0)case 3:days+=31;break;case 4:days+=30;break;case 5:days+=31;break;case 6:days+=30;break;case 7:days+=31;break;case 8:days+=31;break;case 9:days+=30;break;case 10:days+=31;break;case 11:days+=30;break;case 12:days+=31;break;default:printf("date errer\n");}}printf("%d\n",days);return 0;}5 , c语言小程序这样改int bigger(int x,int y)if(a>b)return a; }elsereturn b}}int bigger(int x,int y)int z;if(x>y) z=x;else z=y;return(z);}注意你的bigger函数,根据你的定义,a,b,c,d,e都是全局变量 , 但在子函数中接受参数的是x,y,所以在子函数中要进行任何参数运算,不能使用a,b,而要使用参数列表中的变量,所以 , 将bigger函数修改一下就可以了,int bigger(int x,int y)int z;if(x>y) z=x;else z=y;return(z);}另外,根据你scanf函数的格式,在输入三个数的时候,要用逗号隔开最佳答案 请采纳#include <stdio.h>int main()int bigger (int x,int y);int a,b,c,temp;printf("please enter a,b,c\n");scanf("%d,%d,%d",&a,&b,&c);temp=bigger(a,b);temp = bigger(temp,c);printf("max=%d\n",temp);getch();}int bigger(int x,int y)return x>y?x:y;}#include <stdio.h>void main() // int bigger (int x,int y); 这句话需要注释掉 。int a,b,c,d,e; //abcde 需要赋值比如 a = 10; b = 20; 没有大小 如何比较printf("please enter a,b,c");scanf("%d,%d,%d",&a,&b,&c);d=bigger(a,b);if(d>c) e=d;else e=c;printf("max=%d\n",e);}int bigger(int x,int y)return x>y?x:y; //函数里只有x和y,没有abcde 你调用了 d = // bigger(a,b); 就是把a赋给x把b赋给y返回给d;}#include <stdio.h>void main()int bigger (int x,int y);int a,b,c,d,e;printf("please enter a,b,c");scanf("%d,%d,%d",&a,&b,&c);d=bigger(a,b);if(d>c) e=d;else e=c;printf("max=%d\n",e);}int bigger(int x,int y)int z;if(x>y) z=x;else z=y;return(z);}

    推荐阅读