经典c程序(31—40)
C语言经典程序20个
============================================================== 【程序3】 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一 个完全平方数,请问该数是多少? 1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数 加上268后再开方,如果开方后 的结果满足如下条件,即是结果。请看具体分析: 2.程序源代码: #include "math.h" main() { long int i,x,y,z; for (i=1;i<100000;i++) { x=sqrt(i+100); /*x为加上100后开方后的结果*/ y=sqrt(i+268); /*y为再加上168后开方后的结果*/ if(x*x==i+100&&y*y==i+268)/*如果一个数的平方根的平方等于该数, 这说明此数是完全平方数*/ printf("\n%ld\n",i); }
sum++; printf("It is the %dth day.",sum);} ============================================================== 【程序5】 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 1.程序分析:我们想办法把最小的数放到x上,先将x与y进行比较,如 果x>y则将x与y的值进行交换, 然后再用x与z进行比较,如果x>z则将x与z的值进行交换,这样能 使x最小。 2.程序源代码: main() { int x,y,z,t; scanf("%d%d%d",&x,&y,&z); if (x>y) {t=x;x=y;y=t;} /*交换x,y的值*/ if(x>z) {t=z;z=x;x=t;}/*交换x,z的值*/ if(y>z) {t=y;y=z;z=t;}/*交换z,y的值*/ printf("small to big: %d %d %d\n",x,y,z); } ============================================================== 【程序6】 题目:用*号输出字母C的图案。 1.程序分析:可先用'*'号在纸上写出字母C,再分行输出。 2.程序源代码: #include "stdio.h" main() { printf("Hello C-world!\n"); printf(" ****\n"); printf(" *\n"); printf(" * \n"); printf(" ****\n"); } ============================================================== 【程序7】 题目:输出特殊图案,请在c环境中运行,看一看,Very Beautiful!
C语言程序讲解40例
C语言程序讲解40例【程序1】题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。
组成所有的排列后再去掉不满足条件的排列。
2.程序源代码:main(){int i,j,k;printf("\n");for(i=1;i<5;i++) /*以下为三重循环*/for(j=1;j<5;j++)for (k=1;k<5;k++){if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/printf("%d,%d,%d\n",i,j,k);}}【程序2】题目:企业发放的奖金根据利润提成。
利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?1.程序分析:请利用数轴来分界,定位。
注意定义时需把奖金定义成长整型。
2.程序源代码:main(){long int i;int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;scanf("%ld",&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i<=100000)bonus=i*0.1;else if(i<=200000)bonus=bonus1+(i-100000)*0.075;else if(i<=400000)bonus=bonus2+(i-200000)*0.05;else if(i<=600000)bonus=bonus4+(i-400000)*0.03;else if(i<=1000000)bonus=bonus6+(i-600000)*0.015;elsebonus=bonus10+(i-1000000)*0.01;printf("bonus=%d",bonus);}-----------------------------------------------------------------------------【程序3】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少?1.程序分析:在10万以内判断,先将该数加上100后再开方,再将该数加上268后再开方,如果开方后的结果满足如下条件,即是结果。
经典c++程序100例(31--40)
经典c++程序100例(31--40)经典c程序100例(31--40)【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2.程序源代码:#includevoid main(){char letter;printf("please input the first letter of someday\n");while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/{ switch (letter){case 'S':printf("please input second letter\n");if((letter=getch())=='a')printf("saturday\n");else if ((letter=getch())=='u')printf("sunday\n");else printf("data error\n");break;case 'F':printf("friday\n");break;case 'M':printf("monday\n");break;case 'T':printf("please input second letter\n");if((letter=getch())=='u')printf("tuesday\n");else if ((letter=getch())=='h')printf("thursday\n");else printf("data error\n");break;case 'W':printf("wednesday\n");break;default: printf("data error\n");}}}====================================== ========================【程序32】题目:Press any key to change color, do you want to try it. Please hurry up!1.程序分析:2.程序源代码:#includevoid main(void){int color;for (color = 0; color < 8; color++){textbackground(color);/*设置文本的背景颜色*/cprintf("This is color %d\r\n", color);cprintf("Press any key to continue\r\n");getch();/*输入字符看不见*/}}====================================== ======================== 【程序33】题目:学习gotoxy()与clrscr()函数1.程序分析:2.程序源代码:#includevoid main(void){clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf("Output at row 5 column 1\n");textbackground(3);gotoxy(20, 10);cprintf("Output at row 10 column 20\n");}====================================== ======================== 【程序34】题目:练习函数调用1. 程序分析:2.程序源代码:#includevoid hello_world(void){printf("Hello, world!\n");}void three_hellos(void){int counter;for (counter = 1; counter <= 3; counter++)hello_world();/*调用此函数*/}void main(void){three_hellos();/*调用此函数*/}====================================== ======================== 【程序35】题目:文本颜色设置1.程序分析:2.程序源代码:#includevoid main(void){int color;for (color = 1; color < 16; color++){textcolor(color);/*设置文本颜色*/cprintf("This is color %d\r\n", color);}textcolor(128 + 15);cprintf("This is blinking\r\n");}====================================== ======================== 【程序36】题目:求100之内的素数1.程序分析:2.程序源代码:#include#include "math.h"#define N 101main(){int i,j,line,a[N];for(i=2;ifor(i=2;i<sqrt(n);i++)< p="">for(j=i+1;j<n;j++)< p="">{if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");for(i=2,line=0;i<n;i++)< p="">{if(a[i]!=0){printf("%5d",a[i]);line++;}if(line==10){printf("\n");line=0;}}}====================================== ========================【程序37】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
简单的40个c语言程序
#include<stdio.h>#include <string.h>#include <math.h>#include <malloc.h>#include <time.h>#include <windows.h>//1.运用条件语句实现三个数的比较,找出最大值/*int main(int argc,char *argv[]){int a,b,c,max;printf("请您输入三个数的值:\n");scanf("%d%d%d",&a,&b,&c);if(a>b){if(c>a)max=c;elsemax=a;}else{if(b>c)max=b;elsemax=c;}printf("%d\n",max);}*///2.用数组的排序实现三个数的查找,找出最大值/*int main(int agrc,char *argv[]){int a[3],i,max;printf("请您输入三个数的值:\n");for(i=0;i<3;i++){scanf("%d",&a[i]);}// printf("\n");max=a[0];for(i=1;i<3;i++){if(max<a[i])max=a[i];}printf("%d\n",max);}*///3.利用三目运算符,找出三个数的最大值//这是最优的代码/*int main(int argc,char*argv[]){int a,b,c,max;printf("请您输入三个数的值:\n");scanf("%d%d%d",&a,&b,&c);max=(c<(a<b?b:a)?(a<b?b:a):c);printf("%d\n",max);}*///4.利用指针来查找三个数中的最大值/*int main(int argc,char*argv[]){int a[3],max;int *temp,i;temp=a;printf("请您输入三个数的值:\n");for(i=0;i<3;i++){scanf("%d",&a[i]);}max=*temp;for(i=0;i<3;i++){if(max<temp[i])max=temp[i];}printf("%d\n",max);}*///5.求1-1000满足用3除余2,用5除余3,用7除余2的所有数,并且5个为一行/*int main(){int i,count=0;for(i=22;i<=1000;i++){if(i%3==2&&i%5==3&&i%7==2){printf("%-6d",i);count++;if(count!=0&&count%5==0){printf("\n");}}}}*///6.判断输入的字符是否是小写字符,如果是转化成大写的字符,其他的不变/*int main(){char a1;a1=getch();if(a1>='a'&&a1<'z')a1=a1-32;printf("%c\n",a1);}*///7.打印//123456//612345//561234//456123/*int main(){int i,j,k;for(i=0;i<4;i++){for(k=7-i;k<7;k++){printf("%d",k);}for(j=1;j<7-i;j++)printf("%d",j);printf("\n");}}*///8.打印// *// ***// *****// *******// *****// ***// */*int main(){int i,j;for(i=0;i<4;i++){for(j=0;j<4-i;j++)printf(" ");for(j=0;j<2*i+1;j++)printf("*");printf("\n");}for(i=3;i>0;i--){for(j=4;j>=i;j--)printf(" ");for(j=2*i-1;j>0;j--)printf("*");printf("\n");}}*///9.打印杨辉三角//1//1 1//1 2 1//1 3 3 1//1 4 6 4 1//1 5 10 10 5 1/*int main(){int i,j,a[11][11];for(i=1;i<11;i++){a[i][i]=1;a[i][1]=1;}for (i=3;i<11;i++){for (j=2;j<i;j++){a[i][j]=a[i-1][j-1]+a[i-1][j];}}for (i=1;i<11;i++){for (j=1;j<=i;j++){printf("%-4d",a[i][j]);}printf("\n");}}*///10.用while实现10的阶乘/*int main(){int i=1;long sum=1;while (i<=10){sum*=i;i++;}printf("%ld\n",sum);}*///11.用for实现10的阶乘/*int main(){int i=1;long sum=1;for (i=1;i<=10;i++){sum=sum*i;}printf("%ld\n",sum);}*///12.用dowhile实现10的阶乘/*int main(){int i=1;long sum=1;do{sum=sum*i;i++;} while (i<=10);printf("%ld\n",sum);}*///13.实现简单的sum=1-1/2+1/3-......+1/n/*int main(){int i=1;int n;int sign=1;float sum=0;float a=0;printf("请您输入您要的数字n:\n");scanf("%d",&n);while (i<=n){a=sign*(1.0/i);sum=sum+a;sign=-sign;i++;}printf("%-5.2f\n",sum);}*///14.实现xyz+yzz=532(xyz和yzz是三位数)利用穷举法/*int main(){int x,y,z;for (x=1;x<10;x++){for (y=1;y<10;y++){for (z=0;z<10;z++){if (100*x+y*10+z+100*y+10*z+z==532){printf("x=%-4dy=%-4dz=%-4d\n",x,y,z);}}}}}*///15.查找素数用到break这个知识点/*int main(){int i,j,m,n;printf("请您输入您要查找的素数最大值:\n");scanf("%d",&n);for (i=2;i<=n;i++){m=sqrt(i);for (j=2;j<=m;j++){if (i%j==0){break;}}if (j>m){printf("%-5d",i);}}printf("\n");}*///16.实现水仙数100-999的查找用到了continue知识点/*int main(){int i,j,k,n;printf("水仙数有:\n");for (n=100;n<=999;n++){i=n/100;j=n/10-i*10;k=n%10;if (n!=i*i*i+j*j*j+k*k*k){continue;}else{printf("%-7d",n);}}printf("\n");}*///17.用到logo实现1+2+....+100不过goto最好不要用/*int main(){int i=1;int sum=0;loop: if (i<=100){sum+=i;i++;goto loop;}printf("%d\n",sum);}*///18.用for的多重循环实现9*9乘法表/*int main(){int i,j;for (i=1;i<10;i++){printf("%-4d",i);}printf("\n");for (i=1;i<10;i++){printf("- ");}printf("\n");for (i=1;i<10;i++){for (j=1;j<i;j++){printf(" ");}for (j=i;j<10;j++){printf("%-4d",i*j);}printf("\n");}}*///19.用到一维数组的知识点还有利用了冒泡排序的方法/*int main(){int a[10];int i,j,temp;printf("请输入十个数值:\n");for (i=0;i<10;i++){scanf("%d",&a[i]);}for (i=0;i<10;i++){for (j=i;j<10;j++){if (a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}for (i=0;i<10;i++){printf("%-4d\n",a[i]);}}*///20.利用一维数组实现Fibonacci数列/*int main(){int i;long f[30]={1,1};for (i=2;i<30;i++){f[i]=f[i-2]+f[i-1];}for (i=1;i<=30;i++){printf("%-10ld",f[i-1]);if (i%5==0){printf("\n");}}}*///21.利用二维数组将二维数组倒过来打印/*int main(){int a[10][10];int i,j;for (i=1;i<11;i++){for (j=1;j<11;j++){a[i-1][j-1]=i*j;}}for (i=0;i<10;i++){for (j=0;j<10;j++){printf("%-5d",a[i][j]);}printf("\n");}printf("\n");for (i=9;i>=0;i--){for (j=9;j>=0;j--){printf("%-5d",a[i][j]);}printf("\n");}}*///22.字符串一维数组(注意数组越界的情况)/*int main(){char name[100];int i;gets(name);for (i=0;i<strlen(name);i++){printf("%c",name[i]);}printf("\n");}*///23.二维字符串的运用(同样要注意越界的情况)/*int main(){char name[5][20];int i;for (i=0;i<5;i++){gets(name[i]);}for (i=0;i<5;i++){puts(name[i]);}}*///24.此题是自己实现跟函数strcpy同样功能,同时也要注意字符的结尾符'\0'||自己可以去实现strcat这个函数的功能/*int main(){char name[20];char strcpyname[20];int i;gets(name);for (i=0;i<strlen(name);i++){strcpyname[i]=name[i];}strcpyname[i]='\0';//注意字符串是以'\0'结尾的puts(strcpyname);strcpy(strcpyname,name);printf("%s\n",strcpyname);}*///25.结构体的基本运用,实现结构体的基本赋值和引用,同时还包括了typedef的用法,可以自己实现排序,求平均分的功能/*typedef struct student{int number;char name[10];float score;}Student;int main(){Student stu[10];int i;for (i=0;i<3;i++){scanf("%d%s%f",&stu[i].number,stu[i].name,&stu[i].score);}for (i=0;i<3;i++){printf("%-10d%-10s%-10.1f\n",stu[i].number,stu[i].name,stu[i].score);}}*///26.将结构体和指针结合运用,目的是为了说明结构体的运用时很广的,只是我们所学的限制,结构体还可以跟链表结合一起用//这才是结构体用处的更大体现,后面再举例说明/*typedef struct student{int number;char name[10];float score;}Student;int main(){Student *stu[10];int i;for (i=0;i<10;i++){stu[i]=(Student *)malloc(sizeof(Student));//注意的地方开辟空间,可以试着屏蔽这几句看会出现怎么样的结果}for (i=0;i<3;i++){scanf("%d%s%f",&stu[i]->number,stu[i]->name,&stu[i]->score);}for (i=0;i<3;i++){printf("%-10d%-10s%-10.1f\n",stu[i]->number,stu[i]->name,stu[i]->score);}}*///27.利用函数调用实现两数交换,用到的其实是地址的交换,如果不是地址交换能实现两数的交换吗?/*int main(){int a=10;int b=20;void exchange_number(int *a,int *b);//函数声明exchange_number(&a,&b);printf("%-4d%-4d\n",a,b);}void exchange_number(int *a,int *b){int temp;temp=*a;*b=temp;}*///28.此函数看上去跟上面的差不多,可是功能却没办法实现两数交换,这是为什么呢?这涉及到作用域//void exchange_number(int a,int b)这个函数定义的a,b两个变量,当它们运行完就释放了,对//主函数的a,b有改变吗?没有改变/*int main(){int a=10;int b=20;void exchange_number(int a,int b);//函数声明exchange_number(&a,&b);printf("%-4d%-4d\n",a,b);}void exchange_number(int a,int b){int temp;temp=a;a=b;b=temp;}*///29.将数组传递给调用函数,实现按大到小排序/*int main(){int a[10];int i;void sort(int a[]);for (i=0;i<10;i++){a[i]=i;}sort(a);for (i=0;i<10;i++){printf("%-4d",a[i]);}printf("\n");}void sort(int a[]){int i,j;for (i=0;i<10;i++){for (j=i;j<10;j++){if (a[i]<a[j]){temp=a[i];a[i]=a[j];a[j]=temp;}}}}*///30.实现sum=1!+2!..../*int sum(int n){int b=0;int a=1;int i;for (i=1;i<=n;i++){a=a*i;b+=a;}return b;}int main(){int c;c=sum(3);printf("%-7d\n",c);}*///31.利用指针将a=10给了temp指针/*int main(){int *temp;int a=10;printf("%-10d%-10d%-10d%-10d\n",&a,a,*temp,temp);}*///32.字符指针/*int main(){char *name="wo shi hao hai zi!";printf("%s\n",name);}*///33.一维指针/*int main(){int *number[10];int i;for (i=0;i<10;i++){number[i]=i;}for (i=0;i<10;i++){printf("%-4d",number[i]);}printf("\n");}*///34.一维字符指针/*int main(){char *name[20];gets(name);puts(name);}*///35.此题结合了结构体,函数调用,指针,冒泡算法等知识点的运用/*typedef struct student{char *name[20];int number;float score;}Student;Student stu[3];void Assignment(){int i;for (i=0;i<3;i++){scanf("%s%d%f",stu[i].name,&stu[i].number,&stu[i].score);}}void sort(){int i,j;Student temp;for (i=0;i<3;i++){for (j=i;j<3;j++){if (stu[i].score<stu[j].score){temp=stu[i];stu[i]=stu[j];stu[j]=temp;}}}}void pint(){int i;for (i=0;i<3;i++){printf("%-10d%-10s%-10.1f\n",stu[i].number,stu[i].name,stu[i].score);}}int main(){Assignment();sort();pint();}*///36.行指针的引用/*int main(){int i,j;int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};int (*b)[4];b=a;for (i=0;i<3;i++){for (j=0;j<4;j++){printf("%-4d",a[i][j]);}printf("\n");}for (i=0;i<3;i++){for (j=0;j<4;j++){printf("%-4d",b[i][j]);}printf("\n");}for (i=0;i<3;i++){for (j=0;j<4;j++){printf("%-4d",*(*(b+i)+j));}printf("\n");}for (i=0;i<3;i++){for (j=0;j<4;j++){printf("%-4d",*(b[i]+j));}printf("\n");}}*///37.二维指针的引用/*int main(){char *name[3][20];int i;for (i=0;i<3;i++){gets(name[i]);}for (i=0;i<3;i++){puts(name[i]);}}*///38.链表的运用/*typedef struct student{int number;char name[20];}Student;typedef struct node{Student data;struct node *next;}Node;Node *initlist(){Node *studenthead;studenthead=(Node*)malloc(sizeof(Node));studenthead->next=NULL;return studenthead;}Node*createlist(int n){Node *p,*r,*q;int i;p=r=initlist();for (i=0;i<n;i++){q=(Node*)malloc(sizeof(Node));scanf("%d%s",&q->data.number,q->);p->next=q;p=q;q->next=NULL;}return r;}Node* delist(int number,Node *head)//链表的删除,可以以此为基础自己写修改,查询等{Node *headp;Node *p,*q;q=p=head;headp=head->next;while (headp!=NULL){if (headp->data.number==number&&headp->next!=NULL){p->next=headp->next;break;}else if (headp->data.number==number){p->next=NULL;break;}p=headp;headp=headp->next;}return q;}void print(Node *headq){Node *head;head=headq;head=head->next;if (head==NULL){printf("链表是空的!\n");}while (head!=NULL){printf("%-10d%-10s\n",head->data.number,head->);head=head->next;}}int main(){Node *studenthead;Node *stuhead;studenthead=createlist(3);print(studenthead);stuhead=delist(1,studenthead);print(stuhead);}*///时间函数/*int main(){char time1[60];time_t Time;struct tm *t;while(1){Sleep(1000);system("cls");Time=time(NULL);t=localtime(&Time);strcpy(time1,asctime(t));printf("Local time is:%s",time1);}}*//*int main(){char time1[20];time_t Time;struct tm *t;while (1){Sleep(1000);Time=time(NULL);t=localtime(&Time);strftime(time1,20,"%Y-%m-%d-%H-%m%s",t);printf("%s\n",time1);}}*///40.随机函数int main(){int a[10];int i;srand(time(0));for (i=0;i<10;i++){a[i]=rand()%10;}for (i=0;i<10;i++){printf("%-4d",a[i]);}printf("\n");}注释:这些代码是在vc编译器下编写的。
C语言必背18个经典程序aaaaaaaaaaa 2
C语言必背18个经典程序--- 此是按照二级试卷的格式描述的,期末考试要求按教科书上的格式,当然可以自己修改成更简练的源程序1、/*输出9*9口诀。
共9行9列,i控制行,j控制列。
*/#include "stdio.h"main(){int i,j,result;for (i=1;i<10;i++){ for(j=1;j<10;j++){result=i*j;printf("%d*%d=%-3d",i,j,result);/*-3d表示左对齐,占3位*/}printf("\n");/*每一行后换行*/}}2、/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?兔子的规律为数列1,1,2,3,5,8,13,21....*/main(){long f1,f2;int i;f1=f2=1;for(i=1;i<=20;i++){ printf("%12ld %12ld",f1,f2);if(i%2==0) printf("\n");/*控制输出,每行四个*/f1=f1+f2; /*前两个月加起来赋值给第三个月*/f2=f1+f2; /*前两个月加起来赋值给第四个月*/}}3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。
程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。
*/#include "math.h"main(){int m,i,k,h=0,leap=1;printf("\n");for(m=101;m<=200;m++){ k=sqrt(m+1);for(i=2;i<=k;i++)if(m%i==0){leap=0;break;}if(leap) /*内循环结束后,leap依然为1,则m是素数*/{printf("%-4d",m);h++;if(h%10==0)printf("\n");}leap=1;}printf("\nThe total is %d",h);}4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。
C经典程序代码大全
//根据半径计算圆的周长和面积#include <iostream.h>const float PI=3.1416; //声明常量(只读变量)PI为3.1416float fCir_L(float); //声明自定义函数fCir_L()的原型float fCir_S(float); //声明自定义函数fCir_S()的原型//以下是main()函数main(){float r,l,s; //声明3个变量cout<<"r="; //显示字符串cin>>r; //键盘输入l=fCir_L(r); //计算圆的周长,赋值给变量ls=fCir_S(r); //计算圆的面积,赋值给变量scout<<"l="<<l; //显示计算结果cout<<"\ns="<<s;}//定义计算圆的周长的函数fCir_L()float fCir_L(float x){float z=-1.0; //声明局部变量if (x>=0.0) //如果参数大于0,则计算圆的周长z=2*PI*x;return(z); //返回函数值}//定义计算圆的面积的函数fCir_S()float fCir_S(float x){float z=-1.0; //声明局部变量if (x>=0.0) //如果参数大于0,则计算圆的面积z=PI*x*x;return(z); //返回函数值}/* Program: P1-2.CPPWritten by: HapDate written: 02:11:10*/#include <iostream.h>void main(void){double s1,s2,s3;s1=1.5; /* 对变量s1赋值*/cout<<"s1="<<s1<<endl;/* 对变量s2赋值*/ s2=2.5;cout<<"s2="<<s2<<endl;s3= /* 对变量s3赋值*/ 3.5;cout<<"s3="<<s3<<endl;cout<<"s1+s2+s3="<<s1+s2+s3<<endl; //计算并显示//计算并显示cout<<"s1+s2+s3="<<s1+s2+s3<<endl;}#include <iostream.h>main(){double r=1.0;cout<<"r="<<r<<endl;double l;l=2*3.1416*r; //计算圆的周长,赋值给变量lcout<<"l="<<l<<endl; //显示圆的周长double s=3.1416*r*r; //计算圆的面积,赋值给变量scin>>r; //键盘输入l=2*3.1416*r; //计算圆的周长,赋值给变量l cout<<"l="<<l<<endl; //显示圆的周长s=3.1416*r*r;cout<<"s="<<s<<endl; //显示圆的面积}#include <iostream.h> //包含iostream.h头文件void main(){//输出字符常量、变量和字符串char c1='A';cout<<'W';cout<<c1<<endl;cout<<"This is a test."<<endl;cout<<"------------------"<<endl;//输出整型常量、变量和表达式int n=100;cout<<10;cout<<n;cout<<2*n<<endl; //输出整型表达式cout<<"------------------"<<endl;//输出浮点型常量、变量和表达式double pi=3.1415926,r=10.0,s=pi*r*r;cout<<pi<<endl;cout<<r;cout<<s;cout<<2*r*pi<<endl; //输出浮点型表达式cout<<"------------------"<<endl;//一个cout可以输出多项数据cout<<'W'<<" "<<c1<<endl;cout<<"This is a test."<<endl;cout<<"pi="<<pi<<" r="<<r<<" s="<<s<<endl;}#include <iostream.h> //包含iostream.h头文件main(){//输入输出字符char c;cin>>c;cout<<"c="<<c<<endl;//输入输出整型数据int n;cin>>n;cout<<"n="<<n<<endl;//输入输出浮点型数据double x;cin>>x;cout<<"x="<<x<<endl;//输入提示cout<<"n=";cin>>n;cout<<"n="<<n<<endl;//多项输入cout<<"c n x"<<endl;cin>>c>>n>>x;cout<<"c="<<c<<" n="<<n<<" x="<<x<<endl;}#include <iostream.h> //包含iostream.h头文件main()//声明整型变量int a,b;//从键盘上为整型变量赋值cout<<"a=";cin>>a;cout<<"b=";cin>>b;//整型数的算术运算cout<<a<<"+"<<b<<"="<<a+b<<endl;cout<<a<<"-"<<b<<"="<<a-b<<endl;cout<<a<<"*"<<b<<"="<<a*b<<endl;cout<<a<<"/"<<b<<"="<<a/b<<endl;cout<<a<<"%"<<b<<"="<<a%b<<endl;//测试溢出short n=32767,m; //n取short类型的最大值cout<<"n="<<n<<endl;m=n+1; //引起溢出cout<<"n+1="<<m<<endl;}#include <iostream.h> //包含iostream.h头文件main(){//声明变量,并初始化int a=010,b=10,c=0X10;//以十进制形式显示数据cout<<"DEC:";cout<<" a="<<a;cout<<" b="<<b;cout<<" c="<<c<<endl;//以八进制形式显示数据cout<<"OCT:";cout<<oct; //指定八进制输出cout<<" a="<<a;cout<<" b="<<b;cout<<" c="<<c<<endl;//以十六进制形式显示数据cout<<"HEX:";cout<<hex; //指定十六进制输出cout<<" a="<<a;cout<<" b="<<b;cout<<" c="<<c<<endl;//八、十和十六进制数混合运算并输出cout<<"a+b+c=";cout<<dec; //恢复十进制输出cout<<a+b+c<<endl;//测试八、十和十六进制输入cout<<"DEC:a="; cin>>a;cout<<"OCT:b="; cin>>b;cout<<"HEX:a="; cin>>c;cout<<"DEC:"<<dec<<endl; //指定十进制输出cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;cout<<"c="<<c<<endl;}#include <iostream.h> //包含iostream.h头文件#include<iomanip.h> // iomanip.h头文件包含setprecision()的定义main(){//float型变量的声明、输入、计算和输出cout<<"fx=";cin>>fx;cout<<"fy=";cin>>fy;cout<<fx<<"+"<<fy<<"="<<fx+fy<<endl;cout<<fx<<"-"<<fy<<"="<<fx-fy<<endl;cout<<fx<<"*"<<fy<<"="<<fx*fy<<endl;cout<<fx<<"/"<<fy<<"="<<fx/fy<<endl<<endl;//cout<<fx<<"%"<<fy<<"="<<fx%fy<<endl; Error!//double型变量的声明、输入、计算和输出float dx,dy;cout<<"dx=";cin>>dx;cout<<"dy=";cin>>dy;cout<<dx<<"+"<<dy<<"="<<dx+dy<<endl;cout<<dx<<"-"<<dy<<"="<<dx-dy<<endl;cout<<dx<<"*"<<dy<<"="<<dx*dy<<endl;cout<<dx<<"/"<<dy<<"="<<dx/dy<<endl<<endl;//cout<<fx<<"%"<<fy<<"="<<fx%fy<<endl; Error!//测试float和double类型数据的有效位fx=10.0;fy=6.0;float fz=fx/fy;dx=10.0;dy=6.0;double dz=dx/dy;cout<<"fz=";cout<<setprecision(20)<<fx<<"/"<<fy<<"="<<fz<<endl;cout<<"dz=";cout<<setprecision(20)<<dx<<"/"<<dy<<"="<<dz<<endl<<endl;;//float型溢出float x=3.5e14;cout<<"x="<<x<<endl;cout<<"x*x="<<x*x<<endl;cout<<"x*x*x="<<x*x*x<<endl;}#include <iostream.h> //包含iostream.h头文件main(){//字符类型变量的声明char c1='A';char c2;//字符数据的运算及输出c2=c1+32;cout<<"c1="<<c1<<endl;cout<<"c2="<<c2<<endl;//输出字符及ASCII码cout<<c1<<" : "<<int(c1)<<endl;cout<<c2<<" : "<<int(c2)<<endl;cout<<'$'<<" : "<<int('$')<<endl;//输入字符cout<<"c1 c2"<<endl;cin>>c1>>c2;cout<<"c1="<<c1<<" c2="<<c2<<endl;}#include <iostream.h> //包含iostream.h头文件main(){char c1='\a',TAB='\t';//阵铃一声//使用水平制表符cout<<1<<TAB<<2<<TAB<<3<<TAB<<4<<endl;//使用双引号cout<<"He said \"Thank you\"."<<endl;//使用回车换行cout<<"abc\n"<<"def"<<'\n';}#include <iostream.h> //包含iostream.h头文件main(){//声明bool变量,并初始化bool flag1=false,flag2=true;//输出布尔常量和变量cout<<"false:"<<false<<endl;cout<<"true: "<<true<<endl;cout<<"flag1="<<flag1<<endl;cout<<"flag2="<<flag2<<endl;//布尔变量的赋值和输出int x=1;flag1=x>0; //存放关系运算结果cout<<"flag1="<<flag1<<endl;flag2=flag1; //bool类型变量相互赋值cout<<"flag2="<<flag2<<endl;//布尔变量超界处理flag1=100;cout<<"flag1="<<flag1<<endl;flag2=-100;cout<<"flag2="<<flag2<<endl;}#include <iostream.h>const double PI=3.1416; //声明常量(const变量)PI为3.1416 main(){//声明3个变量double r,l,s;//输入圆的半径cout<<"r=";cin>>r;//计算圆的周长l=2*PI*r;cout<<"l="<<l<<endl;//计算圆的面积s=PI*r*r;cout<<"s="<<s<<endl;}#include<iostream.h>main(){//定义枚举类型,并指定其枚举元素的值enum color {RED=3,YELLOW=6,BLUE=9};//声明枚举变量a和b,并为枚举变量a赋初值enum color a=RED;color b; //合法,与C语言不同// 输出枚举常量cout<<"RED="<<RED<<endl;cout<<"BLUE="<<BLUE<<endl;//枚举变量的赋值和输出b=a;a=BLUE;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;//a=100; 错误!//a=6 也错误!//枚举变量的关系运算b=BLUE; // 枚举变量的赋值运算cout<<"a<b="<<(a<b)<<endl;}#include <iostream.h>const double PI=3.1416; //声明常量(const变量)PI为3.1416 main(){//声明3个变量double r=3,l,s;//计算圆的周长l=2*PI*r;cout<<"l="<<l<<endl;//计算圆的面积s=PI*r*r;cout<<"s="<<s<<endl;//验证赋值误差int il,is;il=l;is=s;cout<<"il="<<il<<endl;cout<<"is="<<is<<endl;}#include <iostream.h>main(){//变量声明char c;double x,y;//测试自增cout<<"++E and E++ :"<<endl;c='B';cout<<"c="<<++c<<endl; //输出c=Cc='B';cout<<"c="<<c++<<endl; //输出c=Bx=1.5;y=5+ ++x; //加号后的空格不能少cout<<"y="<<y<<endl; //输出y=7.5x=1.5;y=5+x++;cout<<"y="<<y<<endl; //输出y=6.5cout<<"--------------------"<<endl;//测试自减cout<<"--E and E-- :"<<endl;c='B';cout<<"c="<<--c<<endl; //输出c=Ac='B';cout<<"c="<<c--<<endl; //输出c=Bx=1.5;y=5+--x;cout<<"y="<<y<<endl; //输出y=5.5y=5+x--;cout<<"y="<<y<<endl; //输出y=6.5}#include <iostream.h>main(){int a=3, b=2;//输出关系表达式cout<<a<b<<endl;cout<<(a<b)<<(a>b)<<(a>=b)<<(a==b)<<(a!=b)<<endl;bool flag=2*a<b+10;cout<<"flag="<<flag;}#include <iostream.h>main(){float a=3.5,b=2.1,c=0;cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;//与运算cout<<"a&&b="<<(a&&b)<<endl;//输出1cout<<"a&&c="<<(a&&c)<<endl;//输出0//或运算cout<<"a||b="<<(a||b)<<endl;//输出1cout<<"a||c="<<(a||c)<<endl;//输出1//非运算cout<<"!a="<<!a<<endl<<"!c="<<!c<<endl;//输出0 1//关系运算和逻辑运算bool flag=a>=0 && a<=5; //变量a在[0,5]区间内cout<<"a=>0 && a<=5="<<flag<<endl;//输出1//算术运算、关系运算和逻辑运算cout<<"a+5>2*b+2||a<b+3="<<(a+5>2*b+2||a<b+3)<<endl;//输出1 }#include <iostream.h>main(){//按位与运算cout<<"24&12="<<(24&12)<<endl;//按位异或运算cout<<"24^12="<<(24^12)<<endl;//按位或运算cout<<"24|12="<<(24|12)<<endl;//按位取反运算cout<<"~24="<<(~24)<<endl;//左移位运算cout<<"5<<3="<<(5<<3)<<endl;cout<<"-5<<3="<<(-5<<3)<<endl;//右移位运算cout<<"5>>3="<<(5>>3)<<endl;cout<<"-5>>3="<<(-5>>3)<<endl;}#include <iostream.h>main(){int a=1,b=1,c=3;//显示a,b,c的值cout<<"a="<<a<<" b="<<b<<" c="<<c<<endl;//计算显示(1) b+=a+2*c%5; 的结果b+=a+2*c%5; //相当于表达式语句b=b+(a+2*c%5);cout<<"(1) b="<<b<<endl;a=1,b=1,c=3;a<<=c-2*b; // 相当于表达式语句a=a<<(c-2*b);cout<<"(2) a="<<a<<endl;//计算显示(3) a*=b=c=3;的结果a=1,b=1,c=3;a*=b=c=3; //相当于语句组c=3;b=c;a=a*b;cout<<"(3) a="<<a<<" b="<<b<<" c="<<c<<endl;//计算显示(4) a+=b+=c;的结果a=1,b=1,c=3;a+=b+=c; //相当于语句组b=b+c; a=a+b;cout<<"(4) a="<<a<<" b="<<b<<" c="<<c<<endl;//计算显示(5) a-=b=++c+2;的结果a=1,b=1,c=3;a-=b=++c+2; //相当于语句组++c;b=b+c+2;a=a-b;cout<<"(5) a="<<a<<" b="<<b<<" c="<<c<<endl;}#include <iostream.h>main(){//用sizeof 计算各类种常量的字节长度cout<<"sizeof('$')="<<sizeof('$')<<endl;cout<<"sizeof(1)="<<sizeof(1)<<endl;cout<<"sizeof(1.5)="<<sizeof(1.5)<<endl;cout<<"sizeof(\"Good!\")="<<sizeof("Good!")<<endl;//用sizeof 计算各类型变量的字节长度int i=100;char c='A';float x=3.1416;double p=0.1;cout<<"sizeof(i)="<<sizeof(i)<<endl;cout<<"sizeof(c)="<<sizeof(c)<<endl;cout<<"sizeof(x)="<<sizeof(x)<<endl;cout<<"sizeof(p)="<<sizeof(p)<<endl;//用sizeof 计算表达式的字节长度cout<<"sizeof(x+1.732)="<<sizeof(x+1.732)<<endl;//用sizeof 计算各类型的字节长度cout<<"sizeof(char)="<<sizeof(char)<<endl;cout<<"sizeof(int)="<<sizeof(int)<<endl;cout<<"sizeof(float)="<<sizeof(float)<<endl;cout<<"sizeof(double)="<<sizeof(double)<<endl;//用sizeof 计算数组的字节长度char str[]="This is a test.";int a[10];double xy[10];cout<<"sizeof(str)="<<sizeof(str)<<endl;cout<<"sizeof(a)="<<sizeof(a)<<endl;cout<<"sizeof(xy)="<<sizeof(xy)<<endl;//用sizeof 计算自定义类型的长度struct st {short num;float math_grade;float Chinese_grade;float sum_grade;};st student1;cout<<"sizeof(st)="<<sizeof(st)<<endl;cout<<"sizeof(student1)="<<sizeof(student1)<<endl;}#include <iostream.h>{//声明变量语句中使用顺序运算int x, y;//计算中使用顺序运算x=50;y=(x=x-5, x/5);cout<<"x="<<x<<endl;cout<<"y="<<y<<endl;}#include <iostream.h>main(){//测试表达式类型的转换int n=100,m;double x=3.791,y;cout<<"n*x="<<n*x<<endl;//赋值类型转换m=x;y=n;cout<<"m="<<m<<endl;cout<<"y="<<y<<endl;//强制类型转换cout<<"int(x)="<<int(x)<<endl;cout<<"(int)x="<<(int)x<<endl;cout<<"int(1.732+x)="<<int(1.732+x)<<endl;cout<<"(int)1.732+x="<<(int)1.723+x<<endl;cout<<"double(100)="<<double(100)<<endl;}#include <iostream.h>main(){float a,b,s;cout<<"a b"<<endl;cin>>a>>b; //利用cin从键盘上为变量a,b 赋值s=a;if (a<b) {s=b; //if语句中只有这一个语句,可省略花括号}s=s*s; //变量s中保存a,b中较大的一个数的平方cout<<"s="<<s;}#include <iostream.h>main(){int x,y;cout<<"x=";cin>>x;if (x<=0) { //满足条件执行y=2*x;cout<<"y="<<y; //输出结果}else { //不满足条件执行y=x*x;cout<<"y="<<y; //输出结果}}#include <iostream.h>main(){int smallest;cout<<"a b c"<<endl;cin>>a>>b>>c;if (a<=b) //外层条件语句{if (a<=c) //内层条件语句smallest=a;elsesmallest=c;}else{if (b<=c) //内层条件语句smallest=b;elsesmallest=c;}cout<<"Smallest="<<smallest<<endl;}#include <iostream.h>main(){int score;//从键盘上输入分数cout<<"score=";cin>>score;//用带else if的条件语句判断处理if (score<0 || score>100){cout<<"The score is out of range!"<<endl;}else if (score>=90)cout<<"Your grade is a A."<<endl;else if (score>=80)cout<<"Your grade is a B."<<endl;else if (score>=70)cout<<"Your grade is a C."<<endl;else if (score>=60)cout<<"Your grade is a D."<<endl;elsecout<<"Your grade is a E."<<endl;}#include <iostream.h>main(){int n;cout<<"n=";cin>>n;if (n>=0 && n<=100 &&n%2==0)cout<<"n="<<n<<endl;elsecout<<"The "<<n<<" is out of range!"<<endl; }#include <iostream.h>main(){int a,b,Max;//输入数据cout<<"a=";cout<<"b=";cin>>b;//找出较大值Max=a>ba:b;cout<<"Max="<<Max<<endl;}#include <iostream.h>main(){int a,b;//输入数据cout<<"a=";cin>>a;cout<<"b=";cin>>b;//除法判断if (b!=0 && a%b==0) {cout<<b<<" divides "<<a<<endl;cout<<"a/b="<<a/b<<endl;}elsecout<<b<<" does not divide "<<a<<endl;}#include <iostream.h>main(){//x,y 为操作数,c为运算符int x,y,z;char c1;cin>>x>>c1>>y; //c1//多路选择语句选择不同表达式计算语句switch(c1) {case '+':cout<<x<<"+"<<y<<"="<<x+y<<endl;break;case '-':cout<<x<<"-"<<y<<"="<<x-y<<endl;break;case '*':cout<<x<<"*"<<y<<"="<<x*y<<endl;break;case '/':cout<<x<<"/"<<y<<"="<<x/y<<endl;break;case '%':cout<<x<<"%"<<y<<"="<<x%y<<endl;break;default :cout<<"Wrong !"<<endl; //当不符合上述情况时执行本子句}}#include<iostream.h>float x=365.5; //声明全局变量main() {int x=1,y=2;double w=x+y;{double x=1.414,y=1.732,z=3.14;cout<<"inner:x="<<x<<endl;cout<<"inner:y="<<y<<endl;cout<<"inner:z="<<z<<endl;cout<<"outer:w="<<w<<endl;cout<<"::x="<<::x<<endl; //访问重名的全局变量}cout<<"outer:x="<<x<<endl;cout<<"outer:y="<<y<<endl;cout<<"outer:w="<<w<<endl;//cout<<"inner:z="<<z<<endl;无效cout<<"::x="<<::x<<endl; //访问重名的全局变量}#include<iostream.h>main() {//显示1,2,3 (10)for(int i=1;i<=10;i++)cout<<i<<" ";cout<<endl;//显示10,9,8 (1)for(int j=10;j>=1;j--)cout<<j<<" ";cout<<endl;//显示1,3,5 (9)for(int k=1;k<=10;k=k+2)cout<<k<<" ";cout<<endl;//显示ABC...Zfor(char c='A';c<='Z';c++)cout<<c;cout<<endl;//显示0,0.1,0.2...1.0for(float x=0;x<=1.0;x=x+0.1)cout<<x<<" ";cout<<endl;//显示0,0.1,0.2...1.0for(float x1=0;x1<=1.0+0.1/2;x1=x1+0.1)cout<<x1<<" ";cout<<endl;//计算s=1+2+3...+100int s=0;for(int n=1;n<=100;n++)s=s+n;cout<<"s="<<s<<endl;}#include<iostream.h>main(){//计算s=1+2+3...+100int s=0,n=1;while(n<=100) {s=s+n;n++;}cout<<"s="<<s<<endl;//累加键盘输入的数据double x,sum=0.0;cout<<"x=";cin>>x;while(x!=0) {sum+=x;cout<<"x=";cin>>x;}cout<<"sum="<<sum<<endl;}#include<iostream.h>main(){//计算s=1+2+3...+100int s=0,n=0;do {n++;s+=n;}while(n<100);cout<<"s="<<s<<endl;//累加键盘输入的数据double x,sum=0.0;do {cout<<"x=";cin>>x;sum+=x;} while(x!=0);cout<<"sum="<<sum<<endl;}#include<iostream.h>main(){//计算和打印打印乘法九九表for (int i=1;i<=9;i++) {cout<<i;for (int j=1;j<=9;j++)cout<<'\t'<<i<<"*"<<j<<"="<<i*j;cout<<endl;}}#include<iostream.h>main(){int x,sum=0;//定义标号L1L1: cout<<"x=";cin>>x;if (x==-1)goto L2; //无条件转移语句,转到L2语句处elsesum+=x;goto L1; //无条件转移语句,转到L1语句处//定义标号L2L2: cout<<"sum="<<sum<<endl;}#include<iostream.h>main(){//累加键盘输入的数据double x,sum=0.0;while(1) {cout<<"x=";cin>>x;if (x<=0) break;sum+=x;}cout<<"sum="<<sum<<endl;}#include<iostream.h>main(){int i;for (i=1;i<=20;i++){if (i%3==0) //能被3 整除的整数,返回进行下次循环continue;cout<<i<<" ";}cout<<endl;}#include<iostream.h>main(){//声明数组和变量int a[5],i,sum;double avg;//从键盘上循环为数组赋值for (i=0;i<5;i++) {cout<<"a["<<i<<"]=";cin>>a[i];}//直接显示数组元素cout<<a[0]<<a[1]<<a[2]<<a[3]<<a[4]<<endl;//利用for循环显示数组各元素的值for (i=0;i<5;i++)cout<<a[i]<<" ";cout<<endl;//计算数组元素之和,并显示计算结果sum=a[0]+a[1]+a[2]+a[3]+a[4];cout<<"sum="<<sum<<endl;//利用循环计算数组的累加和for (sum=0,i=0;i<5;i++)sum+=a[i];//显示累加和及平均值cout<<"sum="<<sum<<endl;avg=sum/5.0;cout<<"avg="<<avg<<endl;}#include<iostream.h>main(){int i,max,index,a[5];//从键盘上为数组赋值for (i=0;i<=4;i++){cout<<"a["<<i<<"]=";cin>>a[i];}// 利用循环遍历数组,找出最大值的元素及其下标max=a[0];for (i=0;i<=4;i++){if (max<a[i]){max=a[i];index=i;}}cout<<"\nMax="<<max<<" index="<<index;}#include<iostream.h>#define size 5main(){//声明变量int i,j;float t,a[size];//从键盘上为数组赋值for (i=0;i<size;i++){cout<<"a["<<i<<"]=";cin>>a[i];}//对数组按从小到大顺序排序for (i=0;i<size-1;i++)for (j=i+1;j<size;j++)if (a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}//显示排序结果for (i=0;i<size;i++)cout<<a[i]<<" ";cout<<endl;//输入要查找的数据int value;int found; //找到为1,否则为0int low,high,mid;for (i=1;i<=3;i++) {cout<<"value=";cin>>value;//二分法查找数组afound=0;low=0;high=size-1;while(low<=high){mid=(high+low)/2;if (a[mid]==value){found=1;break;}if (a[mid]<value)low=mid+1;elsehigh=mid-1;}if (found)cout<<"The valu found at:a["<<mid<<"]="<<a[mid]<<endl;elsecout<<"The "<<value<<" is not found!"<<endl;}}#include<iostream.h>main(){//声明变量int i,j;float t,a[5];//从键盘上为数组赋值for (i=0;i<=4;i++){cout<<"a["<<i<<"]=";cin>>a[i];}//对数组按从大到小顺序排序for (i=0;i<=3;i++)for (j=i+1;j<=4;j++)if (a[i]<=a[j]){t=a[i];a[i]=a[j];a[j]=t;}//显示排序结果for (i=0;i<=4;i++)cout<<a[i]<<" ";}#include<iostream.h>main(){//声明二维数组及变量int a[2][3],i,j;//从键盘上为数组a赋值for (i=0;i<2;i++)for (j=0;j<3;j++){cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];}//显示数组afor (i=0;i<2;i++) {for (j=0;j<3;j++){cout<<a[i][j]<<" ";}cout<<endl;}//找出该数组的最大元素及其下标int h,l,Max=a[0][0];for (i=0;i<2;i++) {for (j=0;j<3;j++){if (Max<a[i][j]) {Max=a[i][j];h=i;l=j;}}}cout<<"Max:"<<"a["<<h<<"]["<<l<<"]="<<a[h][l]<<endl; }#include<iostream.h>main(){//声明字符数组和变量char str[6];int i;//从键盘上输入字符串cout<<"str=";cin>>str;cout<<str<<endl;//按数组和下标变量两种方式显示字符数组cout<<str<<endl;for (i=0;i<6;i++)cout<<str[i];cout<<endl;//字符串反向输出for (i=5;i>=0;i--)cout<<str[i];cout<<endl;//将字符数组变成大写字母后输出for (i=0;i<=5;i++)str[i]-=32; //小写字母转换成大写字母cout<<str<<endl; //显示字符串}#include<iostream.h>main(){//声明变量和指针变量int a,b,c,*ip;//指针变量ip指向变量aa=100;ip=&a; //使指针变量ip 指向变量acout<<"a="<<a<<endl;cout<<"*ip="<<*ip<<endl;cout<<"ip="<<ip<<endl;//指针变量ip指向变量bip=&b; //使指针变量ip 指向变量bb=200;cout<<"b="<<b<<endl;cout<<"*ip="<<*ip<<endl;cout<<"ip="<<ip<<endl;//指针变量ip指向变量cip=&c; //使指针变量ip 指向变量b*ip=a+b;cout<<"c="<<c<<endl;cout<<"*ip="<<*ip<<endl;cout<<"ip="<<ip<<endl;}#include<iostream.h>main(){//声明数组、变量和指针变量int a[2][3],i,j;int* ip;//从键盘上为数组a赋值for (i=0;i<2;i++) //为数组a赋值for (j=0;j<3;j++){cout<<"a["<<i<<"]["<<j<<"]=";cin>>a[i][j];}//利用下标变量显示数组afor (i=0;i<2;i++) {for (j=0;j<3;j++){cout<<a[i][j]<<" ";}cout<<endl;。
200个经典C语言程序
void main()
{
int i,x,y,last=1; /*变量last保存求X的Y次方过程中的部分乘积的后三位*/
printf("Input X and Y(X**Y):");
scanf("%d**%d",&x,&y);
sum=0; /*将求累加和变量的初值置为0*/
for(i=1;i<=10;i++)
{
printf("Input number %d=",i);
scanf("%d",&integer); /*输入评委的评分*/
2.绘制余弦曲线和直线
在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。其中cos(x)图形用“*”表示,f(x)用“+”表示,在两个图形相交的点上则用f(x)图形的符号。
*问题分析与算法设计
本题可以在上题的基础上进行修改。图形迭加的关键是要在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。为此,可以先判断图形的交点,再分别控制打印两个不同的图形。
printf("*\n"); /*圆的右侧*/
}
}
--------------------------------------------------------------------------------
4.歌星大奖赛
--------------------------------------------------------------------------------
C语言必背18个经典程序(可直接打印)
fprintf(fp,"The new string is----%s\n",str);
fclose(fp);
}
13、/*在一个字串 s1 中查找一子串 s2,若存在则返回子串在主串中的起始位置
,不存在则返回-1。*/
6
C 语言必背 18 个经典程序
main() { char s1[6]="thisis";char s2[5]="is";
C 语言必背 18 个经典程序
1、/*输出 9*9 口诀。共 9 行 9 列,i 控制行,j 控制列。*/ #include "stdio.h" main() {int i,j,result; for (i=1;i<10;i++)
{ for(j=1;j<10;j++) { result=i*j; printf("%d*%d=%-3d",i,j,result);/*-3d 表示左对齐,占 3 位*/ } printf("\n");/*每一行后换行*/
数据随机输入,新数组以 4 行 4 列的方式输出,
请在空白处完善程序。*/
main()
{ int a[4][4],b[4][4],i,j;
/*a 存放原始数组数据,b 存放旋转后数组数据*/
printf("input 16 numbers: ");/*输入一组数据存放到数组 a 中,然后旋转存放到 b 数组中*/
int i,j,k; printf("Enter a string: "); scanf("%s",c); k=strlen(c); for (i=0,j=k-1;i<k/2;i++,j--)
c语言18个经典程序
c语言18个经典程序1. Hello, World! - 这是经典的C语言第一个程序,用于输出"Hello, World!"。
2. 求两个整数的和 - 用户输入两个整数,程序将计算并输出它们的和。
3. 判断一个数是奇数还是偶数 - 用户输入一个整数,程序将判断并输出该数是奇数还是偶数。
4. 求一个数的平方 - 用户输入一个数,程序将计算并输出该数的平方。
5. 求两个数的最大公约数 - 用户输入两个整数,程序将计算并输出它们的最大公约数。
6. 判断一个数是否为质数 - 用户输入一个正整数,程序将判断并输出该数是否为质数。
7. 求一个数的阶乘 - 用户输入一个正整数,程序将计算并输出该数的阶乘。
8. 生成斐波那契数列 - 用户输入一个正整数n,程序将生成并输出前n个斐波那契数。
9. 判断一个数是否为完全数 - 用户输入一个正整数,程序将判断并输出该数是否为完全数。
10. 判断一个字符串是否为回文字符串 - 用户输入一个字符串,程序将判断并输出该字符串是否为回文字符串。
11. 求一个数的倒数 - 用户输入一个非零实数,程序将计算并输出该数的倒数。
12. 求两个数的最小公倍数 - 用户输入两个正整数,程序将计算并输出它们的最小公倍数。
13. 判断一个年份是否为闰年 - 用户输入一个年份,程序将判断并输出该年份是否为闰年。
14. 生成九九乘法表 - 程序将生成并输出九九乘法表。
15. 判断一个数是否为负数、零或正数 - 用户输入一个实数,程序将判断并输出该数是负数、零还是正数。
16. 判断一个数是否为偶数的平方 - 用户输入一个整数,程序将判断并输出该数是否为偶数的平方。
17. 判断一个数是否为回文数 - 用户输入一个正整数,程序将判断并输出该数是否为回文数。
18. 判断一个字符串是否为回文句子 - 用户输入一个句子,程序将判断并输出该句子是否为回文句子。
这些经典的C语言程序涵盖了基本的输入输出、数学运算、条件判断、循环、字符串处理等方面的知识点。
C语言程序设计经典必背程序(推荐文档)
C语言程序设计典型编程必背1.计算机1-3+5-7+。
-99+101的值#include<stdio.h>main ( ){int i,t=1,s;s=0;for(i=1;i<=101;i+=2){ t=t*i; s=s+t;t=t>0?-1:1; }printf(“%d\n”,s);}2.输入一个十进制数,将他对应的二进制数的各位反序,形成新的十进制数输出。
11—1011—1101—13#include<stdio.h>main ( ){int n,x,t;printf(“shuruzhengshu:”);scanf(“%d”,&n);x=0;while(n!=0){ t=n%2; x=x*2+t;n=n/2; }printf(“xindezhengshu:%d\n,x”);}3.给出年月日,计算出该日是该年的第几天。
#include<stdio.h>main ( ){int year,month,day,days,i,d;printf(“shuru nian,yue,ri:”);scanf(“%d,%d,%d”,&year,&month,&day);days=0;for(i=1;i<month;i++){switch(i){case 1:case 3:case 5:case 7:case 8:case 10:case 12:d=31;break;case 4:case 6:case 9:case 11:d=30;break;case 2:if(year%4==0&&year%100!=0||year%400==0) d=29;else d=28;}days+=d;}printf(“%d nian %d yue %d ri shigainiande %d tian。
\n”,year,month,day,days+day);}4.求100——200间的素数。
经典c程序100例-
经典c程序100例-菜鸟变高手必看!(附下载)作者:佚名责任编辑:lujiezhen【程序91】题目:时间函数举例11.程序分析:2.程序源代码:#include "stdio.h"#include "time.h"void main(){ time_t lt; /*define a longint time varible*/lt=time(NULL);/*system time and date*/printf(ctime(<)); /*english format output*/printf(asctime(localtime(<)));/*tranfer to tm*/ printf(asctime(gmtime(<))); /*tranfer to Greenwich time*/}==============================================================【程序92】题目:时间函数举例21.程序分析:2.程序源代码:/*calculate time*/#include "time.h"#include "stdio.h"main(){ time_t start,end;int i;start=time(NULL);for(i=0;i<3000;i++){ printf("\1\1\1\1\1\1\1\1\1\1\n");}end=time(NULL);printf("\1: The different is %6.3f\n",difftime(end,start));}==============================================================【程序93】题目:时间函数举例31.程序分析:2.程序源代码:/*calculate time*/#include "time.h"#include "stdio.h"main(){ clock_t start,end;int i;double var;start=clock();for(i=0;i<10000;i++){ printf("\1\1\1\1\1\1\1\1\1\1\n");}end=clock();printf("\1: The different is %6.3f\n",(double)(end-start));}==============================================================【程序94】题目:时间函数举例4,一个猜数游戏,判断一个人反应快慢。
100个经典C语言程序
100个经典C语言程序1.绘制余弦曲线:在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线分析:在余弦曲线在0~360度的区间内,一行中要显示两个点,为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。
将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形总宽度为62列,计算出x行0~180度时y点的坐标m,则同一行与之对称的180~360度的y点坐标就是62-m。
程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
#include<stdio.h>#include<math.h>void main( ){ double y; int x, m;for(y=1;y>=-1;y-=0.1) //y为列方向,值从1到-1,步长为0.1{ m=acos(y)*10; //计算出y对应的弧度m,乘以10为图形放大倍数for(x=1; x<m; x++) printf(" ");printf("*"); //控制打印左侧的* 号for( ; x<62-m; x++) printf(" ");printf("*\n"); //控制打印同一行中对称的右侧*号}}2.绘制余弦曲线和直线:在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。
其中cos(x)图形用“*”表示,f(x)用“+”表示,两个图形相交的点上用“+”。
分析:图形迭加的关键是在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。
可以先判断图形的交点,再分别控制打印两个不同的图形。
#include<stdio.h>#include<math.h>void main( ){ double y; int x, m, n, yy;for (yy=0; yy<=20; yy++) //对于第一个y坐标进行计算并在一行中打印图形 { y=0.1*yy; //y:屏幕行方向坐标m=acos(1-y)*10; //m: cos(x)曲线上y点对应的屏幕列坐标n=45*(y-1)+31; //n: 直线上y点对应的列坐标for(x=0;x<=62;x++) //x: 屏幕列方向坐标if(x==m&&x==n) printf("+"); //直线与cos(x)相交时打印“+”else if(x==n) printf("+"); //打印不相交时的直线图形else if (x==m|| x==62-m) printf("*"); //打印不相交时的cos(x)图形else printf(" "); //其它情况打印空格printf("\n");}}3.绘制圆:在屏幕上用“*”画一个空心的圆分析:打印圆可利用图形的左右对称性。
初学C语言常用简单程序代码
初学C语言常用简单程序代码C语言是一门广泛应用于计算机科学领域的编程语言,它具有简洁、高效、灵活等特点,因此受到了广大程序员的喜爱。
在初学C语言的过程中,掌握一些常用的简单程序代码是非常重要的。
本文将介绍一些常用的C语言程序代码,帮助初学者更好地入门。
1. Hello, World!"Hello, World!"是C语言程序的经典入门例子。
它可以帮助我们熟悉C语言的基本语法和程序结构。
下面是一个简单的"Hello, World!"程序:```c#include <stdio.h>int main() {printf("Hello, World!\n");return 0;}```在这段代码中,`#include <stdio.h>`是一个预处理指令,用于引入标准输入输出库。
`int main()`是程序的入口函数,`printf("Hello, World!\n");`用于输出字符串"Hello, World!",`\n`表示换行。
`return 0;`表示程序正常结束。
2. 求和程序求和程序是C语言中常见的程序之一,它可以计算一系列数字的和。
下面是一个简单的求和程序:```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d的和为:%d\n", n, sum);return 0;}```在这段代码中,`int n, sum = 0;`定义了两个变量`n`和`sum`,`n`用于存储用户输入的整数,`sum`用于存储求和结果。
100个经典C语言程序
100个经典C语言程序1.绘制余弦曲线:在屏幕上用“*”显示0~360度的余弦函数cos(x)曲线分析:在余弦曲线在0~360度的区间内,一行中要显示两个点,为了同时得到余弦函数cos(x)图形在一行上的两个点,考虑利用cos(x)的左右对称性。
将屏幕的行方向定义为x,列方向定义为y,则0~180度的图形与180~360度的图形是左右对称的,若定义图形总宽度为62列,计算出x行0~180度时y点的坐标m,则同一行与之对称的180~360度的y点坐标就是62-m。
程序中利用反余弦函数acos计算坐标(x,y)的对应关系。
#include<stdio.h>#include<math.h>void main( ){ double y; int x, m;for(y=1;y>=-1;y-=0.1) //y为列方向,值从1到-1,步长为0.1{ m=acos(y)*10; //计算出y对应的弧度m,乘以10为图形放大倍数for(x=1; x<m; x++) printf(" ");printf("*"); //控制打印左侧的* 号for( ; x<62-m; x++) printf(" ");printf("*\n"); //控制打印同一行中对称的右侧*号}}2.绘制余弦曲线和直线:在屏幕上显示0~360度的cos(x)曲线与直线f(x)=45*(y-1)+31的迭加图形。
其中cos(x)图形用“*”表示,f(x)用“+”表示,两个图形相交的点上用“+”。
分析:图形迭加的关键是在分别计算出同一行中两个图形的列方向点坐标后,正确判断相互的位置关系。
可以先判断图形的交点,再分别控制打印两个不同的图形。
#include<stdio.h>#include<math.h>void main( ){ double y; int x, m, n, yy;for (yy=0; yy<=20; yy++) //对于第一个y坐标进行计算并在一行中打印图形 { y=0.1*yy; //y:屏幕行方向坐标m=acos(1-y)*10; //m: cos(x)曲线上y点对应的屏幕列坐标n=45*(y-1)+31; //n: 直线上y点对应的列坐标for(x=0;x<=62;x++) //x: 屏幕列方向坐标if(x==m&&x==n) printf("+"); //直线与cos(x)相交时打印“+”else if(x==n) printf("+"); //打印不相交时的直线图形else if (x==m|| x==62-m) printf("*"); //打印不相交时的cos(x)图形else printf(" "); //其它情况打印空格printf("\n");}}3.绘制圆:在屏幕上用“*”画一个空心的圆分析:打印圆可利用图形的左右对称性。
计算机等级考试二级C语言模拟试卷(七)
全国计算机等级考试二级C语言模拟试卷(七)一、选择题(每小题1分,共40分)1、下列关于循环队列的叙述,正确的是A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2、下列叙述中,正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.栈和队列都是操作受限的线性结构3、一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为A.4 B.6 C.10 D.164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5、在满足实体完整性约束的条件下A.一个关系中可以没有候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中应该有一个或者多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7、软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8、下列不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的性能需求C.制定软件集成测试计划D.需求规格说明书审评9、在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10、在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是A.确定算法和数据结构、编码、调试、整理文档B.编码、确定算法和数据结构、调试、整理文档C.整理文档、确定算法和数据结构、编码、调试D.确定算法和数据结构、调试、编码、整理文档12、下列关于C语言中数的表示的叙述,正确的是A.只有整型数在允许范围内能精确无误的表示,实型数会有误差B.只要在允许范围内整型和实型都能精确的表示C.只有实型数在允许范围内能精确无误的表示,整型数会有误差D.只有用八进制表示的数才不会有误差13、下列关于算法的叙述,错误的是A.算法可以用伪代码、流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名15、设有以下语句char ch1,ch2; scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔16、下列选项中,非法的字符常量是A.’\102’B.’\65’C.’\xff’D.’\019’17、有以下程序#include <stdio.h>main(){int a=0,b=0,c=0;c=(a-=a-5); a=b,b+=4;p rintf(“%d, %d, %d\n”,a,b,c)}程序运行后输出的结果是A.0,0,0 B.0,4,5 C.4,4,4 D.4,4,518、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A.x++; printf((“%d\n”,x); B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x); D.n=x++; printf((“%d\n”,n); 19、以下选项中,能表示逻辑值“假”的是A.0 B.0.000001 C.1 D.100.020、有以下程序#include <stdio.h>main(){ int a;s canf(“%d”,&a);if (a++<9) printf((“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结果是A.8 B.9 C.10 D.11 21、有以下程序#include <stdio.h>int main(){int s=0,n;for (n=0;n<3;n++){switch(s){ case 0:case 1:s+=1;case 2:s+=2;break;case 3:s+=3;default:s+=4;}printf("%d,",s);}return 0;}程序运行后的结果是A.1,2,4, B.1,3,6 , C.3,6,10, D.3,10,14, 22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(“****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23、有以下程序#include <stdio.h>int main(){char a,b,c;b='1';c='A';for (a=0;a<6;a++){if(a%2) putchar(b+a);else putchar(c+a);}return 0;}程序运行后输出的结果是A.123456 B.1B3D5F C.A2C4E6 D.ABCDEF24、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A.*(k+2) B.k+2 C.*k+2 D.*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
C语言经典程序(精品)
C语言经典程序输入一段字符,统计输入的字符伪代码:开始置i的初值为0;置k的初值为0;置n的初值为1;定义p[];定义str字符串数组;输出提示语句;当k<500,向str字符串数组输入单词;使k=k+1,i=i+1;若输入的字符中有' '或'\0',使p[i]的整形变量加1,然后重新定义i为-1(跳过空格所占的字符);当n<20,使n=n+1,输出n,和p [n];主程序:#includevoid main() /*主函数*/{int i=0,k=0,n=1,p[20]={0}; /*定义变量,并初始化i=0,k=0,n=1,p[20]={0}*/ char str[500]; /*定义字符串数组*/printf("ent er some words(1-19)\n"); /*输出提示语句*/gets(str); /*输入字符*/for (k=0;k<500;k++,i++){if(str[k]==' '||str[k]=='\0'){p[i]++;i=-1; /*初始化i=-1跳过空格后,从0计数*/ } }printf("************************\n");printf("word length times \n");for(n=1;n<20;n++){printf("************************\n");printf(" %3d word: * %d *\n",n,p[n]);}}心得体会:通过此程序的编译,巩固了我的c程序设计的基础。
锻炼了我的耐心和细心程度,及分析和理解问题的能力。
在多次的实践运行中我总结了许多经验教训,积累了一些处理问题的能力。
在多次的调试程序后,我明白了程序调试的一般规律。
100个经典C语言编程
11000 计算A+B 的问题49%(655/1347) 53% 01C语言基础21001 Hello World!82%(693/848) 18% 01C语言基础31004 两个整数的值互换43%(530/1235) 58% 01C语言基础41068 计算三门课程总分和平均分41%(482/1190) 60% 01C语言基础51002 鸡兔同笼问题51%(443/872) 50% 02顺序结构61005 输出一个自然数的百位十位和个位上的各个数字63%(437/695) 37% 02顺序结构71006 输出字符(A-F)代表的十六进制数所对应的十进制值84%(387/462) 16% 02顺序结构81008 求华氏温度所对应的摄氏温度73%(407/556) 27% 02顺序结构91009 已知斜边和一直角边计算三角形的另一直角边76%(415/547) 24% 02顺序结构101069 已知三边计算三角形的面积64%(374/585) 36% 02顺序结构111070 输出小写字母的ASCII码及对应大写字母63%(378/602) 37% 02顺序结构121071 保留两位小数72%(335/467) 29% 02顺序结构131003 判断输入的一个字符是否是小写字母76%(373/492) 24% 03分支结构141007 简单字符加密变换A->F72%(322/450) 28% 03分支结构151010 判断输入的一个字符是什么类型的字符58%(337/583) 43% 03分支结构161011 判断一个学生的成绩等级70%(375/536) 30% 03分支结构171012 输出数字(1-7)对应的英文星期名称的简写63%(337/536) 38% 03分支结构181013 给定三个边长的值判断是否能够构成三角形53%(347/650) 47% 03分支结构191014 将输入的三个数按从小到大的顺序输出67%(308/460) 33% 03分支结构201015 编程计算一个分段函数75%(319/428) 25% 03分支结构211073 这个数能被3整除吗?68%(374/546) 32% 03分支结构221074 这个月有多少天?54%(290/542) 46% 03分支结构231075 模拟加减乘除计算器76%(274/361) 24% 03分支结构241076 输出三个数中的最大数和最小数77%(298/386) 23% 03分支结构251077 个人所得税问题(1)71%(275/389) 30% 03分支结构261078 出租车收费问题66%(226/340) 33% 03分支结构271079 学生综合测评问题49%(259/525) 51% 03分支结构281080 个人所得税问题(2)76%(247/327) 25% 03分支结构291081 他(她)的实足年龄是......55%(243/438) 44% 03分支结构301016 将一个小整数逆序输出70%(298/425) 30% 04循环结构311017 计算一个数字的各位数字之和70%(328/466) 30% 04循环结构321018 求两个数之间有多少个数的各位上数字之和为751%(209/412) 49% 04循环结构331019 判断一个整数是否是素数62%(273/440) 38% 04循环结构101个经典C语言编程例子341020 输出n - m 之间的所有素数80%(226/282) 20% 04循环结构351021 1到m之间有哪些数能被7或被11整除?82%(263/322) 18% 04循环结构361022 编程计算1+3+5+7+... 的值68%(321/472) 32% 04循环结构371023 计算 1 !+2 !+3 !+… 前n 项的和66%(307/466) 34% 04循环结构381024 输出100-999之间的所有水仙花数70%(244/347) 30% 04循环结构391025 求输出的数既是完全平方数又有两位相同的数76%(188/248) 24% 04循环结构401026 判断一个数是否是完数85%(199/233) 14% 04循环结构411027 求1+22+333+ … 前n 项的和53%(216/407) 47% 04循环结构421028 求sum=b+bb+bbb+bbbb+...70%(220/315) 31% 04循环结构431029 求1-1/2+1/3-1/4+1/5-1/6+ … 的前n项的值83%(229/277) 18% 04循环结构441030求1-1/(2*2)+1/(3*3)-1/(4*4)+1/(5*5)-1/(6*6)+ … 前n项值92%(208/226) 8% 04循环结构451031 编程计算∏的近似值59%(169/285) 41% 04循环结构461032编程计算1+x/2+2*x*x/3+3*x*x*x/5+ 5*x*x*x*x/8+ ……78%(120/153) 22% 04循环结构471033 打印图形72%(162/226) 29% 04循环结构481034 求解中国剩余定理的问题81%(167/205) 18% 04循环结构491035 哪些数加上n 后是完全平方数且加上m 后也是完全平方数66%(156/235) 34% 04循环结构501084 求解不定方程的非负整数的根94%(154/164) 6% 04循环结构511085 百钱百鸡问题96%(174/182) 4% 04循环结构521086 多少年后父亲的年龄是儿子的年龄的2倍77%(185/241) 23% 04循环结构531087 特殊的四位数96%(171/178) 4% 04循环结构541082 计算F(G(x))的值76%(155/204) 24% 05函数551083 哪些数是回文数?74%(111/150) 26% 05函数561088 编写阶乘函数求表达式的值91%(144/158) 8% 05函数571089 编程计算两个数的最大公约数92%(131/143) 9% 05函数581090 计算一个数的所有质因数64%(121/189) 37% 05函数591095 求递归函数的值96%(114/119) 4% 05函数601036 将一维数组中的数据按逆序重新存放81%(134/166) 20% 06数组和指针611037 统计一组数据中正数、负数和零的个数84%(127/152) 17% 06数组和指针621038 计算一组数据的平均值92%(132/144) 9% 06数组和指针631039 统计一个串中字母、数字和其它字符的个数66%(104/158) 31% 06数组和指针641040 判断一组数据是否是从小到大的76%(100/131) 24% 06数组和指针序列651041 判断一个字符串是否是回文78%(103/132) 22% 06数组和指针661042 数组中有这个数吗?76%(94/123) 24% 06数组和指针671043 求出二维数组中最大元素的值及其位置79%(97/123) 20% 06数组和指针681044 交换二维数组中最大元素和最小元素80%(87/109) 20% 06数组和指针691045 统计字符串中单词数量60%(85/142) 41% 06数组和指针701046 将一个字符串中所有字母转成大写87%(92/106) 13% 06数组和指针711047 删除字符串中的前导*号83%(90/109) 18% 06数组和指针721048 删除字符串的*号后缀76%(86/113) 15% 06数组和指针731049 删除字符串中所有的*号87%(92/106) 13% 06数组和指针741094 求矩阵的两对角线上的元素之和78%(66/85) 23% 06数组和指针751097 结构体:按成绩排序77%(43/56) 22% 07结构体761098 结构体:求最高分和最低分83%(40/48) 17% 07结构体771099 结构体:计算学生平均分74%(39/53) 27% 07结构体781100 结构体:在线编程评测系统的排名57%(34/60) 47% 07结构体791050 [初级竞赛题] 亲和数82%(89/109) 19% 09综合应用801051 [初级竞赛题] 陶陶摘苹果81%(70/86) 19% 09综合应用811052 [初级竞赛题] Lucky Number55%(36/66) 46% 09综合应用821053 [初级竞赛题] 阅读顺序61%(41/67) 38% 09综合应用831054 [初级竞赛题] Redraiment猜想97%(61/63) 3% 09综合应用841055 [初级竞赛题] Magic Number67%(20/30) 32% 09综合应用851056 [中级竞赛题] 不高兴的津津79%(46/58) 21% 09综合应用861057 [中级竞赛题] 整数拼数36%(26/73) 66% 09综合应用871058 [中级竞赛题] 最小倍数84%(36/43) 17% 09综合应用881059 [中级竞赛题] 循环移位84%(37/44) 16% 09综合应用891060 [中级竞赛题] 高低位交换85%(28/33) 16% 09综合应用901061 [中级竞赛题] 亲和数55%(35/64) 45% 09综合应用911062 [高级竞赛题] 分解因式97%(38/39) 3% 09综合应用921063 [高级竞赛题] 回文数87%(27/31) 14% 09综合应用931064 [高级竞赛题] 赋值问题43%(21/49) 60% 09综合应用941065 [高级竞赛题] 报数问题67%(28/42) 31% 09综合应用951066 [高级竞赛题] 移数问题74%(32/43) 26% 09综合应用961067 [高级竞赛题] 松鼠吃果子70%(30/43) 28% 09综合应用971091 [综合应用题] 自守数42%(14/33) 59% 09综合应用981092 [综合应用题] 角谷猜想95%(35/37) 6% 09综合应用991093 [综合应用题] 求解方程59%(40/68) 42% 09综合应用1001096 [综合应用题] 求同存异74%(37/50) 27% 09综合应用1011101 模拟EXCEL的排序39%(13/33) 61% 09综合应用。
c语言经典编程实例
c语言经典编程实例C语言作为一门经典的编程语言,拥有丰富的编程实例。
下面列举了十个经典的C语言编程实例。
1. 计算两个数的和这是一个非常简单的C语言编程实例,通过输入两个数,然后计算它们的和并输出。
可以使用scanf函数获取输入的两个数,然后使用加法运算符将它们相加,最后使用printf函数将结果输出。
2. 判断一个数是否为素数素数是指只能被1和自身整除的数。
这个实例可以通过循环判断给定的数是否能被2到它自身减1之间的数整除,如果能被整除,则不是素数,否则是素数。
3. 实现冒泡排序算法冒泡排序是一种简单的排序算法,通过比较相邻的两个元素并交换位置来实现排序。
可以通过循环嵌套和条件判断来实现冒泡排序算法。
4. 计算斐波那契数列斐波那契数列是一个经典的数列,每个数字都是前两个数字之和。
可以使用循环或递归的方式来计算斐波那契数列。
5. 判断一个字符串是否为回文字符串回文字符串是指正序和倒序读都相同的字符串。
可以通过比较字符串的首尾字符来判断是否为回文字符串。
6. 实现链表数据结构链表是一种常见的数据结构,可以通过指针来实现链表的创建、插入和删除操作。
7. 实现二叉树数据结构二叉树是一种常见的数据结构,可以通过指针来实现二叉树的创建、插入和删除操作。
8. 实现图数据结构图是一种常见的数据结构,可以通过邻接矩阵或邻接表来实现图的创建、添加和删除节点以及节点之间的连接关系。
9. 实现简单的计算器计算器是一个常见的应用程序,可以通过使用表达式解析和运算符优先级来实现一个简单的计算器。
10. 实现简单的画图程序画图程序可以通过使用图形库或者字符绘制来实现简单的图形绘制,如画直线、矩形、圆形等。
以上是十个经典的C语言编程实例,涵盖了基本的算术运算、数据结构和常见的应用程序。
通过学习和实践这些实例,可以提高对C语言的理解和应用能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
经典c程序100例==31--40【程序31】题目:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。
1.程序分析:用情况语句比较好,如果第一个字母一样,则判断用情况语句或if语句判断第二个字母。
2.程序源代码:#include <stdio.h>void main(){ char letter;printf("please input the first letter of someday\n");while ((letter=getch())!='Y')/*当所按字母为Y时才结束*/{ switch (letter){ case 'S':printf("please input second letter\n");if((letter=getch())=='a')printf("saturday\n");else if ((letter=getch())=='u')printf("sunday\n");else printf("data error\n");break;case 'F':printf("friday\n");break;case 'M':printf("monday\n");break;case 'T':printf("please input second letter\n");if((letter=getch())=='u')printf("tuesday\n");else if ((letter=getch())=='h')printf("thursday\n");else printf("data error\n");break;case 'W':printf("wednesday\n");break;default: printf("data error\n");}}}==============================================================【程序32】题目:Press any key to change color, do you want to try it. Please hurry up!1.程序分析:2.程序源代码:#include <conio.h>void main(void){ int color;for (color = 0; color < 8; color++){ textbackground(color);/*设置文本的背景颜色*/cprintf("This is color %d\r\n", color);cprintf("Press any key to continue\r\n");getch();/*输入字符看不见*/}}============================================================== 【程序33】题目:学习gotoxy()与clrscr()函数1.程序分析:2.程序源代码:#include <conio.h>void main(void){ clrscr();/*清屏函数*/textbackground(2);gotoxy(1, 5);/*定位函数*/cprintf("Output at row 5 column 1\n");textbackground(3);gotoxy(20, 10);cprintf("Output at row 10 column 20\n");}============================================================== 【程序34】题目:练习函数调用1. 程序分析:2.程序源代码:#include <stdio.h>void hello_world(void){ printf("Hello, world!\n");}void three_hellos(void){ int counter;for (counter = 1; counter <= 3; counter++)hello_world();/*调用此函数*/}void main(void){ three_hellos();/*调用此函数*/}============================================================== 【程序35】题目:文本颜色设置1.程序分析:2.程序源代码:#include <conio.h>void main(void){ int color;for (color = 1; color < 16; color++){ textcolor(color);/*设置文本颜色*/cprintf("This is color %d\r\n", color);}textcolor(128 + 15);cprintf("This is blinking\r\n");}============================================================== 【程序36】题目:求100之内的素数1.程序分析:2.程序源代码:#include <stdio.h>#include "math.h"#define N 101main(){ int i,j,line,a[N];for(i=2;i<N;i++) a[i]=i;for(i=2;i<sqrt(N);i++)for(j=i+1;j<N;j++){if(a[i]!=0&&a[j]!=0)if(a[j]%a[i]==0)a[j]=0;}printf("\n");for(i=2,line=0;i<N;i++){ if(a[i]!=0){ printf("%5d",a[i]);line++;}if(line==10){printf("\n");line=0;}}}==============================================================【程序37】题目:对10个数进行排序1.程序分析:可以利用选择法,即从后9个比较过程中,选择一个最小的与第一个元素交换,下次类推,即用第二个元素与后8个进行比较,并进行交换。
2.程序源代码:#define N 10main(){ int i,j,min,tem,a[N];/*input data*/printf("please input ten num:\n");for(i=0;i<N;i++){ printf("a[%d]=",i);scanf("%d",&a[i]);}printf("\n");for(i=0;i<N;i++)printf("%5d",a[i]);printf("\n");/*sort ten num*/for(i=0;i<N-1;i++){ min=i;for(j=i+1;j<N;j++)if(a[min]>a[j]) min=j;tem=a[i];a[i]=a[min];a[min]=tem;}/*output data*/printf("After sorted \n");for(i=0;i<N;i++)printf("%5d",a[i]);}==============================================================【程序38】题目:求一个3*3矩阵对角线元素之和1.程序分析:利用双重for循环控制输入二维数组,再将a[i][i]累加后输出。
2.程序源代码:main(){ float a[3][3],sum=0;int i,j;printf("please input rectangle element:\n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("duijiaoxian he is %6.2f",sum);}==============================================================【程序39】题目:有一个已经排好序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
1. 程序分析:首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
2.程序源代码:main(){ int a[1]={1,4,6,9,13,16,19,28,40,100};int temp1,temp2,number,end,i,j;printf("original array is:\n");for(i=0;i<10;i++)printf("%5d",a[i]);printf("\n");printf("insert a new number:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{ for(i=0;i<10;i++){ if(a[i]>number){temp1=a[i];a[i]=number;for(j=i+1;j<11;j++){ temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}}for(i=0;i<11;i++)printf("%6d",a[i]);}============================================================== 【程序40】题目:将一个数组逆序输出。