C语言程序设计经典例题
时间:2026-01-10
时间:2026-01-10
数组中找最大最小数及其位置 #include <stdio.h> #define N 10 void main() { int i,max,min, a[N]; printf("请输入10个整数:"); for(i=0;i<N;i++) scanf("%d",&a[i]); max=0; min=0; for(i=1;i<N;i++) { if(a[i]>a[max]) max=i; }
for(i=1;i<N;i++) { if(a[i]<a[min]) min=i; } printf("最小数=%d,在数组中的下标是:%d\n",a[min],min); printf("最大数=%d,在数组中的下标是:%d\n",a[max],max); }
冒泡法排序
#include <stdio.h> #define N 10 void main() {
int i,j,t,a[N]; printf("请输入10个整数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<N-1;i++) { for(j=0;j<N-i-1;j++) if(a[j]>a[j+1]) { t=a[j]; a[j]=a[j+1]; a[j+1]=t; } }
for(i= 0;i<10;i++) printf("%d ",a[i]); printf("\n"); }
选择法排序
#include <stdio.h> #define N 10 void main() {
int i,j,t,a[N]; printf("请输入10个整数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0; i<N-1; i++) for(j=i+1; j<N; j++) if(a[i] > a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } for(i= 0;i<10;i++) printf("%d ",a[i]); printf("\n"); }
插入法排序
#include <stdio.h> #define N 10 void main(void) {
int i,j,t,k,a[N]; printf("请输入10个整数:"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=1;i<=N-1;i++) { t=a[i]; if(a[i]<a[0]) k=0; else for(j=0;j<=i-1;j++) if(a[i]>a[j])
k=j+1; for(j=i-1;j>=k;j--) a[j+1]=a[j]; a[k]=t; } for(i= 0;i<10;i++) printf("%d ",a[i]); printf("\n"); }
统计数据中不同数字个数 #include <stdio.h> void main(void) { int a[10]={0}; int i; char c; printf("请输入一个数据,以回车结束:\n"); while((c=getchar())!='\n') { if(c>='0' && c<='9') a[c-'0']++; } for(i=0;i<10;i++) if(a[i]!=0) printf("%c:%d个\n",'0'+i,a[i]); }
统计单词中个字母的次数 #include <stdio.h> void main(void) { int a[26]={0}; int i; char c; printf("请输入一串英文,以回车结束:\n"); while((c=getchar())!='\n') { if(c>='a' && c<='z') a[c-'a']++; else if(c>='A' && c<='Z') a[c-'A']++; }
for(i=0;i<26;i++) if(a[i]!=0) printf("%c:%d个\n",'A'+i,a[i]); }
找100以内的素数,并以10个一行输出 #include <stdio.h> #include <math.h> void main(void) {
int i,j,c; int a[100];
for(i=0;i<100;i++) a[i]=i+1;
a[0]=0;
for(i=0;i<sqrt(100);i++) if(a[i]!=0)
for(j=i+1;j<100;j++)
if(a[j]%a[i]==0) a[j]=0;
c=0;
for(i=0;i<100;i++) if(a[i]!=0) { printf("%5d",a[i]); c++; if(c%10==0) printf("\n"); } }
矩阵转置
#include <stdio.h> #define M 3 void main() {
int i,j,t,a[M][M]; for(i=0;i<M;i++) for(j=0;j<M;j++) scanf("%d",&a[i][j]); for(i=0;i<M;i++)
{ t=a[i][j]; a[i][j]=a[j][i]; a[j][i]=t; } for(i=0;i<M;i++) { for(j=0;j<M;j++) printf("%4d",a[i][j]); printf("\n"); } }
5行5列矩阵 #include<stdio.h> #define N 5 void main() { int i,j,a[N][N]; int s1=0,s2=0,s3=0,s4=0,min,max,row=0,col=0; printf("输入5行5列矩阵:\n"); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&a[N][N]); for(i=0;i<5;i++) for(j=0;j<5;j++) s1+=a[i][j]; printf("所有元素的和为%d\n",s1); for(i=0;i<5;i++) s2+=a[i][i]+a[4][0]+a[3][1]+a[1][3]+a[0][4]; printf("主副对角线之和为%d\n",s2); for(i=0;i<5;i++) s3+=(a[i][0]+a[i][4]); for(j=0;j<5;j++) s3+=(a[0][j]+a[4][j]); s3=s3-a[0][0]-a[0][4]-a[4][0]-a[4][4]; printf("所有靠边元素和为%d\n",s3); s4=s1-s3;
printf("所有内部元素的和为%d\n",s4); max=a[0][0]; min=a[0][0]; for(i=0;i<5;i++)
{ if(a[i][j]>max) { max=a[i][j]; row=i; col=j; } } printf("最大值为%d,行号为%d,列号为%d\n",max,row,col); for(i=0;i<5;i++) for(j=0;j<5;j++) { if(a[i][j]<min) { min=a[i][j]; row=i; col=j; } } printf("最小值为%d,行号为%d,列号为%d\n",min,row,col); }
最大行最小行交换 #include <stdio.h> int main(void) { int arr[5][5],sum[5]; int i,j; int t,max=0,min=0,p,q; printf("请输入5*5的矩阵数据:\n"); for(i=0;i<5;i++) { sum[i]=0; for (j=0;j<5;j++) { scanf("%d",&arr[i][j]); sum[i]+=arr[i][j]; } } max=sum[0]; p=0; min=sum[0];
q=0; for (i=1;i<5;i++) { if (max<sum[i]) { t=max;max=sum[i];p=i; } if (min>sum[i]) { t=min;min=sum[i];q=i; } } if (p!=q) { for (i=0;i<5;i++) { t=arr[p][i];arr[p][i]=arr[q][i];arr[q][i]=t; } } printf("交换后为:\n"); for (i=0;i<5;i++) { for (j=0;j<5;j++) { printf("%d ",arr[i][j]); } printf("\n"); } return 0; }
字符串复制
#include <stdio.h> #include<string.h> void main() { char st1[30]="My name is",str2[]="John."; puts(str1); puts(str2); strcpy(str1,str2); puts(str1); puts(str2); }
字符串 判断是否回文 #include<stdio.h> void main() { char string[80]; int i,j,n; gets(string); n=strlen(string); j=n-1; for(i=0;i<j;i++,j--) if(string[i]!=string[j])break; if(i==j) printf("Yes\n"); else printf("No\n"); …… 此处隐藏:3566字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:第三章 确保工期的技术组织措施