admin管理员组

文章数量:1794759

【C语言】新手入门的C语言经典实例(持续更新)

【C语言】新手入门的C语言经典实例(持续更新)

1.题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 考察:判断、循环、输出

#include<stdio.h> int main() { int i,j,k,number; printf("\\n"); for(i=1;i<5;i++) { // 以下为三重循环 for(j=1;j<5;j++) { for (k=1;k<5;k++) { // 确保i、j、k三位互不相同 if (i!=k&&i!=j&&j!=k) { printf("%d,%d,%d\\n",i,j,k); number++; } } } } printf("一共有%d种排列方法\\n",number); }

2.题目:输入三个整数x,y,z,请把这三个数由小到大输出。 考察:判断、循环、输入、输出 算法:两两比较、交换位置

#include <stdio.h> int main() { int x,y,z,t; printf("\\n请输入三个数字:\\n"); scanf("%d%d%d",&x,&y,&z); if (x>y) { /*交换x,y的值*/ t=x;x=y;y=t; } if(x>z) { /*交换x,z的值*/ t=z;z=x;x=t; } if(y>z) { /*交换z,y的值*/ t=y;y=z;z=t; } printf("从小到大排序: %d %d %d\\n",x,y,z); }

3.计算1+2+3……+100的值 两种方法计算,思考不一样的算法思路。 第一种方法就是循环累加; 第二种方法为高斯方法“首项加末项乘以项数除以二”。 这里可以初步窥探到算法的苗头。

#include <stdio.h> int main() { int sum=0; int i; for(i=1;i<=100;i++) { sum=sum+i; } printf("从1加到100的结果为%d\\n",sum); return 0; } #include <stdio.h> int main() { int i=1;//首项 int j=100;//末项 int sum;//和 sum=(i+j)*j/2;//首项加末项乘以项数除以二 printf("从1加到100的结果为%d\\n",sum); return 0; }

4.9*9乘法表

#include<stdio.h> int main() { int i,j,result; printf("\\n"); for (i=1;i<10;i++) { for(j=1;j<=i;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result); /*-3d表示左对齐,占3位*/ } printf("\\n"); /*每一行后换行*/ } }

5.画菱形,输入行数,输出菱形

#include <stdio.h> void main() { int i,j,k,n; printf("请输入行数n:\\n"); scanf("%d",&n); for(i=1;i<=n-((n-1)/2);i++) { for(j=1;j<=(n-(2*i-1))/2;j++) printf(" "); for(k=1;k<=2*i-1;k++) printf("*"); printf("\\n"); } for(i=1;i<=n-((n+1)/2);i++) { for(j=1;j<=(n-((n-2)-((i-1)*2)))/2;j++) printf(" "); for(k=1;k<=((n-2)-((i-1)*2));k++) printf("*"); printf("\\n"); } }

6.简易计算器

#include<stdio.h> int main() { while(1) { double number1=0.0; double number2=0.0; char operation=0; printf("\\n请输入要计算的式子:\\n"); scanf("%lf%c%lf",&number1,&operation,&number2); switch(operation) { case '+': printf("=%lf\\n\\n",number1+number2); break; case '-': printf("=%lf\\n\\n",number1-number2); break; case '*': printf("=%lf\\n\\n",number1*number2); break; case '/': if(number2==0) printf("\\n\\n被除数不能为0!\\n"); else printf("=%lf\\n\\n",number1/number2); break; case '%': if((long)number2==0) printf("\\n\\n被除数不能为0!\\n"); else printf("=%ld\\n",(long)number1%(long)number2); break; default: printf("请重新输入!!\\n"); break; } } return 0; }

7.图形代码

#include <stdio.h> int main() { char a = '*'; char b = '.'; int i,j; for( i = 0 ; i < 10 ; i++) { for( j = 0 ; j < 19 ; j ++) { if(j+i==9 || j-i==9) { printf("%c",a); } else { printf("%c",b); } } printf("\\n"); } for( i = 0 ; i < 10 ; i++) { for( j = 0 ; j <19 ; j++) { if(j-i<=0 || j+i>=18) { printf("%c",a); } else { printf("%c",b); } } printf("\\n"); } return 0; }

// An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar'; // An highlighted block var foo = 'bar';

***恶搞代码

#include<windows.h> int main() { if(MessageBox(NULL,"你是猪吗?","问卷调查",MB_YESNO|MB_ICONQUESTION)!=IDYES) while(MessageBox(NULL,"请做出正确的回答:你是猪吗?","问卷调查",MB_YESNO|MB_ICONWARNING)!=IDYES) ; MessageBox(NULL,"感谢您做出了正确的回答!","问卷调查报告单",MB_OK|MB_ICONASTERISK); }
图1 图2
图3 图4

本文标签: 语言实例新手入门经典